2020. 5. 25. 16:24ㆍUnity/Unity [Tutorial]
*2편의 다음 게시글입니다.
https://jaeho0613.tistory.com/135
4. Move Type
- Rigidbody를 이용합니다.
- 디렉트 타입
- 카메라 다이렉트 타입
- 백 스탭 타입
총 3가지 타입의 움직임을 구현합니다.
우선 캐릭터를 설정해줍니다.
기존 캐릭터를 프리 팹으로 설정해주고
이름을 Player로 설정해주겠습니다.
그리고 Rigidbody를 이용한 움직임을 구현하기 때문에
컴포넌트를 추가시켜주고
충돌 감지를 위한 Capsule Collider 또한 추가시켜줍니다.
설정은 이렇게 해주시면
적당하게 콜라이더가 위치하게 됩니다.
이제 스크립트를 적용시켜 주겠습니다.
스크립트는 총 2개로
PlayerInput : 입력 감지를 위한 스크립트
PlayerMovement : 움직임을 위한 스크립트
입력을 감지하는 부분을 따로 분리하여 작성했습니다.
Player에게 적용시켜준 후
이제 작성해 보겠습니다.
- PlayerInput.cs
크게 설명할 부분은 없습니다.
단순히 입력값에 대해서만 판단해 주는 스크립트입니다.
프로퍼티를 이용해서 읽기 전용으로만 만들어 주었습니다.
- PlayerMovement.cs
코드 전문입니다.
주석으로 설명을 써놓긴 했습니다.
이제 유니티 상에서
Grounded Layer를 Ground로 설정해줍니다.
* 땅 오브젝트 설정
이제 플레이를 해보시면
각 Move Type에 따른 움직임이 실행됩니다.
Look Cam의 경우 카메라를 이동해보면서 캐릭터의 방향성이
어떻게 변하는지 확인하시면 되겠습니다!
* 추가 사항
LookCamMove타입의 경우 카메라의 회전값에 따라
캐릭터의 회전 변경이 부자연스럽게 됩니다.
저 부분만 수정하면 됩니다.