四元数适用于它们之间的插值旋转。到目前一切尚好。
如果我有一个网络游戏,将旋转转换为vector3f就足够了吗?或者我应该使用一个四元数?为了让游戏更流畅,我可能不得不在上次发送的旋转和当前的旋转之间进行插值。
但是我可以在从偏航/俯仰/滚动创建的两个四元数之间插入旋转吗?
Quaternion a = Quaternion.FromYawPitchRoll(x1,y1,z1);
Quaternion b = Quaternion.FromYawPitchRoll(x2,y2,z2);
a.Interpolate(b, value); // will this work correctly
我正试图用mouse+keyboard来移动我的相机。我正在寻找具体的相机行为,然而,我不知道如何使它正确。我发现,要获得玛雅/翻滚式相机,我需要在世界空间中乘以我的x旋转,然后再乘以我的Y旋转。颠倒顺序,如下所示:
view = cam_move * //wasd in cam_space, this works correctly
yrot * //before = world to camera space
view*
xrot; //after = model to world space
这意味着我的x波(世界)不会干扰我的眼(眼
我试图旋转一个对象的传感器值(俯仰,滚动,偏航)。我有下面的代码片段来旋转对象。
if ((0<=ax&& ax<1.03f) && (0 <= az && az <1.03f))
{
if (x > calibrateX)
x = x - calibrateX;
else
x = calibrateX - x;
//x = Mathf.Abs(x);