LightwaveでIKやコンストレイントのキーをベイクする方法

アニメーションを作るときも結構使うのですが、ゲームエンジン用にFBX出力する際に3Dソフト側の独自機能でアニメーションをつけると上手く出力できないので、アニメーションの構造を単純にする方法を紹介します。

f:id:matsumoto56:20150115003009g:plain

IKで歩行アニメーションを作ってみました。上腕の回転、足の付け根から足首、頭の回転を赤いNullオブジェクトで制御しています。まずは、普通にFBXで書き出してUE4に読み込んでみます。

 f:id:matsumoto56:20150115011614g:plain

 こんな感じになってしまいました。上腕、太ももがバンク角しか動いてません。

 そこでIKを単純化するためにFKに変換します。Lightwaveの場合、グラフエディタに反映されていればモーションをベイクできるのですがIKやコンストレイントで制御した場合グラフには反映されません。

 

では、どうするかというと、、、ボーンを全部選択した状態で、手動でベチベチとキーを打ちます。全フレーム。マンパワーです。

 

そうするとグラフに反映されていなかったIKのキーもFKに反映されます。もう一度UE4に読み込んでみます。

f:id:matsumoto56:20150115013027g:plain

ちゃんと反映されました。LightwaveでベイクしなくてもFBXでのエクスポート時のベイクで上手くいく場合もあるみたいです。

IKでのボーン制御だけでなく、コンストレイントなど他のオブジェクト依存で制御している場合にはこの手法が使えます。いまいち微調整が効かないスプライン制御の調整やリグに凝りすぎて収拾がつかなくなった時の回避なんかにも使えて結構便利だと思います。