我正在制作一款FPS游戏,我创建了一个平静的AI,当角色死了的时候,我只想让它按照下面的正常模式定向。我现在向你展示一下结果:

如你所见,角色正在飞行,因为地形不是笔直的。
我正在尝试(但没有成功)做这样的事情:

我有(x,y,z)坐标(字符位置)和平面的法线。
发布于 2014-05-11 20:20:01
你的角色的死亡姿势总是正常的朝上,对吧?你想把它旋转到另一个法线。
可以找到表示两个向量(上方向和新法线)之间旋转的四元数来旋转网格。这个问题有答案:Quaternion from two vector pairs
要了解地形的法线,您可能可以向下投射光线,并根据所使用的物理引擎从碰撞信息中获取法线。
编辑:一些背景信息:四元数表示旋转。所以我建议你使用我链接的问题的答案来计算角色死亡姿势的默认方向(向上)到新方向(地形法线)之间的旋转。
然后你可以用四元数变换你死去的角色,它将遵循地形的正常。
这是一个草图:使用链接中的解决方案从上到下计算Q和N,并使用Q旋转角色的模型:

发布于 2014-05-11 20:25:07
是的,法线总是朝上的,就像你在我的画上看到的,即使我画的姿势很好。我不明白当你谈到四元数时,你说的是哪种新常态?我已经在角色下面有了平面的法线,所以,部分工作已经完成了:)
https://stackoverflow.com/questions/23592427
复制相似问题