TransformDirection()
Transform.TransformDirection은 local space의 `direction`을 world space의 direction으로 변환한다. 해당 연산은 scale이나 position에 영향을 받지는 않는다. 반환된 벡터의 길이는 `direction`과 같다.
그러나 해당 공식 문서의 설명만으로는 헷갈리는 감이 있어, 아래에 첨부한 참고자료를 살펴보고, 직접 사용해보며 내린 결론을 정리해서 다음과 같이 부연 설명을 덧붙인다.
`TransformDirection()`함수를 사용할 때는 인자로 넘겨준 direction을 로컬 좌표계로 취급하는데, 이는 TransformDirection()을 호출한 gameobject의 로컬 좌표계를 기준으로 잡는다.
Vector3 look = transform.TransformDirection(Vector3.forward);
`TransformDirection()`을 통해 로컬 좌표계를 월드 좌표계 기준으로 성공적으로 변환하게 되면 Vector값을 반환한다. 이 덕분에 TransformDirection()을 컨트롤하는 캐릭터에서 호출하게 되면 해당 함수에 전달된 direction은 로컬 좌표계 기준이므로 방향은 캐릭터의 전면부(보통은 +z축)가 된다.
참고자료
'유니티에서 게임개발을 추구하면 안되는걸까' 카테고리의 다른 글
[Unity] Renderer.materials, Renderer.sharedMaterials (0) | 2024.11.08 |
---|---|
[Unity] 3D Project에서 2D Scene 생성 (0) | 2024.08.14 |
[Unity] Time 클래스의 프로퍼티들 (0) | 2022.01.28 |
[Unity] 유니티 디버깅 하는 방법 (Visual Studio) (0) | 2021.09.04 |
[Unity, C#] 모바일 UI 터치방지 (0) | 2021.06.02 |