かりんちゃんの随心遊戯日誌

ゲームの日記、たまに政治の話、香港の話

Unityで自分のキャラを動く日記…アニメーションに死闘

ついにアニメーション。もちろんモーションの調整は初めてなので、色々と苦戦した。

まずは、もちろんBlenderでアニメーションを作ることですね。事前ではネットでいろいろな情報を探したんだけど、やはりいざっ作るというときではそううまくいかない。途中ではアーマチュアを調整したり、キーフレームや操作を間違ったり、さらにウェイトペイントなどをやらないといけない。と、しかし1時間ほどで、なんとなく「歩く」というモーションを仕上げた。

f:id:karinchan:20200516233203p:plain

やはりモーションを作ることは一筋ではないんですね…。ボーンを動くだけではなく、髪や服やほかのオブジェクトも調整したり、細かい動きも。しかし、一番厄介なのはこれではない…。

f:id:karinchan:20200516233539p:plain

「歩く」モーションを仕上げ、いよいよUnityにエクスポートすることになるが…ここが関門であった。Blender 2.8ではそのままアニメーションを作ってFBXにエクスポートすると思ったが、そういう甘い話ではなかった。

 

Unityにエクスポートはできたが、なぜかアニメーションは不完全である。あるいは一部のアニメーションが消えた。何度もやり直したが、結局「静止」「歩く」モーションの両方をうまく認識することは一度もない。さらにアーマチュアを分離したせいか、髪の「静止」とボディーの「歩く」だけが登録されて、全然思い通りにはならなかった。

何がだめだったんだろうか、全くわからないまま色々と試したが、数時間を掛けてもわからない…

 

と、モーションは1つだけ認識される問題に対し、ネットで色々と調べた結果、やっと打開策を見つけた。複数のモーションにエクスポートするには、Blender側で「アクションをストリップ化してNLAに登録する必要である」。さらに、NLAストリップのみ選択し、全アクションを外すこと。

f:id:karinchan:20200516233408p:plain

f:id:karinchan:20200516233200p:plain

また、パーツによって複数のアーマチュアを作成するとUnityは複数のアニメーションと認識するので、それではUnity側の作業は極めて面倒なので、結局アーマチュアを全部一つにまとめた。幸い、こっちの作業による影響はあまりない。おそらく既にメッシュの判定をやったんだろう。

 

f:id:karinchan:20200516233131p:plain

うまく行けた!

これですね、Unityの本のような状態です。なるほど、NLAに登録されたアニメーションだけ出力に調整する必要がある、と。

Blenderの知識はまだ不足であることは認めます、なにせずん子モデリングでいきなりやることなんですから、基本の操作や知識をまともに勉強したこともない…。実際変な操作で手こずったことは何度もあった。

 

さて、Unity側が認識すると話は早い…というわけでもない。なぜかBlenderで調整された髪などの動きは、Humanoidに設定されると無効化されてる…。まあポリゴンに少しおかしな挙動もあった、そのへんは未だに解決策を見つからない。


服のウェイトペイントはBlenderで大丈夫だとしても、Unityでは問題が起こるのでそれも何度をやり直した…。と、やっと無事に、操作もできた。

f:id:karinchan:20200516233126p:plain

まだまだいろんな調整が必要なんですけど(動きは正直あまりw)、ここまで来たら、もう目的は本当に達成したね…長年の念願だった……。