Unity3D的Transform是用于描述游戏对象在场景中的位置、旋转和缩放的组件。它是Unity中最常用的组件之一,可以实现对象的移动、旋转和缩放等操作。
TransformPoint()
方法可以将一个点从本地空间转换到世界空间。InverseTransformPoint()
方法可以将一个点从世界空间转换到本地空间。Translate(Vector3 translation)
:根据给定的向量在游戏对象的本地坐标系中进行平移。
transform.Translate(Vector3.forward * Time.deltaTime); // 沿着前方方向平移(每帧)
Rotate(Vector3 axis, float angle)
:围绕指定轴按给定角度旋转游戏对象。
transform.Rotate(Vector3.up, 90f); // 绕Y轴逆时针旋转90度
RotateAround(Vector3 point, Vector3 axis, float angle)
:围绕指定点和轴按给定角度旋转游戏对象。
transform.RotateAround(Vector3.zero, Vector3.up, 45f); // 绕世界坐标原点的Y轴逆时针旋转45度
Scale(Vector3 scale)
:根据给定的向量对游戏对象进行缩放。
transform.localScale = new Vector3(2f, 2f, 2f); // 将游戏对象的缩放设置为2倍
TransformPoint(Vector3 position)
:将一个点从游戏对象的本地坐标系转换为世界坐标系。
Vector3 worldPosition = transform.TransformPoint(localPosition); // 将本地坐标转换为世界坐标
InverseTransformPoint(Vector3 position)
:将一个点从世界坐标系转换为游戏对象的本地坐标系。
Vector3 localPosition = transform.InverseTransformPoint(worldPosition); // 将世界坐标转换为本地坐标
LookAt(Transform target)
:使游戏对象朝向指定的目标对象。
transform.LookAt(target); // 游戏对象朝向目标对象