using UnityEngine;

public class TransformScript : MonoBehaviour
{
void Start()
{
// z
Debug.Log("forward = " + transform.forward);
// x
Debug.Log("right = " + transform.right);
// y
Debug.Log("up = " + transform.up);

Debug.Log("parent = " + transform.parent);
Debug.Log("root = " + transform.root);

Debug.Log("IsChildOf = " + transform.IsChildOf(transform.parent));
Debug.Log("IsChildOf = " + transform.IsChildOf(transform.root));
}

void Update()
{
//---------------------------Rotate-------------------------------
//将一个Cube放入一个y轴旋转90度(顺时针旋转90度)的空节点下,以Vector3.right旋转,
//Space.Self围绕本地的x轴旋转,Space.World围绕世界的x轴旋转

transform.Rotate(Vector3.right * Time.deltaTime * 10, Space.Self);
transform.Rotate(Vector3.right * Time.deltaTime * 10, Space.World);

//应用zAngle围绕z轴,xAngle度数旋转围绕x轴,yAngle度数围绕y轴(按此顺序)
transform.Rotate(Time.deltaTime * 10, 0, 0);
transform.Rotate(Time.deltaTime * 10, 0, 0, Space.World);

// 沿着x轴旋转,每秒1度
transform.Rotate(Vector3.right, Time.deltaTime * 10);
transform.Rotate(Vector3.right, Time.deltaTime * 10, Space.World);

//-------------------------Translate----------------------------------
// 沿着本地的z轴前进,速度1m/s
transform.Translate(Vector3.forward * Time.deltaTime);
// 沿着世界空间的z轴前进,速度1m/s
transform.Translate(Vector3.forward * Time.deltaTime, Space.World);

//沿着x轴移动x,沿着y轴移动y,沿着z轴移动z
transform.Translate(0, 0, Time.deltaTime);
transform.Translate(0, 0, Time.deltaTime, Space.World);

//沿着主相机的x轴移动
transform.Translate(Vector3.right * Time.deltaTime, Camera.main.transform);
transform.Translate(0, 0, Time.deltaTime, Camera.main.transform);
}
}