glTF の githubチュートリアルのスキン セクションを読みましたが、どのように動作するのか理解できませんでしたjointMatrix
。
チュートリアルでは、次のように定義されています。
jointMatrix(j) =
globalTransformOfNodeThatTheMeshIsAttachedTo^-1 *
globalTransformOfJointNode(j) *
inverseBindMatrixForJoint(j);
globalTransform
とキャンセルで迷っています。私の考えでjointMatrix
は、次のようなものです
jointMatrix(j) =
jointSpaceToModelSpace(j) *
jointTransform(j) *
modelSpaceToJointSpace(j);
そして頂点シェーダーで
// assume 'joint' is a matrix computed from weighted aggregation of all jointMatrix(j)
vertex_world_space = model-view-proj * joint * vertex_model_space;
私の質問は
jointMatrix
がそのように定義されているのはなぜですか?- 私のバージョンの何が問題になっていますか?