gpt4 book ai didi

OpenGL : Bone Animation, 为什么在使用 GPU 时需要反向绑定(bind)姿势?

转载 作者:行者123 更新时间:2023-12-04 09:31:33 26 4
gpt4 key购买 nike

我实现了一个带有软件皮肤的 MD5 Loader。 md5 中的绑定(bind)姿势是最终的、绝对位置和旋转,您只需要计算与关节相关的权重。

我试图实现 GPU 蒙皮,但我被困在了一个点上。由于这些坐标是最终的,为什么我不能将我的 3d 向量和四元数转换为矩阵并将其上传到着色器?正如我在这里读到的:http://3dgep.com/?p=1356 ,我需要将我的骨架与绑定(bind)姿势的逆相乘。但是我不明白这部分,因为我一直认为我唯一需要做的就是将最终矩阵上传到 GPU 并在那里计算其余的(权重总和等)

你能解释一下反向绑定(bind)姿势的行为吗?

最佳答案

作为那篇文章的原作者,我将尝试解释乘以反向绑定(bind)姿势的作用:

“反向绑定(bind)姿势”基本上“撤消”了任何已经应用到模型绑定(bind)姿势的变换。

像这样考虑它:
如果您将单位矩阵应用于模型中的每个关节,那么您将获得处于绑定(bind)姿势的模型(您可以通过发送一个填充了单位矩阵的骨架框架来尝试此操作。如果结果是绑定(bind)姿势,那么您就是做对了)。

如果您将绑定(bind)姿势矩阵(未反转)应用于模型中的每个关节,那么您将得到意大利面条,因为您将应用绑定(bind)姿势两次!

因此,要修复意大利面条模型,您只需将生成的关节变换乘以反向绑定(bind)姿势即可“撤消”已应用于模型的变换。

我希望这能澄清一点......

关于OpenGL : Bone Animation, 为什么在使用 GPU 时需要反向绑定(bind)姿势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17127994/

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