我目前正在制作一款小型平台3D游戏,但遗憾的是我无法让玩家在平台上正常旋转,这里的事情就是我不想让玩家成为玩家的孩子。平台,到目前为止,我已经设法让他顺利地与平台一起移动,但轮换仍然无处可去,这是我用于轮换的代码:
player.transform.rotation *= platform.rotation;
这是我得到的效果: Rotation Error 不是很好 :( 我想解决方案是简单的,一些公式,但不幸的是我对数学不是很好:(谢谢你们,我希望你能帮助我。
答案 0 :(得分:0)
我将向您展示一个简单的脚本示例,该示例使得立方体通过输入旋转,同时对其所在平台的旋转作出反应:
rotation
平台轮换调整的逻辑是:
A
四元数(在您的情况下,当多维数据集对象爬上平台时获取它)D
和rotation
通常围绕局部Y轴旋转立方体。然后检查平台的Actual rotation * Inverse(Previous Rotation)
是否已更改,如果是:
3.a通过操作rotation
获取平台自上一帧旋转的程度;这个操作类似于两个四元数之间的区别
3.b使用*=
运算符将该四元数添加到多维数据集的{{1}}
3.c将平台的上一个旋转值设置为新的旋转值。
这就是它。