今回は、Unreal Engineでのアニメーションの作り方をご紹介します
アンリアルエンジンでキャラクターなどをアニメーションさせたい場合に、大きく分けて、2つの方法があります。
- BlenderやMayaなどのCGソフト(DCCツール)でアニメーションを作成し、インポートして、使用する
- アンリアルエンジン内でアニメーションを作成する
それぞれ紹介します。
特に初心者でもやりやすい外部ソフトで作成し、インポートして使う方法を重点的に紹介します。
UE4.27を使用して説明しますが、UE5でもやり方は、同じです。
アニメーションをインポートして使用する
まず、初めに、MayaやBlenderなどの外部のCGソフト(DCCツール)でアニメーション作成して、読み込む方法です。
こちらでも大きく分けて2つの方法があります。
- FBXでエクスポートして、スケルタルメッシュとしてインポートする
- Alembicを使用する
それぞれ紹介します。
スケルタルメッシュでアニメーション
キャラクターなどの複雑なアニメーションの場合は、ボーンを作成し、バインドし、必要に応じてリグを作成し、アニメーションさせることが多いかと思います。
そういった場合に最適な方法です。
スケルタルメッシュについては、こちらでも紹介しているので、スケルタルメッシュがどういったものかわからない方は、ぜひご覧ください。
FBXでエクスポート
DCCツールからは、FBXでエクスポートします。
この時にジョイントも一緒にエクスポートしてください。
また、エクスポート設定でアニメーションも含める設定をオンにするのを忘れずに。
ソフトにより、表示内容が若干異なりますが、Mayaだとこのような感じです。
また、アンリアルエンジンでは、ブレンドシェイプ(UE4だとモーフターゲット)もインポート、使用することができるので、ブレンドシェイプも使用したい場合は、こちらも含める設定にします。
スケルタルメッシュとアニメーションのインポート
以下の設定にチェックを入れます。
- Skeletal Mesh
- Import Mesh
- Import Animation
- Import Morph Target(ブレンドシェイプをインポートしたい場合は)
この設定でインポートすることで、Skeletal Mesh、Skeleton、Animation、Physics Asset(ある場合)がコンテンツブラウザに表示されます。
ご覧の通り、アンリアルエンジンでは、アニメーションは、アセットとしてモデルとは別で保存されます。
そして、スケルトンが同じスケルタルメッシュであれば、アニメーションを使いまわすことができます。
アニメーションのみをインポートしたい場合は、「Import Mesh」を無効にして、インポートすることで、アニメーションアセットのみを読み込むことができます。
単純な移動のみで、スケルトンを使うまでもないアニメーションをインポートしたい場合は、DCCツールでボーンを1つ追加し、それにアニメーションを付けることで、アニメーションをインポートすることができます。
アニメーションアセットの使い方
アニメーションアセットは、常にそのアニメーションに紐づいたスケルタルメッシュで使うことができます。
的確に言うと、スケルタルメッシュ – スケルトン – アニメーション というように紐づいています。
レベル上で単に再生させたり、シーケンサーやブループリントで再生、ゲームのように操作などでアニメーションが切り替える場合などは、アニメーションブループリントで制御したりします。
アニメーションブループリントについては、こちらで詳しく解説されています。
レベル上でアニメーションを再生
単純にレベル上でアニメーションさせたいだけであれば、簡単です。
レベルに配置して、上記の画像のように
- Animation Mode: Use Animation Asset
- Anim to Play: 使用したいアニメーションアセットを選択
- Looping: アニメーションをループさせるか否か
- Playing: プレイ開始に再生させるか
などを設定することで、レベル上で単純にループ再生させたりすることができます。
この制御はBPで行うこともできます。
シーケンサーでアニメーションを再生
シーケンサーでアニメーションアセットを使用したい場合は、シーケンサーにスケルタルメッシュを追加し、「+Animation」ボタンを押すことで、アニメーションを選択できます。
好きな位置から再生することができます。
複数のアニメーションを追加して、「Weight」でアニメーションの度合いを調整したり、D&Dでアニメーションをブレンドすることもできます。
シーケンサーについては、こちらで詳しく解説しています。
モーフターゲット(ブレンドシェイプ)の使い方
モーフターゲットは、スケルタルメッシュを開き、(デフォルトで)右側にある「Morph Target Preview」で確認することができます。
基本的に、既存のアニメーションアセットにモーフターゲットを組み込んで使用します。
アニメーションアセットを開き、下部のタイムラインで「Curves」→「Add Curve」→「任意のモーフターゲット」を選択することで、モーフターゲットを追加することができます。
「Edit Curve」を押すことで、カーブエディタが開くので、そこでキーを打ち、アニメーションに組み込みます。
Alembicでアニメーション
続いて、Alembicのアニメーションを使用する方法です。
まず、「Alembic Importer」と「Geometry Cash from Alembic」プラグインを有効にします。
こちらは、実験的機能なので、使用の際はご注意ください。
.abc をインポートすると、「Alembic Cash Import Option」が開くので Import Typeを「 Geometry Cash」にします。
その他の設定は、基本的にこのままで大丈夫ですが、適宜、変更します。
インポートされてアセットをレベルに配置すると、Detailsに「Geometry Cash」の項目があるので、こちらで再生やループ、再生スピードなどの変更をすることができます。
シーケンサーで制御することもできます。
アンリアルエンジン内でアニメーションを作成する
シーケンサーでキーフレームアニメーションを作成することができます。
キャラクターなどの複雑なアニメーションの場合は、「Control Rig」という機能を用いることで、DCCツールでリグにアニメーションを付けるのと同じようにアンリアルエンジン内で行うことができます。
Control Rigは、Unreal Engine上でリグを組むことができる機能です。
そして、リグを組んだモデルとそのリグにシーケンサーでキーフレームアニメーションを付けることができます。
そのため、アニメーションのインポートする方法では、修正のたびに、エクスポートとインポートを繰り返す必要がありましたが、Control Rigを使用することで、アンリアルエンジンの中でアニメーションをつけ、修正することができ、とても便利です!
実際の使い方は、公式ドキュメントやこちらのチュートリアルが参考になるかと思います。
また、Control Rigが既に組まれ、シーケンサーでアニメーションを作成したサンプルも公開されています。
モーションキャプチャ/フェイシャルキャプチャ
Unreal Engineでは、リアルタイムにモーションキャプチャやフェイシャルキャプチャも行うことができます。
人間のみになりますが、MetaHumanを使用することで最初からそれらのセットアップがされており、簡単にモーションキャプチャ、フェイシャルキャプチャを行うことができます。
フェイシャルキャプチャはiPhoneがあれば特に簡単にできます。
やり方については、こちらで詳しく解説されています。
また、上記の方法より忠実度の高いMetaHuman Animatorが登場しています。
こちらはiPhone 12以上が必要になりますが、映画品質のフェイシャルキャプチャをお香ことができます。
モーションキャプチャもちゃんとやろうとすればXsenseなどの高価なモーションキャプチャスーツが必要になりますが、昨今はmocopiなどの安価なキャプチャデバイスも出ています。
まとめ
いくつかのアニメーション作り方や使い方を紹介しました。
1つは、スケルタルメッシュを使用する方法。
こちらが一番ポピュラーで、DCCツールでのアニメーションが慣れている方にとっては、良い方放火と思います。
2つ目は、Alembicを使用する方法。
こちらは、主にシミュレーション系などで使用することが多いかと思います。
ただ、試験的な機能なので、実際に使用する際は注意した方が良いのと、処理負荷が高いので、リアルタイムコンテンツで使う場合は、注意してください。
3つ目は、Control Rigを使用する方法。
比較的新しい機能で、アンリアルエンジン内で複雑なキーフレームアニメーションを作成することがで、再インポートなども必要ないので、そのまま確認することができます。
状況や目的に合ったやり方を選択するのが良いかと思います。
このサイトでは、その他にもUE5の基礎や使い方を解説しています。
よろしければ、ご覧ください!
最後まで、ご覧頂きありがとうございます!
参考になりましたら、嬉しいです!
コメント