Unity移动方法总结
在Unity3D中,有多重方式可以改变物体的坐标,实现移动的目的,其本质是每帧改变物体的position。
- 通过Transform组件移动物体
Transform组件用于描述物体在空间中的状态,它包括位置(position),旋转(rotation)和缩放(scale)。
其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position)。
API:
//物体以relativeTo为参照系,根据translation的向量移动。如果relativeTo缺省将以Space.Self为默认值,还可以设置为Space.World和gameObject.transform。
function Translate (translation : Vector3, relativeTo : Space = Space.Self) : void
//相对坐标系空间:当relativeTo设置为空或者为Space.Self,表示该物体沿着自己本地坐标进行运动。当设置为Space.World,表示该物体沿着世界坐标系进行运动。
//相对其他物体坐标:当relativeTo设置为移动参考物体的gameObject.transform时,物体根据gameObject的坐标系进行相对运动。设置为Camera.main.transform时,相对主相机进行运动。
//两种形式
public void Translate(Vector3 translation, Space relativeTo = Space.Self);
public void Translate(float x, float y, float z, Space relativeTo = Space.Se