【发布时间】:2021-03-02 10:02:22
【问题描述】:
glTF 文件为每个皮肤定义了一个反向绑定矩阵数组和一个关节列表。
假设关节列表是:
{2,5,7,4,3,6}
如果我们移动它以使索引从 0 开始,我们得到
{0,3,5,2,1,4}
在这种情况下,inverse_matrix[2] 可以指两件事之一。它可以引用数组中的第二个关节,即关节5,也可以引用关节2。
同样的问题也适用于权重数组。
换一种方式。如果从 gltf 文件中获取数据并将缓冲区加载到着色器中。我需要弄清楚如何将着色器中的顶点索引映射到其对应的 4 个皮肤矩阵。
所以如果joints[2] maps to (3,1,0,0)
我需要知道我是否应该在ibm[3] 和ibm[1] 或ibm[2] 和ibm[3] 获取逆绑定矩阵(因为joints[3] 的值是2)。
我希望这不会令人困惑。
【问题讨论】:
标签: animation graphics 3d gltf skeletal-mesh