1. 程式人生 > >Unity 3D之旅

Unity 3D之旅

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()

達到移動的目的了.