티스토리 뷰
Unity 공식 사이트에서의 TransformDirection 함수는 아래와 같이 설명되어 있습니다.
로컬공간에서 월드공간으로 /direction/을 변환합니다
즉 TransformDirection 함수는 해당 transform의 로컬공간에서의 벡터를 월드공간에서의 벡터로 바꿔주는 함수입니다.
예를들면 오브젝트를 정면으로 움직이게 하기 위해
transform.position = transform.position + transform.TransformDirection(Vector3.forward); 처럼 사용할 수 있습니다.
물론 transfomr.Translate(Vector3.forward); 처럼 편하게 구현할 수 있지만 Rigidbody, CharacterController와 같이
상대 좌표가 아닌 월드 좌표로 오브젝트를 움직이게 해야할 경우 TransformDirection 함수가 용이합니다.
forward = transform.TransformDirection(Vector3.forward);
forward = transform.localToWorldMatrix * Vector3.forward;
forward = transform.forward;
위의 코드는 모두 같은 정면을 나타냅니다
'Unity' 카테고리의 다른 글
[C#,Unity] 특정 값을 제외한 랜덤 값 구하기 (0) | 2019.04.11 |
---|
댓글