Unity 3D之旅

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_36078885/article/details/79228819

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() 达到移动的目的了.

猜你喜欢

转载自blog.csdn.net/qq_36078885/article/details/79228819