C# Rookiss Part3 유니티 엔진 : Vector
🙇♀️Vector
- 위치 벡터
- 방향 벡터
🪐위치 벡터
- 위치 벡터
- position 좌표를 나타낸다
MyVector to = new MyVector(10.0f, 0.0f, 0.0f);
MyVector from = new MyVector(5.0f, 0.0f, 0.0f);
🪐방향 벡터
- 방향 벡터
- 거리 (크기)
- 실제 방향
MyVector dir = to - from;
거리 = (5.0f, 0.0f, 0.0f) 방향 = -> (+X 방향)
- magnitude
- 벡터의 크기를 가져옴
- normalized
- 벡터의 크기를 단위벡터로 만듦
- 단위벡터 = 크기가 1인 벡터
🪐Vector 코드 구현
struct MyVector
{
public float x;
public float y;
public float z;
public float magnitude { get { return Mathf.Sqrt(x * x + y * y + z * z); } }
public MyVector normalized { get { return new MyVector(x / magnitude, y / magnitude, z / magnitude); } }
public MyVector(float x, float y, float z) { this.x = x; this.y = y; this.z = z; }
public static MyVector operator +(MyVector a, MyVector b)
{
return new MyVector(a.x + b.x, a.y + b.y, a.z + b.z);
}
public static MyVector operator -(MyVector a, MyVector b)
{
return new MyVector(a.x - b.x, a.y - b.y, a.z - b.z);
}
public static MyVector operator *(MyVector a, float d)
{
return new MyVector(a.x * d, a.y * d, a.z * d);
}
}