この記事ではBlenderで作成したアニメーションをエクスポートしてUnityで使用する方法について紹介します。
※アニメーションについての説明がメインの記事です。
Unityで使えるように作られているモデルデータを使用しているため、エクスポートしたモデルがUnity上でうまく表示されない場合などの説明については省略していますのでご了承ください。
以下のバージョンを使用しています。
・Blender:3.1.2
・Unity:2022.1.1f1
使用データについて
無料で使える人型のモデルをダウンロードできる「Renderpeople」というサイトがあったのでこちらからモデルをお借りしています。
https://renderpeople.com/free-3d-people/
今回は「3D RIGGED PEOPLE」のモデルをダウンロードします。
「3D RIGGED PEOPLE」の下にある[FREE DOWNLOAD]ボタンをクリックし、FBX形式でダウンロードします。

ダウンロードできたら解凍し、中に入っているfbxファイルをBlenderでインポートします。

「rp_claudia_rigged_002_u3d.fbx」をインポートしてみました。

マテリアルを設定します。
メッシュを選択してマテリアルプロパティを開き、新しいマテリアルを追加します。
追加したマテリアルのベースカラー横の丸をクリックし、画像テクスチャを選択します。

「開く」を選択し、テクスチャ画像を選択して画像を開きます。
テクスチャ画像は、解凍したモデルデータのフォルダの「tex」フォルダ内に入っています。

マテリアルプレビューに変えると、テクスチャがついたことが分かります。

アニメーションを作成します。
試しに歩くアニメーションを作ってみました。
(手と足しか動かしていないので不自然ですが気にしないでください)

FBX形式でUnityにエクスポート
アニメーションも作成できたので、Unityにモデルとアニメーションをエクスポートしてみます。
FBX形式でエクスポートをします。

エクスポートの設定です。
オブジェクトタイプは必要なものだけ選択します。
今回はアーマチュアとメッシュを選択しました。
Shiftキーを押しながらクリックで複数選択ができます。
また、下の方にある「アニメーションをベイク」のチェックを入れておきます。

エクスポートしたファイルをUnityで開きます。
マテリアルの設定で画像テクスチャに指定したテクスチャとFBXファイルの2つをドラッグアンドドロップします。

アニメーションを動かすためにAnimator Controllerを追加します。
Projectウィンドウで右クリックし、「Create > Animator Controller」を選択します。

Animator ControllerをダブルクリックするとAnimatorビューが表示されます。
このAnimatorビューに、Blenderからモデルと一緒に持ってきたアニメーションを追加します。

Hierarchyウィンドウにモデルをドラッグアンドドロップしてオブジェクトを作成します。
このオブジェクトにAnimatorコンポーネントを追加し、Controllerには先ほど作成したAnimator Controllerを指定します。

Animatorビューに追加したアニメーションが再生されるようになります
今の状態だと再生してもアニメーションがループしないので、ループさせるように設定を変更します。
アニメーションを選択して、Inspectorウィンドウの[Edit]をクリックします。

真ん中あたりに「Loop Time」があるので、チェックを入れて[Apply]ボタンをクリックします。

設定後、実行してみると歩くアニメーションが再生されました。

アニメーションだけをUnityに取り込みたい場合は?
上で紹介した方法だとFBXファイルの中にモデルとアニメーションが一緒に格納されていました。
しかし後からBlenderで新しくアニメーションを追加した場合、もうモデルのデータはUnity側にあるのでいりませんよね。
アニメーションだけをUnityに取り込む場合の手順についても紹介します。
Blenderで手を挙げるアニメーションを追加しました。

「ファイル > エクスポート > FBX」を選択し、エクスポート設定を行います。
アニメーションのみの場合、オブジェクトタイプはアーマチュアのみ選択します。

Unityに取り込むと、最初の歩くアニメーションと先ほど作成した手を挙げるアニメーションの2つが入っています。

持ってきたアニメーションをクリックし、InspectorウィンドウのRigタブで設定を以下のように変更します。
・Animation Type:Generic
・Avatar Definition:Create From This Model
・Root node:root
変更したら[Apply]をクリックします。

適用するとAvatarが追加されました。

このAvatarをオブジェクトにしたモデルのAnimatorコンポーネントへ設定します。
Avatarを選択できる場所があるのでこちらにセットします。

Animatorビューにアニメーションを追加します。
歩くアニメーションを外して手を挙げるアニメーションに入れ替えました。
実行するとアニメーションが正常に再生されています。

まとめ:エクスポート設定を変えればアニメーションだけの出力もできる!
Blenderでモデルとアニメーションを一緒にエクスポートする場合は「アーマチュア」と「メッシュ」、アニメーションのみをエクスポートする場合は「アーマチュア」のみ選択してFBX出力すれば可能です。
あとはアニメーションのみの場合にUnity側でインポート設定をしてAvatarを作れば好きなだけアニメーションを追加できますね!
今回は省略していますがモデルのみを出力することもできるので、「モデルのみ出力」をして「アニメーションのみ出力」するのが一番きれいなやり方になりそうですね。
コメント