在我的游戏中,我有一个相机,我想让它附带类似于FPS的旋转效果。
因此,如果我将光标向左移动,我希望我的相机向左旋转。如果我将光标向上移动,则相机应该向上看,以此类推。
目前,我已经部分实现了这个功能。我可以向左和向右看,向上和向下看。问题出现在我向下看然后将光标向左或向右移动时。这时会产生“翻滚”效果。
请观看以下视频,以了解我的意思: http://www.screencast.com/t/Phedh8H0K13 显然,当我向下看时,我仍然希望出现“偏航”效果而不是“翻滚”效果。有没有人知道如何做到这一点?这是我目前的代码:
因此,如果我将光标向左移动,我希望我的相机向左旋转。如果我将光标向上移动,则相机应该向上看,以此类推。
目前,我已经部分实现了这个功能。我可以向左和向右看,向上和向下看。问题出现在我向下看然后将光标向左或向右移动时。这时会产生“翻滚”效果。
请观看以下视频,以了解我的意思: http://www.screencast.com/t/Phedh8H0K13 显然,当我向下看时,我仍然希望出现“偏航”效果而不是“翻滚”效果。有没有人知道如何做到这一点?这是我目前的代码:
// Update is called once per frame
public override void update ()
{
this.camera.transform.rotation *=
Quaternion.AngleAxis( Time.deltaTime * sensitivityRoll * Input.GetAxis("Vertical"), Vector3.forward );
this.camera.transform.rotation *=
Quaternion.AngleAxis( Time.deltaTime * sensitivityYaw * Input.GetAxis("Mouse X"), Vector3.up );
this.camera.transform.rotation *=
Quaternion.AngleAxis( Time.deltaTime * sensitivityPitch * Input.GetAxis("Mouse Y"), Vector3.left );
}