Blender→Unityアニメーション

未分類

ハンバーガーくんをアニメーションさせるメモ

ボーン書き出し前に

Blenderですべてのボーンを選択し、ロールの再計算→グローバル+Z軸

更にすべてのボーンを選択し、Alt+S、Alt+R、Alt+G(回転やスケールや位置の初期化)

Unity用にFBXで書き出します。

Unityを想定したアニメーション作り

モデルを書き出したのと同じファイルをコピーして使用し、ポーズをつける

クォータニオンだと360度回転できず、たとえば270度を指定すると位置が近いほうに回転するので
XYZオイラー角のほうにキーフレーム打つといいです。たぶん。

Animationタブで動きをつけていきます。
ポーズモードで、ポーズアセットを作成を押して、録画ボタン?を押して作業します。

シェイプキーエディターで表情もつけることができます。
書き出し方法は元のモデルと合わせます。
書き出しは全ローカルで(Blenderファイルから作った場合)
多分FBXから作った場合、すべてFBXかな?
FBXから作る場合は読み込み時にボーンの角度が変にならないように注意。
書き出し時、「アーマチュア」だけチェックでいいと思う。メッシュなどは不要。

Unity側でやること

FBXをヒューマノイドにしない。ジェネリックで使う。

モデルのFBXと、アニメのFBXの設定を合わせる。
合わせたらアニメーションデータだけコピーする(コピーしないと編集できない)

撮影用タイムラインを作り、ヒエラルキーに置く。
タイムラインにモデルとアニメーションを配置

これでいけるはずです。

エンプティーを使って快適なアニメーション制作環境づくり

こんなかんじで、エンプティ(四角)とボーンを用意します。
どちらもルートボーン1つにバラバラのボーンが入ってる状態。
で、ポーズモードにして
ボーンのコンストレイントのプロパティから
1こ1こエンプティと関連付けていきます。

ChildOf、逆補正を設定、のあとにターゲット指定せよ。
他のはうまくいかなかった…ボーンとエンプティは回転の軸が90度違う?とかで。

こうするとなんと、エンプティを動かせばボーンが動きます。
これが動かしやすいリグの作り方ってやつです

実はこの手法を覚えたくてずっとヤキモキしていました。
オートリグなんかもあるけどまず仕組みを覚えたくて。
やったーできたぞー

Blenderで作って、最後にベイクする

コンストレイント使っていなければ、
Blenderで動きを作ればもういいかと思いがちですが
Unityで使う場合はベイク必須らしい。

同一ボーンで回転モード(クォータニオンとかオイラー角)が混在しているとよくないらしい。

あと、ちょいちょい仮ベイクしてUnityで確認すると事故らないよ。

逆補正を設定は、コンストレイントをつけるときに
移動を初期化?してくれる

例えば手に乗せて動かしたい場合に、ベタ付けすると手に逆さまについたりするけども
これを押すと位置が元に戻り、その位置から追従するようになる。

その後手の上に動かせばちゃんと動くっぽい。

動いてくれ~~~

いつもお世話になっているChatGPT

ポーズモードでベイク

とりあえずこんな設定でやってみる

動かないのは2体をいっぺんにFBXにしているから

女の子だけ選択して書き出し、FBXをヒューマノイドにする(おそらくVRMはヒューマノイド)

うごいたぁ!

あとはハンバーガーくん(ジェネリック)を合成すれば…

そしてアニメーションをロックしながら、カメラを動かしてカメラワークも作る

カメラは動かせなかったけどできた!

コメント

タイトルとURLをコピーしました