Unity/내가 배운것들

유니티 Character Controller 바라보는 방향으로 이동

OSOR2 2020. 1. 28. 00:12

 유니티의 Character Controller는 여러 용도로 많이 쓰인다. 리지드바디를 사용할 수 없다는 단점이 있긴 하지만... 그래서 프로젝트에 적용하던 중, 캐릭터 컨트롤러의 Move 메서드를 사용하면 바라보는 방향과 다르게 움직이는 것을 발견. 

 

출처: 유니티 API 문서

공식 문서를 보니 절대값 이동이네요. 즉 월드좌표로만 이동한다는 것... 즉, 움직일 벡터를 

월드 좌표로 변환해서 써야 된다는 소리다. 

 

다음 코드와 같이 transform.TransformDirection(Vector3 direction) 을 이용하면 쉽게 해결된다. 

 controller.Move(Time.deltaTime * speed * transform.TransformDirection(moveDir.normalized));