欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Unity 3D之旅

程序员文章站 2022-03-26 15:56:01
...

Unity 3D之旅<1>——GameObject的移动和转向

在游戏开发中,游戏对象的移动是最基本的操作.

第一种移动和转向的方法

private void Move ()
{
    m_MovementInputValue = Input.GetAxis ("Vertical");
    Vector3 movement = transform.forward * m_MovementInputValue * m_Speed * Time.deltaTime;
    m_Rigidbody.MovePosition(m_Rigidbody.position + movement);
}

Input.getAxis() 这个方法的返回值是个是个浮点型,范围在-1~1 之间,相比Input.getKeyDown() ,用这个方法的好处是能够有加速和减速的效果.因为按下键后,要过一段时间才到1,这时速度才走向最大值,同理,当键抬起时,要过一会才会回到0.这样就达到了减速的效果.达到一种更真实的效果.
Time.deltaTime 是完成上一帧所用的时间,是个非常小的值
transform.forward是个常数,表示向前的方向,控制方向的是Input.getAxis
这个movement是个十分小的值,相当于每帧微分,当每帧调用m_Rigidbody.MovePosition() 达到移动的目的了.

相关标签: Unity 3D