1

モデルが 2 つの立方体で構成されている場合、上の立方体と下の立方体は z 軸に沿って配置され、下の立方体は上の立方体の親になります。

2 つの骨格アニメーションを与える:

アニメーション A: 上の立方体は静的に保ち、下の立方体は Z 軸を時計回りに回転させます。

アニメーション B: 上の立方体は固定、下の立方体は固定

スケルタル アニメーション ファイルには、ローカル変換が保存されています。

つまり、アニメーション A では、下の立方体に 2 つのキー フレームがあります。フレーム 0: 0 度回転、フレーム 50: 360 度回転

次に、A と B をブレンドします。

A: 体重上限 = 1 体重下限 = 0

B: 体重上限 = 0 体重下限 = 1

正しい結果は何ですか?

を。上と下の両方が静的に保つ

b. 上の立方体は反時計回りに回転します

A の低い重み = 0 は、より低い変換を無視することを意味するため、グローバル空間でのブレンドです。

しかし、それらをローカル空間でブレンドすると、上の立方体のローカル回転に従って回転します。

私はグーグルで、ローカル変換をブレンドする方が良いと人々が言っ​​ているのを見ますが、正しい結果が得られるとは思いません。何か提案はありますか?

4

1 に答える 1

1

A の低い重み = 0 は、より低い変換を無視することを意味するため、グローバル空間でのブレンドです。

いいえ。

上半身は下半身の子だとおっしゃいましたね。これは、下半身にローカル回転がある場合、この回転がそのボーンのすべての子の「グローバル」回転に影響することを意味します。

したがって、A の上半身の「全体的な」回転は360 度の回転になります下半身の変形をマスクしても、それは A のアニメーション データで定義された累積回転です。したがって、アニメーション データが「グローバル」変換として格納されている場合、ローカル変換が静的であっても、A の上半身は依然としてその回転を保持します。

これが、アニメーションが「グローバル」(より正確にはモデル相対) 回転を使用しない大きな理由です。複数のアニメーションを構成できるようにしたい場合、それを行うための唯一の合理的な方法はローカルで、各ボーンのアニメーションをその親に相対的にすることです。

于 2016-02-01T14:15:17.470 に答える