Test_03
TransformTest
控制物体位置和物体间的父子关系
public class TransformTest : MonoBehaviour
{void Start(){// 【获取位置】// 世界坐标中物体的位置Debug.Log(transform.position);// 物体相对于父物体的位置Debug.Log(transform.localPosition);// 【获取旋转】// 世界坐标中物体的旋转(四元数)Debug.Log(transform.rotation);// 物体相对于父物体的旋转(四元数)Debug.Log(transform.localRotation);// 世界坐标中物体的旋转(欧拉角)Debug.Log(transform.eulerAngles);// 物体相对于父物体的旋转(欧拉角)Debug.Log(transform.localEulerAngles);//【获取缩放】// 只有相对于父物体的缩放Debug.Log(transform.localScale);// 【获取方向向量】// 前方(Z轴,蓝色)Debug.Log(transform.forward);// 右方(X轴,红色)Debug.Log(transform.right);// 上方(Y轴,绿色)Debug.Log(transform.up);// 父子关系// 获取父物体GameObject go = transform.parent.gameObject;// 获取子物体个数Debug.Log(transform.childCount);// 解除所有子物体与该物体之间的父子关系transform.DetachChildren();// 获取子物体// 使用子物体名称Transform trans = transform.Find("Child");// 使用子物体索引trans = transform.GetChild(0);// 判断一个物体(“Child” -- trans)是不是另一个物体("Sphere" -- transform)的子物体bool res = trans.IsChildOf(transform);Debug.Log(res);// 【建立父子关系】// 将一个物体(transform)设置成另一个物体(trans)的父物体trans.SetParent(transform);}void Update(){// 令物体时时刻刻都看向(0,0,0)点transform.LookAt(Vector3.zero);// 【旋转】 物体绕x轴旋转,每帧旋转1度(自转)transform.Rotate(Vector3.right, 1);// 【旋转】 物体以y轴,绕 Vector3.zero 旋转,每帧转动5度(公转)transform.RotateAround(Vector3.zero, Vector3.up, 1);// 【移动】 以 Vector3.forward 方向,每帧移动0.1ftransform.Translate(Vector3.forward * 0.1f);}
}