Transform组件
Rigidbody组件
CharacterController组件
Transform组件
用途:一般用于不需要模拟物体碰撞的移动,可以穿透其它物体
方法
- Transform.Translate(Vector3,Space):这个方法有六个构造函数,可以以自身坐标系为参考移动Space.self,也可以以世界坐标系为参考进行移动Space.world。
if (Input.GetKeyDown(KeyCode.W))
{
m_Transform.Translate(Vector3.forward,Space.world);
}
if (Input.GetKeyDown(KeyCode.S))
{
m_Transform.Translate(Vector3.back,Space.self);
}
Rigidbody组件
用途:一般用于需要模拟物理碰撞效果的移动,如需要模拟物体间相互碰撞,摩檫力等
方法
- Rigidbody.MovePosition(Vector3):这个干法只有一个构造参数,是以世界坐标系进行移动。参数表示移动后的位置,所以参数还需要加上自己所在的位置。
if (Input.GetKeyDown(KeyCode.W))
{
//m_rig.MovePosition(m_Transform.position+ Vector3.forward);
m_rig.AddForce(Vector3.forward*50, ForceMode.A