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);
벡터 활용 예제
- 이동과 방향 설정
- 캐릭터가 특정 방향으로 이동할 때 벡터 덧셈을 사용합니다.
- 충돌 감지시 객체 간의 거리를 벡터 뺄셈으로 계산합니다.
- 물리적 힘의 계산
- 물체에 힘을 가할 때, 여러 힘의 벡터를 덧셈하여 총합을 계산합니다.
- 정규화된 방향 계산
- 게임 내 특정 방향으로 발사체를 유도할 때 사용합니다.
- 속도 계산
- 자동차 게임에서 바퀴의 회전 속도를 계산하는 데 사용합니다.
결론
벡터는 Unity에서 중요한 역할을 하며, 벡터 연산에 대한 이해는 게임 개발의 여러 부분에 활용될 수 있습니다. 이 문서에서 설명한 기본적인 벡터 연산과 클래스들의 용도를 이해한다면, Unity에서의 스크립팅 능력을 크게 향상시킬 수 있습니다.