Unity3D轴上对象的相对旋转
在该项目中,我使用IMU传感器跟踪真实玩家的手,并将变换值应用到Unity内部的3D手上 当IMU设置Y轴相对于地球磁北的方向时,在游戏中,手在特定方向上初始化 我想要的是计算IMU的给定Y值和3D手的原始Y旋转的偏移量,这样我可以将该值减去3D模型的Y旋转(看起来玩家的初始Y旋转与3D手的相同)。代码是:Unity3D轴上对象的相对旋转,unity3d,rotation,quaternions,euler-angles,Unity3d,Rotation,Quaternions,Euler Angles,在该项目中,我使用IMU传感器跟踪真实玩家的手,并将变换值应用到Unity内部的3D手上 当IMU设置Y轴相对于地球磁北的方向时,在游戏中,手在特定方向上初始化 我想要的是计算IMU的给定Y值和3D手的原始Y旋转的偏移量,这样我可以将该值减去3D模型的Y旋转(看起来玩家的初始Y旋转与3D手的相同)。代码是:transform.Rotate(Vector3.up,offset,Space.World) IMU发送欧拉角(做得很好,因为我无法获得万向节锁) 据我所知,我需要找出3D手的初始旋转和IM
transform.Rotate(Vector3.up,offset,Space.World)代码>
IMU发送欧拉角(做得很好,因为我无法获得万向节锁)
据我所知,我需要找出3D手的初始旋转和IMU在XZ平面(或通过Y轴)上给定的初始旋转之间的角度差
如何计算偏移量?您可以使用来计算偏移量,例如:
var offset = Quaternion.FromToRotation(Vector3.up, imuUp);
transform.rotation *= offset;
谢谢你考虑我的问题。你说的imuUp是什么意思?