Transform
https://docs.unity3d.com/kr/current/ScriptReference/Transform.html
객체의 위치, 회전 및 크기 조절
장면의 모든 객체에는 Transform이 있습니다. 객체의 위치, 회전 및 크기를 저장하고 조작하는 데 사용됩니다. 모든 Transform에는 부모가있어 계층 적으로 위치, 회전 및 크기 조절을 적용 할 수 있습니다. 이는 계층 구조 창에 표시되는 계층 구조입니다. 또한 열거자를 지원하므로 다음을 사용하여 자식을 반복 할 수 있습니다.
using UnityEngine; using System.Collections;
public class ExampleClass : MonoBehaviour { void Example() { foreach (Transform child in transform) { child.position += Vector3.up * 10.0F; } } }
변수
Transform에 포함되는 children 수입니다.
Has the transform changed since the last time the flag was set to 'false'?
The transform capacity of the transform's hierarchy data structure.
The number of transforms in the transform's hierarchy data structure.
Transform의 부모 Transform입니다.
부모를 변경하면 localPosition, localscale 및 localRotation이 수정되지만 Position, Rotation 및 Scale은 동일하게 유지됩니다.
Transform의 최상위 parent를 반환합니다.
월드 공간에서의 transform의 position입니다.
월드 공간에서의 transform의 Quaternion으로 저장된 rotation입니다.
월드 공간에서의 transform의 rotation을 오일러방식으로 반환합니다.
부모로부터 상대적인 position입니다.
부모로부터 상대적인 rotation입니다.
부모로부터 상대적인 rotation을 오일러방식으로 반환합니다.
월드 공간기준 scale입니다. (Read Only).
부모로부터 상대적인 scale입니다.
월드 공간에서 Transform의 파란 축입니다.
transform.rotation * Vector3.forward 와 동일합니다.
월드 공간에서 Transform의 빨간색 축입니다.
transform.rotation * Vector3.right와 동일합니다.
월드 공간에서 Transform의 녹색 축입니다.
transform.rotation * Vector3.up과 동일합니다.
local 위치를 world 공간의 위치로 변한하기 위한 Matrix를 반환합니다. (Read Only).
매트릭스 사용이 불편하다면 TransformPoint 를 사용하세요.
셰이더 매개 변수를 설정하는 경우 Renderer.localToWorldMatrix 를 사용해야 합니다.
world공간의 위치를 local위치로 변환하기 위한 Matrix를 반환합니다. (Read Only).
매트릭스 사용이 불편하다면 InverseTransformPoint 를 사용하세요.
셰이더 매개 변수를 설정하는 경우 Renderer.worldToLocalMatrix 를 사용해야 합니다.
Public 함수
transform.Find("magazine/ammo");
worldPositionStays가 true인 경우 world position,rotation,scale이 유지됩니다.
flase인 경우 localPosition, localRotation, localScale이 유지되면서 world가 변경됩니다.
relativeTo
가 생략되거나 Space.Self로 설정되면 이동은 로컬축으로 적용됩니다. relativeTo
Space.World 인 경우 움직임이 월드 좌표계를 기준으로 적용됩니다.relativeTo
로컬 좌표계 에 상대적으로 적용 됩니다. relativeTo
이 null 인 경우, 이동은 월드좌표계를 기준으로 적용됩니다.//월드좌표계 방향 기준 이동 transform.Translate(Vector3.forward, Space.World); transform.position += Vector3.forward; transform.Translate(Vector3.forward, null); //로컬좌표계 방향 기준 이동 transform.Translate(Vector3.forward, Space.Self); transform.position += (transform.rotation * Vector3.forward); //매개변수 transform의 로컬좌표계 방향 기준 이동 transform.Translate(Vector3.forward, tf); transform.position += (tf.rotation * Vector3.forward);
//축각 회전
transform.Rotate(axis, angle); transform.rotation *= Quaternion.AngleAxis(angle, axis);
//오브젝트기준 로컬위치에 대한 방향벡터를 구하고 싶은 경우 transform.forward * x + transform.up * y + transform.right * z //간단하게 함수사용 transform.TransformDirection(x,y,z);
'Unity > Manual' 카테고리의 다른 글
Quaternion (0) | 2018.11.22 |
---|---|
Vector3 (0) | 2018.11.22 |
캐시 서버(Cache Server) (0) | 2018.11.21 |
스트리밍 에셋(Assets) (0) | 2018.11.21 |
다중 씬 편집(Multi Scene Editing) (0) | 2018.11.21 |