poi’s tech blog

3D多人数同時接続型球体アクション成人向けゲーム開発のためのアイデア、ナレッジ

Blenderで作ったアニメーションの一部関節の動きがUnity上で反映されない

座ってる球体のアニメーションを作ってた最中の出来事。

Blender上だとおててが地面についたアニメーションになっているのにUnityで見るとおててが真横を向いてしまっている。

f:id:poipoipoip:20190929202513p:plain
Blender上のアニメーション

f:id:poipoipoip:20190929202529p:plain
Unity上で見たとき

アニメーションの出力は以下の方法。 弊環境だとすべてのアニメーションがうまく出力されないためNLAスタックというところにストリップ化してFBX出力時にNLAストリップを出力するようにしてる。

poipoipoip.hatenablog.com

今回の不具合の挙動を観察してみると、1つのアニメーションの中の全く動きがない関節のRotation情報が含まれないことがあるようだった。

f:id:poipoipoip:20190929203201p:plain
変更前。手のRotation値は一定

f:id:poipoipoip:20190929204056j:plain
変更後。手を若干揺らすようなアニメーションに変更したらShoulderのRotation情報が見えるようになった。

地道に直してもいいけど、多分FBX出力時に「全ボーンのキー」オプションにチェックを付けると直ると思う。確証はない。

f:id:poipoipoip:20190929204041j:plain
すべてのボーンに少なくとも1つ以上のアニメーションを強制的にエクスポートしてくれるらしい。

これには球体ちゃんもニッコリ

f:id:poipoipoip:20190929203642p:plain