Unity 做VR跑酷的时候,陀螺仪旋转360度的时候反向

来源:互联网 发布:ghostxp系统盘软件 编辑:程序博客网 时间:2024/05/17 22:42

Unity 做VR跑酷的时候,陀螺仪旋转360度的时候方向反过来了。这是因为人物相机的rotation的问题,假设倾斜方向是Z轴,那么我们类似这样写:shift_Z = camera.transform.rotation.z;

但这样就会发现上述错误,其原因是因为rotation并不是一个三维向量,它是个四元数,最后有个分量w,所以要写成shift_Z = camera.transform.rotation.z / camera.transform.rotation.w;

所有的rotation都要对w做齐次除法,不然会出错的。

0 0