씬안에 있는 모든 게임 오브젝트는 기본적으로 Transform 컴포넌트를 갖고 있다. ( Normal - > Debug 전환 모습 )
Transform을 통하여 객체에 대한 좌표(Position), 회전(Rotation), 크기(Scale) 들을 저장하고 조작할 수 있다.
열거자 (enumerators)를 지원하므로 부모 자식 계층구조에서 루프 탐색을 허용한다.
Transform.position, localPosition
public Vector3 position { get; set; }
해당 트랜스폼의 월드 좌표를 나타낸다.
public Vector3 localPosition { get; set; }
부모에 대한 상대좌표이다. (부모의 zero좌표가 기준점이 된다, 부모가 없다면 월드좌표 공간이 기준이 된다.)
속성을 나타내므로 하위 컴포넌트 값을 설정할 수는 없다.
Transform.lossyscale, localScale
public Vector3 lossyScale { get; } 해당 트랜스폼의 월드 크기를 나타낸다. (읽기 전용)
public Vector3 localScale { get; set; } 부모에 대한 하위 트랜스폼의 상대크기 이다. (부모가 없다면 월드크기와 같다.)
Transform.rotation, localRotation
public Quaternion rotation { get; set; } 쿼터니언(quaternion) 으로 트랜스폼의 회전각을 나타낸다.
public Quaternion localRotation { get; set; } 부모(쿼터니언 회전각)에 대한 해당 트랜스폼의 쿼터니언 회전각을 나타낸다.
Transform.eulerAngles, localEulerAngles
public Vector3 eulerAngles { get; set; } 오일러앵글로 트랜스폼의 회전각을 나타낸다.
public Vector3 localEulerAngles { get; set; } 부모의 트랜스폼 회전각에 대하여 해당 회전각의 오일러앵글을 나타낸다.
오일러회전에서는 짐벌락 현상이 발생하므로 Quternian(쿼터니언) 회전을 사용하거나 제한된 범위에서 회전으로 설계해야 한다.
짐벌락 발생 : 두번째 회전이 90도 또는 270도에 가까워 질 때 첫 번째 회전축과 세 번째 회전의 두개 축이 거의 일치하여 자유도가 2축으로 한정되는 현상
'UnityEngine > API 스크립팅' 카테고리의 다른 글
[Find 메서드] Find, GetChild, GetInstanceID (0) | 2018.06.12 |
---|---|
[트랜스폼 메서드] Translate, Rotate, TransformDirection (0) | 2018.06.10 |
[쿼터니언 메서드] Quaternion... (0) | 2018.06.10 |
[트랜스폼 속성] forward, childCount, parent (0) | 2018.06.08 |
[백터 속성과 메서드] Properties, magnitude, nomalized (0) | 2018.06.05 |