본문 바로가기

분류 전체보기142

Chapter 2-3. 무기 : 총 피격 구현 Chapter 2. 무기 총 피격 구현 총알이 맞는 곳의 피격 효과 🚖 피격 위치 확인 📜GunController.cs // 추가한 멤버 변수 private RaycastHit hitInfo; // 총알의 충돌 정보 [SerializeField] private Camera theCam; // 카메라 시점에서 정 중앙에 발사할 거라서 private void Shoot() // 실제 발사 되는 과정 { // 발사 처리 currentGun.currentBulletCount--; currentFireRate = currentGun.fireRate; // 연사 속도 재계산 PlaySE(currentGun.fire_Sound); currentGun.muzzleFlash.Play(); // 피격 처리 Hit(); /.. 2024. 3. 11.
Chapter 2-2. 무기 : 총 구현 2️⃣ (재장전, 정조준, 반동) Chapter 2. 무기 총 구현 🚖 재장전 📜Gun.cs public int reloadBulletCount; // 총의 재장전 개수. 재장전 할 때 몇 발씩 될지. 총의 종류마다 다름. public int currentBulletCount; // 현재 총 안의 탄창에 남아있는 총알의 개수. public int maxBulletCount; // 총알을 최대 몇 개까지 소유할 수 있는지. public int carryBulletCount; // 현재 총 바깥에서 소유하고 있는 총알의 총 개수. 📜GunController.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class GunContro.. 2024. 3. 11.
Chapter 2-1. 무기 : 총 구현 1️⃣ (애니메이션, 파티클, 오디오) Chapter 2. 무기 총 구현 🚖 총 플레이어에게 붙이기 서브 머신건을 들고 있는 팔 모델 프리팹을 씬에 임포트 한다. 이름은 “SubMachineGun1”로 바꿔준다. Player Main Camera Weapon Camera Holder (📜HandController.cs, 📜GunController.cs) Handle Holder 서브 머신건 트랜스폼을 맞추기 위해 잠깐 비활성화 해두었다. Hand (📜Hand.cs) Gun Holder 빈 게임 오브젝트로 총 오브젝트를 자식으로 두며 총의 트랜스폼을 대신 담당 한다. 위치 (0, -0.8, 0), 회전 (0, 90, 0) 👈 기본 팔 붙일 때와 마찬가지로 Y축 90도 회전시켜 줌. SubMachineGun1 (📜Gun.cs) 트랜스폼은 원점으로.. 2024. 3. 11.
Chapter 1-4. 캐릭터, 지형 : 팔 구현, 팔 애니메이션, 서브 카메라 Chapter 1. 캐릭터 움직이기 & 지형 제작 팔 구현 🙋‍♀️ 팔 붙이기 Player 캡슐 모양의 플레이어 오브젝트 자식 Main Camera 플레이어의 자식으로서 플레이어를 따라다니며 플레이어의 1인칭 카메라가 되어 줄 오브젝트 Hand Holder 빈 게임 오브젝트로서 팔 모델의 부모 오브젝트로 설정하여 팔 모델의 트랜스폼엔 변화를 주지 않고 이 “Hand Holder” 오브젝트의 트랜스폼에만 변화를 주어 Player 오브젝트 내에서 팔 모델이 자리를 잡도록 한다. 카메라에 팔이 알맞는 위치로 잡히도록 Position은 (0, 0.5, -1.3), Rotation은 (0, 90, 0)으로 하였다. Y 축 중심으로 90 도 회전하여 카메라에 1인칭 시점으로 팔이 나오도록 카메라 방향과 일치시키도록.. 2024. 3. 11.
Chapter 1-3. 캐릭터, 지형 : 지형 제작 Chapter 1. 캐릭터 움직이기 & 지형 제작 지형 제작 Hierarchy - Create - 3D Object - Terrain 이렇게 Terrain을 만들면 아주 큰 개활지가 생긴다. 이렇게 유니티에서는 직접 개발자가 지형을 제작할 수 있는 툴을 제공한다. Terrain은 피봇(중심점) 위치가 중심점이 아님 모서리 (0, 0, 0) 기준으로 찍혀 있는게 디폴트 상태다. 🙋‍♀️ Terrain 컴포넌트 소개 Terrain을 3D 오브젝트로 생성하면 자동으로 Terrain 컴포넌트가 붙게 된다. 두 번째 탭 - Paint Terrain Raise or Loser Terrain 지형의 고도 높이고 낮추기 브러쉬를 선택한 후 Terrain 오브젝트에 좌클릭하면 지형의 높이가 높아진다! Shift를 누른채.. 2024. 3. 11.
Chapter 1-2. 캐릭터, 지형 : 달리기, 부드럽게 앉기, 점프 Chapter 1. 캐릭터 움직이기 & 지형 제작 캐릭터 움직이기 - 심화 📜PlayerController.cs using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerController : MonoBehaviour { // 스피드 조정 변수 [SerializeField] private float walkSpeed; [SerializeField] private float runSpeed; [SerializeField] private float crouchSpeed; private float applySpeed; // 점프 정도 [SerializeField] private float ju.. 2024. 3. 11.