我目前正在使用Oculus,玩家只能通过头部跟踪来控制他的角色。角色是一只3D飞行的鸟。测试游戏玩法,没关系,但是当我试图偏航时,我差点用Oculus线杀死自己。所以,我决定让玩家更容易。当他在空间的任何地方(自由漫游)看他的右/左时,我想允许玩家偏航,并让游戏对象+摄像机随他旋转。
我尝试使用slerp,但它并没有真正有效。
transform.position = transform.position + cameraRight.transform.forward * distance * Time.deltaTime;
transform.Rotate(Vector3.Cross(transform.forward, cameraRight.transform.forward), distance * Time.deltaTime);
这些是我用来使我的鸟向前移动并使相机旋转的代码。但现在,我想限制玩家左右45°,一旦他向一个方向看,这只鸟会自动偏航。
我不知道它是否清晰,但就像驾驶汽车时一样,你不必将所有方向盘向左/向右移动,你只需要旋转并且车轮跟随。