我正在尝试在两种不同的骨架格式之间进行转换。我有一个分层的骨架。
现在在一种格式中,给定节点的矩阵由 (DirectX) 计算(递归地,从底部节点到顶部,其中 matScale/matRotate/matTranslationFromParent 是特定节点 SRT):
appliedMatrices = appliedMatrices * matScale * matRotate * matTranslationFromParent;
但是我需要将它转换为使用的格式(递归地,从底部节点到顶部,其中translationIn 是(ParentPos - EndPartPos)的矢量减法,而translation out 是(EndPartPos - ParentPos),而matScale / matRotate / matTranslationFromParent 就是那个特定的节点 SRT):
appliedMatrices = appliedMatrices * matScale * matTranslationOut * matRotate * matTranslationIn * matTranslationFromParent;
如何从第一种格式转换为第二种骨架格式(并返回)?