본문 바로가기

유니티 개발 관련

locomotion system 연동하기

목표: 유니티의 locomotion system 이라는 에셋을 설치하면 나오는 메뉴얼을 참고해서, 실제 내 작업에 적용해본다.

 

1. 캐릭터를 0,0,0에 두기

 -> ㅇㅋ

 

2. Floor를 생성하기.

 -> ㅇㅋ

 

3. Character controller 컴포넌트를 붙이기. 

이런 방식으로 붙여줬다. 높이 조절 등이 필요하다. 

그런데 조절을 위한 기즈모가 표현이 안된다. 원인이 뭔지는 잘 모르겠다. HDRP? 이것 때문인가 싶기도 하다. 그냥 예제값인 Center Y 0.88, Radius 0.2, Height 1.6 를 이용해주었다.

 

4. Normal Character Motor 스크립트를 붙여준다. 

위 경로에 있다.

 

5. Platform Character Controller 스크립트를 붙여주기 

위와 같은 경로에 있다.

 

6. Character Controller에 동봉된 collider가 잘 작동하나 확인이 필요하다. 바닥면을 뚫어도 안되고, 떠있어도 안된다. 테스트해보자. 

살짝 뚫긴하는데... center y를 0.87로 조금 낮춰주었다. 

 

7. Animation 컴포넌트가 있는지 확인. 

 -> 없어서 만들어주었다. 

이런식으로 할당해주었다.

 

8. Leg controller 스크립트를 붙여주자.

이 경로에 있다. 

 

9. Leg controller 내 Ground height 맞추기

 -> 0으로 지정했다. 이쪽도 기즈모가 안나와서 곤란하다. 

 

10. idle 애니메이션을 Grounded Pose에 넣어주기

 -> 만들어둔 애니메이션 삽입 완료

 

11. root 본은 설정해주기

 

 ->인스펙터 창에 나오는 root를 넣어주었다. 

 

12. leg 설정하기

위 이미지처럼 세팅 완료. 이쪽도 기즈모가 안나와서....

 

13. 소스 애니메이션 세팅

->애니메이션 컨트롤러가 안달려있으면 위 창과 같이 내용물이 뜨질 않는다. 그래서 애니메이션 컨트롤러에 해당 애니메이션을 모두 넣어서 달아줬더니 위 처럼 나온다. 

 

14. idle 모션을 grounded로, walkforward를 walkcycle로 설정. 

 -> 손쉽게 설정 완료. 애니메이션 이름을 take 001로 똑같이 만들어놔서 좀 곤란하긴 했지만..

이렇게 하고 이니셜라이즈 실시

 

15. Leg Animator 스크립트 붙이기 

 -> 쉽게 완료

 

16. 캐릭터 레이어를 Player로 변경

인스펙터 창에서 바꾸면 된다. 창이 뜨길래 그냥 yes 클릭

 

17. 플레이해보기

애니메이션 플레이를 안하는 문제가 보인다. 이유가 뭘까? 

 

애니메이터를 보니 애니메이션이 끝나있다. 

 

애니메이션 속도가 느린건 따로 조절했다.