프로젝트에서 카메라의 이동 방향을 알아내어 플레이어가 그 방향으로 움직이게 하는 코드를 구현하고 있었다.
하지만 Vector와 Transform에 대한 확실한 개념이 잡혀있지 않았다. 그렇기에 방향에 관한 개념을
정리하고자 한다.
1. 방향을 나타내는 Vector3
Vector3는 World의 방향성을 나타낸다. 그렇기 때문에 Rotate값을 주어도 방향은 바뀌지 않는다.
즉, 방향을 고려하지 않는다.
1 - 1. Vector3의 방향
Vector3.up == Vector3(0, 1, 0)
Vector3.down == Vector3(0, -1, 0)
Vector3.forward == Vector3(0, 0, 1)
Vector3.back == Vector3(0, 0, -1)
Vector3.left == Vector3(-1, 0, 0)
Vector3.right == Vector3(1, 0, 0)
Vector3.zero == Vector3(0, 0, 0)
Vector3.one == Vector3(1, 1, 1)
2. 방향을 나타내는 Transform
Transform은 게임 오브젝트가 가지는 Local의 방향성을 나타낸다. Transform.forward는
Vector3.forward와 달리 방향성을 고려하여 게임 오브젝트를 이동한다.
2 - 1. Transform의 방향
Transform.forward
Transform.right
Transform.up
3. 의문점
Vector3는 다양한 방향을 나타내지만 Transform은 왜 3가지 밖에 표현못할까?
그 이유는 Transform은 방향을 고려하며 이동하기 때문이다.
Transform.forward = 앞 방향
앞 방향 = Z축
Transform.up = 윗 방향
윗 방향 = Y축
Transform.right = 오른쪽 방향
오른쪽 방향 = X축
결론은 X, Y, Z축을 기준으로 이동하기 때문에 3가지만 있는 것이다.
'TIL > Unity' 카테고리의 다른 글
[Unity] Input Action 적용법 (1) | 2023.10.13 |
---|---|
[Unity] UI 활성화 시 캐릭터 동작 멈추기 (1) | 2023.10.11 |
[Unity 3D] 간단한 카메라 설정 Virtual Camera (1) | 2023.10.06 |
[Unity 3D] 간단한 건물 제작 기능 ProBuilder (0) | 2023.10.05 |
[Unity] 애니메이션 동작에 함수넣기 (0) | 2023.10.04 |