1. 월드 좌표계란?
Unity에서 월드 좌표계는 씬 내에서 게임 오브젝트의 위치 및 방향을 지정하는 기준이 되는 전역 좌표계를 말합니다. 모든 오브젝트에 일관되고 고정된 기준 프레임을 제공하며 위치, 회전, 스케일 등을 저장하는데 사용됩니다. 또한 전체 씬에서 공간 관계와 측정을 가능하게 합니다.
2. 월드 좌표계의 특징
데카르트 좌표계: Unity의 월드 좌표계는 세 개의 축을 사용하여 위치를 지정하는 데카르트 좌표계를 따릅니다: X축은 가로 방향, Y축은 세로 방향, Z축은 깊이 또는 앞/뒤 방향을 나타냅니다.
원점: 세계 좌표계의 원점은 X, Y, Z 축이 교차하는 지점(0, 0, 0)입니다. 모든 위치가 측정되는 기준점 역할을 합니다.
절대 위치: Unity의 게임 오브젝트에는 월드 좌표계에서 절대 좌표로 지정된 위치가 있습니다. 게임 오브젝트의 위치는 월드 원점을 기준으로 씬에서 해당 게임 오브젝트의 위치를 나타냅니다.
글로벌 회전: 월드 좌표계에서 게임 오브젝트의 회전은 전역 축에 대한 게임 오브젝트의 방향을 결정합니다. 회전 값은 오일러 각도 또는 쿼터니언으로 게임 오브젝트가 X, Y, Z 축을 중심으로 회전하는 방식을 정의합니다.
글로벌 스케일: 월드 좌표계에서 게임 오브젝트의 스케일은 전역 참조를 기준으로 게임 오브젝트의 크기를 결정합니다. 스케일링은 게임 오브젝트와 그 자식 게임 오브젝트의 전체 크기에 모든 방향에서 균일하게 영향을 줍니다.
부모-자식 계층 구조와는 무관합니다: 부모 게임 오브젝트에 상대적인 로컬 좌표계와 달리 월드 좌표계는 부모-자식 관계와 무관합니다. 이는 계층 구조에 관계없이 씬의 모든 게임 오브젝트에 일관된 참조 프레임을 제공합니다.
Unity 에디터 및 트랜스폼 기즈모: Unity 에디터에서 월드 좌표계는 트랜스폼 기즈모라는 시각적 보조 도구로 표시됩니다. 트랜스폼 기즈모를 사용하면 Unity 에디터의 트랜스폼 툴을 사용하여 월드 좌표계에서 게임 오브젝트의 위치, 회전, 배율을 조작할 수 있습니다.
3. 월드 좌표계의 예제
오브젝트를 새 위치로 이동하기. 다음 코드는 오브젝트를 월드 좌표계의 위치(10, 10, 10)로 이동합니다
// Get the object's transform
Transform transform = gameObject.transform;
// Move the object to the location (10, 10, 10) in the world coordinate system
transform.position = new Vector3(10, 10, 10);
오브젝트의 X, Y 또는 Z 축을 중심으로 회전하기. 다음 코드는 오브젝트를 세계 좌표계에서 X 축을 중심으로 45도 회전합니다
// Get the object's transform
Transform transform = gameObject.transform;
// Rotate the object around its X axis by 45 degrees in the world coordinate system
transform.rotation = Quaternion.Euler(45, 0, 0);
X, Y 또는 Z 축을 따라 객체 크기 조정하기. 다음 코드는 세계 좌표계에서 X축을 따라 개체의 배율을 2로 조정합니다
// Get the object's transform
Transform transform = gameObject.transform;
// Scale the object along its X axis by 2 in the world coordinate system
transform.scale = Vector3.one * 2;
4. 결론
월드 좌표계를 이해하는 것은 Unity 씬에서 게임 오브젝트를 정확하게 배치하고 위치를 지정하는 데 매우 중요합니다. 이를 통해 오브젝트 간의 일관된 공간 관계를 생성 및 유지하고 글로벌 레퍼런스를 기준으로 방향과 스케일을 정의할 수 있습니다. 월드 좌표계로 작업하면 Unity에서 몰입도 높은 인터랙티브 환경을 구축할 수 있습니다.
'개발 > 유니티' 카테고리의 다른 글
유니티 역운동학(Inverse Kinematics, IK)란? (0) | 2023.06.12 |
---|---|
유니티 스프라이트 아틀라스란? (0) | 2023.06.12 |
로컬 좌표계란? (0) | 2023.06.10 |
유니티 최적화 10가지 기법 (0) | 2023.03.19 |
라이트 맵(Light Map)이란? (0) | 2023.03.17 |