Unity3D中移动物体方式总结(未完,待更新......)

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) 注意事项 

                使用此方法,物体是在自身坐标系上移动。


            

猜你喜欢

转载自blog.csdn.net/hang981601026/article/details/79639697