유니티 입문 과정을 배우면서 Vector3라는 개념이 자주 등장했다.
이번 기회에 Vector3에 대해 정리하고 넘어가야겠다
Vector3는 3차원 공간에서의 방향과 크기를 나타내는 구조체이다.
유니티에서 위치, 방향, 속도 같은 걸 표현할 때 거의 무조건 Vector3를 사용한다고 보면 된다.
Vector3 vector = new Vector3(1f, 2f, 3f);
// x = 1, y = 2, z = 3
Vector3 a = new Vector3(1, 2, 3);
Vector3 b = new Vector3(4, 5, 6);
Vector3 c = a + b; // (5, 7, 9);
Vector3 d = a * 2f; // (2, 4, 6)
float distance = Vector3.Distance(a, b);
Vector3 dir = a.normalized;
public float speed = 5f; // 이동 속도
void Update()
{
// Time.deltaTime은 한 프레임이 걸린 시간
// 매 프레임마다 앞으로 이동
transform.position += Vector3.forward * speed * Time.deltaTime;
}
게임 오브젝트 이동, 회전, 속도 등 거의 3D 동작은 Vector3에서 다루는 거라고 보면 될 거 같다.
추가로 2D 에서는 Vector2, 4D 에서는 Vector4도 있지만, 유니티에서는 Vector3를 제일 많이 쓴다.
(Vector2나 Vector4에 대해서는 나중에 따로 다뤄보자)