Unity 매뉴얼: 스크립팅 API

개요

이 문서에서는 Unity에서 사용되는 주요 벡터 클래스와 이들의 연산에 대해 설명합니다. 벡터는 방향과 크기를 나타내는 기본적인 수학적 개념이며, 게임 개발에서 캐릭터의 위치, 객체의 이동 속도, 두 객체 간 거리 등을 표현할 때 필수적입니다. Unity에서는 Vector2, Vector3, Vector4 클래스를 제공하여 2D, 3D, 4D 벡터 작업을 지원합니다.

핵심 클래스

클래스 이름 설명
Vector2 2D 벡터를 나타내는 클래스입니다.
Vector3 3D 벡터를 나타내는 클래스입니다.
Vector4 4D 벡터를 나타내는 클래스입니다.

벡터 연산 이해하기

덧셈

벡터의 덧셈은 물리적 위치를 계산하는 데 자주 사용됩니다. 예를 들어, 특정 지점에서 위로 5 유닛 이동하고자 하며, 다음과 같이 작성할 수 있습니다.

var pointInAir = pointOnGround + new Vector2(0, 5);

뺄셈

벡터의 뺄셈을 통해 한 객체에서 다른 객체까지의 거리와 방향을 구할 수 있습니다. 이때 두 벡터의 순서가 중요합니다.

var d = a - b; // a에서 b까지의 방향 벡터

스칼라 곱셈 및 나눗셈

벡터에 스칼라를 곱하거나 나누면 벡터의 크기를 조정할 수 있습니다. 예를 들어, 벡터를 정규화 하여 크기가 1인 벡터로 만들 수 있습니다.

var normalized = vector / vector.magnitude;

내적

내적은 두 벡터 사이의 관계를 나타내는 유용한 방법입니다. 주어진 두 벡터에 대해 스칼라를 반환합니다. 내적을 사용하면 개체의 속도를 계산할 수 있습니다.

var fwdSpeed = Vector3.Dot(rigidbody.velocity, transform.forward);

외적

외적은 3D 벡터에서 두 벡터에 수직인 벡터를 생성합니다. 결과 벡터의 방향은 "오른손 규칙"을 사용하여 결정할 수 있습니다.

var normal = Vector3.Cross(side1, side2);

벡터 활용 예제

  1. 이동과 방향 설정
  2. 캐릭터가 특정 방향으로 이동할 때 벡터 덧셈을 사용합니다.
  3. 충돌 감지시 객체 간의 거리를 벡터 뺄셈으로 계산합니다.
  4. 물리적 힘의 계산
  5. 물체에 힘을 가할 때, 여러 힘의 벡터를 덧셈하여 총합을 계산합니다.
  6. 정규화된 방향 계산
  7. 게임 내 특정 방향으로 발사체를 유도할 때 사용합니다.
  8. 속도 계산
  9. 자동차 게임에서 바퀴의 회전 속도를 계산하는 데 사용합니다.

결론

벡터는 Unity에서 중요한 역할을 하며, 벡터 연산에 대한 이해는 게임 개발의 여러 부분에 활용될 수 있습니다. 이 문서에서 설명한 기본적인 벡터 연산과 클래스들의 용도를 이해한다면, Unity에서의 스크립팅 능력을 크게 향상시킬 수 있습니다.