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()
达到移动的目的了.
上一篇: Unity3D学习笔记(1) IMGUI小游戏(井字棋)
下一篇: Unity-控制物体的移动