Unity 3D之旅
阿新 • • 發佈:2019-01-14
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()