首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >根据平面法线旋转对象

根据平面法线旋转对象
EN

Stack Overflow用户
提问于 2014-05-11 20:08:50
回答 2查看 874关注 0票数 0

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

如你所见,角色正在飞行,因为地形不是笔直的。

我正在尝试(但没有成功)做这样的事情:

我有(x,y,z)坐标(字符位置)和平面的法线。

EN

回答 2

Stack Overflow用户

发布于 2014-05-11 20:20:01

你的角色的死亡姿势总是正常的朝上,对吧?你想把它旋转到另一个法线。

可以找到表示两个向量(上方向和新法线)之间旋转的四元数来旋转网格。这个问题有答案:Quaternion from two vector pairs

要了解地形的法线,您可能可以向下投射光线,并根据所使用的物理引擎从碰撞信息中获取法线。

编辑:一些背景信息:四元数表示旋转。所以我建议你使用我链接的问题的答案来计算角色死亡姿势的默认方向(向上)到新方向(地形法线)之间的旋转。

然后你可以用四元数变换你死去的角色,它将遵循地形的正常。

这是一个草图:使用链接中的解决方案从上到下计算Q和N,并使用Q旋转角色的模型:

票数 0
EN

Stack Overflow用户

发布于 2014-05-11 20:25:07

是的,法线总是朝上的,就像你在我的画上看到的,即使我画的姿势很好。我不明白当你谈到四元数时,你说的是哪种新常态?我已经在角色下面有了平面的法线,所以,部分工作已经完成了:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23592427

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档