一、什么是Transform?
场景中的每一个物体都有一个Transform,用于存储和操作对象的位置、旋转和缩放,存在层级关系(父级和子级)。
二、常用变量与属性(位置)
1.位置
position:世界坐标
localposition:相对坐标(父物体就是世界,相对于父物体的坐标)
private void OnGUI()
{
//世界坐标
GUILayout.Label(string.Format("Transform's position:{0}", transform.position));
//相对坐标
GUILayout.Label(string.Format("Transform's localPosition:{0}", transform.localPosition));
}
2.角度
enlerAnles,localEnlerAnles欧拉角;rotation,localRotation四元数旋转角度(自然数)。
private void OnGUI()
{
//相对世界的欧拉角
GUILayout.Label(string.Format("Transform's eulerAngles:{0}", transform.eulerAngles));
//相对父物体的欧拉角
GUILayout.Label(string.Format("Transform's localEulerAngles:{0}", transform.localEulerAngles));
//相对世界的rotation
GUILayout.Label(string.Format("Transform's rotation:{0}",
transform.rotation));
//相对父物体的rotation
GUILayout.Label(string.Format("Transform's localRotation:{0}", transform.localRotation));
//欧拉角转换成自然数方式
transform.rotation = Quaternion.EulerAngles(270, 0, 0);
}
3.缩放
localScale相对父级缩放比例;lossyScale相对世界缩放比例。
private void OnGUI()
{
//相对父级缩放
GUILayout.Label(string.Format("Transform's localScale:{0}", transform.localScale));
//相对世界的缩放
GUILayout.Label(string.Format("Transform's lossyScale:{0}", transform.lossyScale));
}
4.其他
right(向左),up(向上),forward(向前)方向向量。
private void OnGUI()
{
//向右
GUILayout.Label(string.Format("Transform's right:{0}", transform.right));
//向上
GUILayout.Label(string.Format("Transform's up:{0}", transform.up));
//向前
GU