日々適当

hibitekitou

BlenderのFBX書き出しのアニメーションに関する設定

cg |2023-01-26

BlenderのFBX書き出しメニューの中にAnimationに関する設定があります。

Bake Animation, Key All Bones, NLA Strips, All Actions, Force Start/End Keying ってチェックボックスがありますな。Bake Animation以外はBake Animationをオンにすることで生きてきます。他の環境に持っていく際、Bake Animationするのは割と普通のことと思います。ということで、それにより有効になるオプションについてお勉強。

NLAはノンリニアアニメーション。アニメーションの動きの要素をタイムラインに並べてそれを繋ぐことで一つのアニメーションを作っていくって考え方ですかね。、例えば「歩く」ってモーションと「走る」ってモーションがあった時、それらをアクションって形で保持します。
書き出しオプションのAll ActionsはそのアクションをFBXに持たせるもの。以下の例はRotX, RotYっていう名前のアクションを作成して書き出したもの。All Actionsをオンにして書き出したFBXは下記画像左のようにアクションを保持してます。オフにして書き出したものが右。


書き出したfbxをFBX Review[App Store]で開いた

ノンリニアアニメーションは、それらアクションをNLAエディタのタイムラインに並べ、互いをトランジションストリップで繋ぐと、あるアクションの動きから別のアクションの動きへの遷移が滑らかな一本のアニメーションが出来上がります。NLAエディタのタイムラインに配置されたアクションはストリップという状態になってます。
書き出しオプションのNLA Stripsは各ストリップごとにFBXに書き出してくれます。

上図は先のアクション(RotX, RotY)をノンリニアアニメーションのタイムラインに並べてトランジションストリップで繋いだもの。アクションRotAをストリップStripAとして配置し再生時間を少し短くしています。アクションRotYはストリップStripBです。

FBXの出力オプションでNLA Stripsだけにチェックを入れたFBXがこんな感じ。
ストリップ名がリストアップされています。つまりはNLAエディタ上の各ストリップごとに情報が保持されているようです。

この二つはFBXの使用用途で必要ないなら積極的にオフにするべきと思ってます。っていうかそんな事態に先日陥りましてね、外部からもらったあるシーンを他のソフトに持っていくためにFBXで書き出す依頼を受けて、何も考えずBake Animationのオプションを全部オンにして書き出し処理を実行したら、いつまで経っても処理が終わらないわけです。メモリ使用量も恐ろしい勢いで増えていきまして100GB以上のメモリ消費量とかになりやがりまして(これはIntel Mac版のバグのような気もするけど)。でも、ActionとNLA Stripsの出力をオフにしたら割とスルッと出力されました。

ちゃんとオプションの意味を理解して設定しないといけないなという当たり前のことを思った次第です。

コメント ( 0 )|Trackback ( )
 
コメント
 
コメントはありません。
コメントを投稿する
ブログ作成者から承認されるまでコメントは反映されません
 
名前
タイトル
URL
コメント
コメント利用規約に同意の上コメント投稿を行ってください。

数字4桁を入力し、投稿ボタンを押してください。