gpt4 book ai didi

c++ - 使用着色器为网格制作动画

转载 作者:行者123 更新时间:2023-11-30 02:50:56 24 4
gpt4 key购买 nike

我一直在研究我对 OpenGL 的低级理解,我终于了解了如何为 3D 模型制作动画。我看的任何地方都告诉我如何制作骨骼动画。大多数东西都使用某种 3D 引擎,只说“加载骨架”或“应用动画”,而不是如何加载骨架或如何实际移动顶点。

我假设每个骨骼都有一个 4x4 的平移/旋转/缩放矩阵,用于连接它的顶点,这样当移动骨骼时,连接的顶点也会移动相同的量。

对于骨骼动画,我猜测您会将骨骼传递给着色器,这样在顶点着色器中我会在当前顶点进入片段着色器之前移动它。如果我有一个关键帧动画,我将当前骨骼和新骨骼连同帧之间的当前时间一起发送到着色器,并根据关键帧之间的时间间隔在骨骼之间插入点。

这是为网格制作动画的正确方法吗?或者有更好的方法

最佳答案

好吧 - 动画的方法取决于格式,以及其中写入的数据。一些格式为您提供 vector ,一些使用矩阵。我得承认我来到这个网站是为了问一个类似的问题,但我已经指定了格式(使用的是 *.x 文件,你可以查看 topic ),我得到了答案。

您对主题的看法是正确的。如果您想要示例实现,可以在 OpenGL wiki 上找到一个.

关于c++ - 使用着色器为网格制作动画,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20039405/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com