유니티의 Character Controller는 여러 용도로 많이 쓰인다. 리지드바디를 사용할 수 없다는 단점이 있긴 하지만... 그래서 프로젝트에 적용하던 중, 캐릭터 컨트롤러의 Move 메서드를 사용하면 바라보는 방향과 다르게 움직이는 것을 발견.
공식 문서를 보니 절대값 이동이네요. 즉 월드좌표로만 이동한다는 것... 즉, 움직일 벡터를
월드 좌표로 변환해서 써야 된다는 소리다.
다음 코드와 같이 transform.TransformDirection(Vector3 direction) 을 이용하면 쉽게 해결된다.
controller.Move(Time.deltaTime * speed * transform.TransformDirection(moveDir.normalized));
|
'Unity > 내가 배운것들' 카테고리의 다른 글
유니티 HDRP 라이팅 얼룩문제 해결방법 (0) | 2020.01.30 |
---|