Vector3는 UnityEngine 구조체이다
쉽게 생각하면 다음과 같다 물론 실제는 좀더 복잡하다.
public struct Vector3 :IEquatable<Vector3>, IFormattable{
public float x;
public float y;
public float z;
public static Vector3 right {get;}
public static Vector3 left {get;}
public static Vector3 up {get;}
public static Vector3 down {get;}
public static Vector3 foward {get;}
public static Vector3 back {get;}
}
이 구조는 Unity 전체에서 3D 위치와 방향을 전달하는 데 사용됩니다. 또한 일반적인 벡터 연산을 수행하기 위한 함수도 포함되어 있습니다.
아래 나열된 함수 외에도 다른 클래스를 사용하여 벡터와 점을 조작할 수도 있습니다. 예를 들어 Quaternion 및 Matrix4x4 클래스는 벡터와 점을 회전하거나 변환하는 데 유용합니다.
정적 변수
back | Vector3(0, 0, -1) 작성에 대한 약어. |
down | Vector3(0, -1, 0) 작성에 대한 약어. |
forward | Vector3(0, 0, 1) 작성에 대한 약어. |
left | Vector3(-1, 0, 0) 작성에 대한 약어. |
negativeInfinity | Vector3( float.NegativeInfinity , float.NegativeInfinity , float.NegativeInfinity ) |
one | Vector3(1, 1, 1) 작성에 대한 약어. |
positiveInfinity | Vector3( float.PositiveInfinity , float.PositiveInfinity , float.PositiveInfinity ) |
right | Vector3(1, 0, 0) 작성에 대한 약어. |
up | Vector3(0, 1, 0) 작성에 대한 약어. |
zero | Vector3(0, 0, 0) 작성에 대한 약어. |
변수
magnitude | 이 벡터의 길이를 반환합니다(읽기 전용). |
normalized | 크기가 1인 이 벡터를 반환합니다(읽기 전용). |
sqrMagnitude | 이 벡터의 제곱 길이를 반환합니다(읽기 전용). |
this[int] | 각각 [0], [1], [2]를 사용하여 x, y, z 구성 요소에 액세스합니다. |
x | 벡터의 X 구성요소. |
y | 벡터의 Y 구성 요소입니다. |
z | 벡터의 Z 구성 요소입니다. |
생성자
Vector3 | 지정된 x, y, z 구성 요소로 새 벡터를 만듭니다. |
Public 함수
Equals | 주어진 벡터가 이 벡터와 정확히 같으면 true를 반환합니다. |
Set | 기존 Vector3의 x, y 및 z 구성요소를 설정합니다. |
ToString | 이 벡터에 대해 형식이 지정된 문자열을 반환합니다. |
Static 함수
Angle | 및에서 벡터 사이의 각도를 계산합니다. |
ClampMagnitude | maxLength 로 고정된 벡터의 복사본을 반환합니다 . |
Cross | 두 벡터의 외적. |
Distance | a와 b 사이의 거리를 반환합니다. |
Dot | 두 벡터의 내적. |
Lerp | 두 점 사이를 선형 보간합니다. |
LerpUnclamped | 두 벡터 사이를 선형 보간합니다. |
Max | 두 벡터의 가장 큰 구성 요소로 만들어진 벡터를 반환합니다. |
Min | 두 벡터의 가장 작은 구성 요소로 만들어진 벡터를 반환합니다. |
MoveTowards | maxDistanceDelta 로 지정된 거리보다 더 멀리 이동하지 않고 현재 및 대상으로 지정된 점 사이의 위치를 계산합니다 . |
Normalize | 이 벡터의 크기를 1로 만듭니다. |
OrthoNormalize | 벡터를 정규화하고 서로 직교하도록 만듭니다. |
Project | 벡터를 다른 벡터에 투영합니다. |
ProjectOnPlane | 평면에 수직인 법선으로 정의된 평면에 벡터를 투영합니다. |
Reflect | 법선에 의해 정의된 평면에서 벡터를 반사합니다. |
RotateTowards | 대상을 향해 벡터 전류를 회전합니다. |
Scale | 두 벡터를 구성요소별로 곱합니다. |
SignedAngle | 축을 기준으로 시작과 끝 벡터 사이의 부호 있는 각도를 계산합니다. |
Slerp | 두 벡터 사이를 구면으로 보간합니다. |
SlerpUnclamped | 두 벡터 사이를 구면으로 보간합니다. |
SmoothDamp | 시간이 지남에 따라 원하는 목표를 향해 벡터를 점차적으로 변경합니다. |
옆
operator - | 한 벡터에서 다른 벡터를 뺍니다. |
operator != | 벡터가 다른 경우 true를 반환합니다. |
operator * | 벡터에 숫자를 곱합니다. |
operator / | 벡터를 숫자로 나눕니다. |
operator + | 두 벡터를 더합니다. |
operator == | 두 벡터가 거의 같으면 true를 반환합니다. |
'유니티스크립팅 > 유니티매뉴얼' 카테고리의 다른 글
카메라 - 유니티 (0) | 2023.03.03 |
---|---|
마우스좌표를 월드좌표로 - 2D (0) | 2023.03.02 |
[유니티매뉴얼] Unity의 회전 및 방향 (0) | 2023.02.28 |
변수와 함수 (0) | 2023.02.25 |
Scripts as Behaviour Components (0) | 2023.02.25 |