我試圖在兩種不同的骨架格式之間進行轉換。我有一個分層骨架。現在在3D骨架系統之間轉換DirectX
在一種形式中,一個給定的節點的矩陣由(DirectX的)來計算(recurively, 從底部節點到頂部,matScale/matRotate/matTranslationFromParent是其中該特定節點SRT):
appliedMatrices = appliedMatrices * matScale * matRotate * matTranslationFromParent;
但我需要將它轉換爲使用(從底部節點到頂部,其中translationIn是矢量減法(ParentPos - EndPartPos)和翻譯出來的(EndPartPos - ParentPos),andmatScale/matRotate/matTranslationFromParent是特定節點SRT):
appliedMatrices = appliedMatrices * matScale * matTranslationOut * matRotate * matTranslationIn * matTranslationFromParent;
如何從第一個格式轉換爲第二個骨架格式(和後面)?
你有沒有對內外翻譯的控制權?這些是相反的(如減法所示)?將格式1轉換爲格式2可以通過將這些翻譯設置爲身份來實現,對嗎? –
他們是反向的,但不幸的是,我無法控制骨架。所以我不能擺脫它們(它會移動骨架節點)。 –