1. 简介
在Unity3D中,有多种方式可以改变物体的坐标,实现移动的目的,其本质是每帧修改物体的position。之前写过类似的文章,这次增加了平时常用API的脚本,每个脚本均手打测试可用.
2. 通过Transform组件移动物体
Transform组件用于描述物体在空间中的状态,它包括位置(position),旋转(rotation)和缩放(scale)。 其实所有的移动都会导致position的改变,这里所说的通过Transform组件来移动物体,指的是直接操作Transform来控制物体的位置(position)。
2.1 Transform.Translate
该方法可以将物体从当前位置,移动到指定位置,并且可以选择参照的坐标系。 当需要进行坐标系转换时,可以考虑使用该方法以省去转换坐标系的步骤。
public float m_speed = 5f;//Translate移动控制函数 void MoveControlByTranslate() { if (Input.GetKey(KeyCode.W)|Input.GetKey(KeyCode.UpArrow)) //前 { this.transform.Translate(Vector3.forward*m_speed*Time.deltaTime); } if (Input.GetKey(KeyCode.S) | Input.GetKey(KeyCode.DownArrow)) //后 { this.transform.Translate(Vector3.forward *- m_speed * Time.deltaTime); } if (Input.GetKey(KeyCode.A) | Input.GetKey(KeyCode.LeftArrow)) //左 { this.transform.Translate(Vector3.r