데브허브 | DEVHUB | 3D Survival Game Tutorial | Unity | Part 67 - Horse Riding/Mount System3D Survival Game Tutorial | Unity | Part 67 - Horse Riding/Mount System
- 시청자 요청에 따라 유니티 게임에 간단한 말 탑승 시스템(탑승, 이동, 하차)을 구현하는 튜토리얼을 시작합니다. 🐎
- 도구 내구도 소진 시 퀵 슬롯이 선택된 상태로 유지되는 버그를 수정하고, 아이템 파괴 시 모든 슬롯을 선택 해제하도록 로직을 개선했습니다. 🛠️
- 코드 중복을 제거하고 재사용성을 높이기 위해
UnselectAllSlots 및 SetAllTextGray 메서드를 분리하고, DestroyImmediate 대신 Destroy 사용을 권장했습니다. ♻️
- 무료 말 에셋을 활용하며, 더 사실적인 모델과 애니메이션, 또는 완전한 승마 시스템을 포함하는 유료 에셋 옵션도 함께 소개했습니다. 💰
- 무료 에셋 임포트 시 발생하는
CreatureMover.cs 스크립트 오류를 파일 삭제 또는 코드 수정을 통해 해결하는 방법을 제시했습니다. 🐛
- URP 환경에서 에셋 재질이 올바르게 표시되도록 URP 재질로 변환하는 과정을 설명했습니다. ✨
- 말 프리팹을 씬에 배치하고 크기를 조절하며, 불필요한 스크립트를 제거하고
Animator와 CharacterController를 유지하는 초기 설정을 진행했습니다. 🐴
- "speed" float 파라미터를 사용하여 Idle, Walk, Run 애니메이션을 제어하는 1D 블렌드 트리가 포함된 커스텀 애니메이터 컨트롤러(
HorseMount)를 생성하고 적용했습니다. ⚙️
- 플레이어가 말을 탈 수 있는 영역을 정의하기 위해 말에
MountTrigger 빈 게임 오브젝트와 CapsuleCollider(트리거)를 추가하여 탑승 가능 범위를 설정했습니다. 🎯
- GitHub에서 제공되는
HorseController.cs 스크립트를 말에 추가하여 이동, 애니메이션, 발소리 재생을 처리하고, SaddlePoint를 통해 플레이어 탑승 위치를 지정했습니다. 📜
- 말에
AudioSource를 추가하고, 짧은 걷기/달리기 발소리 클립을 할당하여 각 스텝에 맞춰 재생되도록 오디오 설정을 완료했습니다. 🔊
MountTrigger.cs 스크립트를 생성하여 플레이어가 탑승 영역에 들어오고 나갈 때 canMount 상태를 관리하고, 탑승/하차 키 입력을 처리할 준비를 마쳤습니다. 🔑