1、通过Transform组件
(1)public void Translate(Vector3, Space);
A)相关参数
Vector3[Struct]:表示移动的方向和距离
Space[enum] : Space.Self(物体自身坐标系),Space.World(世界坐标系)
也就是说,这个方法可以指定GameObject在哪个坐标系上移动。
2、通过Rigidbody组件
(1) public void MovePosition(Vector3);
A) 注意事项
a) 使用此方法移动物体,物体是在世界坐标系上移动的。
b) 参数Vector3 要使用 “当前位置 + 方向” 的形式。比如:
rigid.MovePosition(transform.position + Vector3.forward * Time.deltaTime);
(2)public void AddForce(Vector3, ForceMode)
A) 相关参数
Vector3: 力的大小和方向。
ForceMode[enum]: 力的模式,有四种:Acceleration,Force(最常用),Impulse(瞬间发生的力),VelocityChange。
B) 注意事项
使用此方法,物体是在世界坐标系上移动。
(3) Rigidbody.AddRelativeForce(Vector3, ForcMode);
A) 注意事项
使用此方法,物体是在自身坐标系上移动。