CGBoxの一部の記事にはアフィリエイト広告が含まれております。
Blenderのアニメーションをunityにインポートする方法とFAQ!
こんにちは。
今回はBlenderでアニメーションを制作してunityに持っていくまでの手順を解説していきたいと思います。
今回unityは2019.4.31f1を使用しております。
Blenderでアニメーションを作る
まずはBlenderでアニメーションを作っていきましょう。
今回はサンプルで位置・回転・スケールが変わるアニメーションを作りました。こちらをunityに持っていきます。
当メディアではアニメーションに関する記事をまとめているので、アニメーションの作り方に関しては割愛します。
アニメーションの作り方に関して知りたい人は以下の記事をお読みください。
FBXでエクスポート
アニメーションができたら、FBXでエクスポートします。
FBXのエクスポート設定はデフォルトのままで問題ないです。
もし設定を変えている人は以下の2点に注意してエクスポートしましょう。
- アーマチュア・メッシュにチェックを入れる
- アニメーションをベイクにチェックを入れる
unityでアニメーションをセットアップ
次にunityにインポートしていきます。
unityへのインポートは単純にドラック&ドロップするだけです。
ここからアニメーションをセットアップしてきます。手順は以下の通りです。
何もない状態からドラック&ドロップをするとEntryに繋がれます。作成したアニメーションをEntryに繋げてください。
以上がUnityでアニメーションを設定する手順です。
ループさせる方法
次にアニメーションをループさせる方法を解説していきます。
方法は簡単で、インポートしたオブジェクトのAnimation設定のところにあるLoopTimeにチェックを入れるだけです。
このようにアニメーションがループします。
FAQ
最後に困った場合の対処法をFAQとしてまとめていきたいと思います。
再生すると位置がずれる
このように再生するとアニメーションの位置がずれる対処法について解説していきます。
これはオブジェクトを動かしたことが原因で、アニメーションは位置情報にフレームが打たれているため再生すると記憶された位置からの再生となります。
これを防ぐ方法として、CreateEmptyでGameObjectを生成してその中にオブジェクトを入れます。この空のGameObjectを動かすことで、動かした位置からアニメーションを再生することが可能です。
ただし、気を付けないといけないのがGameObjectを最初にリセットしないと、再生位置がずれます。
GameObjectを生成したら、必ず位置のリセットを行いましょう。
動きが違う
Blenderで制作した動きと異なる動きが再生される場合はLoopPoseにチェックが入っているか確認しましょう。
チェックを外すと同じ動きが再生されるはずです。詳しくは以下の記事を参照ください。
反映されない・動かない
アニメーションが反映されない・動かない場合、手順のどこかを見落としている可能性があります。
よくあるのが、オブジェクトにAnimatorを追加してないとかですかね。手順をチェックしてみましょう。
あとは、アーマチュア付きのオブジェクトをエクスポートすると沢山アニメーションが生成されるケースもあります。
この場合は右下のプレビューから制作したアニメーションを確認してControllerに追加しましょう。
まとめ
以上がBlenderからUnityにアニメーションをインポートする方法でした。
最近はVRchat向けのアセットをUnityで制作しているので、次はVRchatのアニメーション制作について解説していきたいと思います。
Unity用アセット販売中!
当メディアで運営しているアセットショップ「NickNackHolic」にてUnity用のアセットを販売しております。
ゲーム制作やVRchat、Clusterなどで使用できる便利なアセットを販売しております。
一部無料のアセットもあるので、ぜひ覗いてみてください!
Nick Nack Holic
VRchatやゲームアセット、映像作品で使える「雑貨」を販売中