如何在网格加载和处理过程中转换蒙皮网格

本文关键字:网格 转换 过程中 处理 加载 | 更新日期: 2023-09-27 18:13:34

我创建了自己的蒙皮网格加载器。它的工作很好,但我的问题是我不知道如何转换(缩放&;旋转蒙皮网格,使转换"烘烤"到顶点上。如果它只是一个几何体,转换顶点是小菜一菜,但现在涉及到蒙皮信息,例如,如果我做一个比例,我的网格会被拉伸。我知道我也需要转换我的蒙皮数据,但是哪些部分呢?所有的绑定姿态矩阵?逆约束姿态矩阵?我似乎不明白该怎么做。

我的实现是在c# &OpenTK和我特别加载从Blender 2.6导出的skin Collada文件。

如何在网格加载和处理过程中转换蒙皮网格

我不懂c#和OpenTK,但我试图在理论方面提供帮助。顶点通过加权全局变换矩阵进行变换。为了形成一个全局变换,您需要连接每个关节的局部变换。要创建一个局部变换,你需要连接本地平移、旋转和缩放。重量会来自关节。所以我认为你需要得到关节的局部旋转/平移/缩放你的绑定姿态,然后操作那些局部矩阵并将它们形成全局矩阵。之后,对全局变换应用权重,然后变换顶点。

下面的链接可能与你的问题相似。COLLADA:反向绑定姿势在错误的空间?

我创建了这个collada文件播放器,但使用c++。http://www.youtube.com/watch?v=bXBfVl-msYw