スキンされた スタティック メッシュ オブジェクトや スケルタルメッシュ オブジェクト用の正確な非線形デフォーマ システムの作成プロセスは、複雑で計算量が多くなります。これらの変形シミュレーションをリアルタイムで計算する場合、特にそうです。Unreal Engine の 機械学習 (ML) デフォーマ フレームワークを使用すると、実行時に複雑なメッシュ変形を近似できます。外部で事前に生成されたメッシュ変形シミュレーション データを使用して ML デフォーマ モデル をトレーニングし、高品質のメッシュ変形を模倣することで、リアルタイムでの変形生成における計算コストをかけずに、ゲーム内メッシュ変形の品質を向上させることができます。
また、Unreal Engine Marketplace では、必要なメッシュ変形データの生成に使用できる AutoDesk Maya のプラグインも入手できます。AutoDesk Maya でメッシュ変形データを生成した後、データは FBX (.fbx) および Alembic (.ab) ファイルとしてエクスポートされ、Unreal Engine にインポートしてデフォーマ モデルのトレーニングに使用できます。
このドキュメントでは、Autodesk Maya でメッシュ変形シミュレーション データを生成し、そのデータを Unreal Engine で使用して、実行時にキャラクターのメッシュ変形を近似するようにデフォーマ モデルをトレーニングするワークフローの例を示します。
前提条件
- ML デフォーマ フレームワーク はプラグインなので、使用する前に有効にする必要があります。Unreal Engine メニューで [Edit (編集)] > [Plugins (プラグイン)] に移動し、[Animation (アニメーション)] セクションで ML Deformer Framework (ML デフォーマ フレームワーク) を見つけて有効にします。プラグインを有効にした後は、エディタを再起動する必要があります。

-
ここで説明するツールを使用してトレーニング データを生成する場合、ML デフォーマ ワークフローではその一部に Autodesk Maya を使用する必要があります。
-
Unreal Engine と Autodesk Maya の両方にスキン キャラクターが存在している必要があります。
ML デフォーマ モデル
ML デフォーマ フレームワークは、トレーニングされた ML デフォーマ モデルに依存して、スキン メッシュ変形を操作します。
プラグイン形式で既製のモデルをインストールすることもできます。この例では、ワークフローの一部でオプションで ML Deformer Nural Morph Model を使用します。これは、[Plugins] ウィンドウからインストールできます。
- ML Deformer Neural Morph Model はプラグインなので、使用する前に有効にする必要があります。Unreal Engine メニューで [Edit] > [Plugins] に移動し、[Animation (アニメーション)] セクションで ML Deformer Neural Morph Model を見つけて有効にします。プラグインを有効にした後は、エディタを再起動する必要があります。

プロジェクトにインストールして使用できるプレハブ モデルが他にもいくつかあります。プラグインの C++ パッケージ内で独自の ML デフォーマ モデルを作成したり、既存のモデルをカスタマイズしたりすることもできます。
ML デフォーマのサンプル コンテンツ
さらに、新しい 機械学習 (ML) デフォーマのサンプル プロジェクト をダウンロードして、ML デフォーマ システムを使用したキャラクターのフルボディのメッシュ変形を確認できます。このサンプル プロジェクトには、コントロールリグ によって制御されるアニメートされたキャラクターのインタラクティブなシネマティックが含まれているため、リニア スキン メッシュを再生して ML デフォーマによって生成された変形と比較できます。さらに、代替アニメーションを使用してキャラクターを操作したり、コントロールリグ を編集したり、衣服やスキンの表示を切り替えたり、メッシュに対する変化の確認や ML デフォーマ システムと機能の学習を行うためにさまざまな ML デフォーマ モデルの効果を見たりできます。
ML Deformer サンプル プロジェクト は、Unreal Engine マーケットプレイス の [UE Online Learning (UE オンライン ラーニング)] タブからダウンロードできます。

Autodesk Maya プラグインを設定する
ML Deformer Data Generation Maya プラグイン をダウンロードして、インストールする必要があります。これを行うには、まず Maya ML Deformer - Data Generation Maya Plugin マーケットプレイス ページに移動し、プラグインをダウンロードします。このワークフロー例では、Epic Games が開発した Maya プラグインを使用して、キャラクターのランダムなポーズを生成します。ただし、こうしたランダムなポーズはどんな DCC からでも生成できます。オプションで、他の DCC アプリケーションでランダムなポーズを生成するスクリプトを作成することも可能です。

プラグインがインストールされると、Unreal Engine のインストール ディレクトリの「Plugins」フォルダ内に格納されます。デフォルトでは、このプラグインは次のパスのフォルダにインストールされます。
…\Engine\Plugins\Marketplace\MayaMLDeformer\Content\MayaMLDeformer.zip
「MayaMLDeformer.zip
」のコンテンツを「C:\Users\"user name"\Documents\maya\modules
」に解凍します。
「modules
」フォルダがない場合は、作成することができます。

Autodesk Maya を開くと、メイン メニュー バーに [UE MLDeformer] が表示されるはずです。

Maya でトレーニング データを生成する
ML Deformer プラグインは、機械学習アルゴリズムに役立つデータ セットを生成するボーンにプロシージャルなキーフレームを設定することで、キャラクターのトレーニング データを作成します。トレーニング データ生成プロセスを開始するには、まずツールを開く必要があります。
Maya のメインメニュー バーから、[UE ML Deformer] > [Data Generator (データ ジェネレーター)] をクリックすると、[Training Data Generation Setup (トレーニング データ生成セットアップ)] ウィンドウが表示されます。

また、Maya シーンにスキン キャラクターをインポートするか、開きます。このワークフロー例では、「MetaHuman」が使用されています。

ボーン パラメータを追加する
ジョイントをトレーニングするには、修正するノードと属性のリストおよびこれらの属性が受け入れることのできる値の範囲を追加する必要があります。
追加するメッシュのジョイントをすべて選択し、[Training Data Generation Setup (トレーニング データ生成セットアップ)] ウィンドウの [Parameters (パラメータ)] セクションで [+] をクリックします。

メッシュのジョイントを選択した状態で [+] を選択すると、[Add Parameters (パラメータを追加)] ウィンドウが開き、トレーニングで使用するジョイント属性をさらに調整できます。また、[Refresh (更新)] ボタンをクリックすると、現在の選択内容でパラメータ リストが更新されます。

パラメータとして追加したいジョイント属性を選択して、[Add Selected Parameters (選択したパラメータを追加)] をクリックし、[Training Data Generation Setup] に追加します。ほとんどの場合、ジョイントで必要なのは回転属性だけです。

[Attributes Filter (属性フィルタ)] セクションを使用すると、自動的に属性を絞り込んで除外することができます。[+] ボタンをクリックして新しいエントリを追加し、除外したい属性に基づいた名前を付けます。このワークフロー例では、lockInfluenceWeights、scaleX、scaleY、scaleZ、translateX、translateY、translateZ、visibility、dropoff、smoothness のエントリをリストに追加します。

ボーン パラメータを設定する
属性が追加されたら、今度は各軸の可動範囲を設定する必要があります。これには、各属性を選択して、[Parameter Properties (パラメータ プロパティ)] でその軸の可動範囲の [Minimum (最小)] と [Maximum (最大)] を指定します。これらの値は、キャラクターの複雑度やタイプに応じて、できるだけ現実的な値にする必要があります。このデータの定義は、ML デフォーマのトレーニング プロセスの正確性と品質の確保に必要です。このプラグインでは、値がそのジョイントに対して設定されている場合、Maya で設定されているジョイント制限に合わせて値を自動的に初期化します。また、特定のパラメータ タイプにデフォルトを指定することもできます。

これらのパラメータを正しく設定するのは時間がかかるため、[File (ファイル)] > [Save Config (コンフィグを保存)] をクリックして進捗を「.json
」ファイルとして保存することをお勧めします。

保存した設定は、[File] > [Load Config (コンフィグをロード)] を選択して復元できます。コンフィギュレーション ファイルはノード名および属性名に基づいており、名前が一致するすべての Maya のシーンで使用できます。
メッシュを設定する
トレーニング データを確定するには、[Base Mesh (ベース メッシュ)] と、オプションで [Target Mesh (ターゲット メッシュ)] を指定する必要があります。
ベース メッシュ はスケルトンにバインドされたメッシュです。Unreal Engine 全体で使用されるスケルタルメッシュ アセットと同じであり、リニア スキニングを使用します。
ターゲット メッシュ は、ベース メッシュと同じ頂点とトポロジを含む別のメッシュであるものの、変形に使用されます。たとえば、ターゲット メッシュは、リアルな変形を作成するために、ボリューム保存手法や筋肉シミュレーションを使用する場合があります。ターゲット メッシュは Maya のものを使用したり、Houdini などの外部プログラムで作成することもできます。ターゲット メッシュは alembic キャッシュ .abc
としてエクスポートされます。
ベース メッシュとターゲット メッシュを指定するには、[Mesh Settings (メッシュ設定)] 領域の [+] ボタンをクリックします。ウィンドウが表示されるので、[Select (選択)] ボタンをクリックし、各メッシュを指定します。ターゲット メッシュはシーンに含まれていない限りオプションです。

メッシュを選択して、[OK] をクリックすると、[Mesh Settings (メッシュ設定)] リストに追加します。

スケルタルメッシュが複数のメッシュで構成されている場合、個々のメッシュを [Mesh Settings] リストに追加する必要があります。通常、これは、モジュラー キャラクター を使用している場合に限り、行う必要があります。
ポーズ生成を開始する
最後に、[Generator Settings (ジェネレーター設定)] を指定して、トレーニングの長さと構成を決定します。キーフレームは、パラメータ リストの各属性に対して、[Num Poses (ポーズ数)] ごとに作成されます。

名前 | 説明 |
---|---|
Num Poses (ポーズ数) | 作成するランダム ポーズの数。これらのフレームに対してアニメーションを作成します。推奨範囲は 5,000 ~ 25,000 ですが、一般的なケースでは、15,000 に設定します。 |
トレーニングで適切な結果を得るには、大量のデータが必要です。Unreal のデフォルトのトレーニング設定に対応するアニメーション データは、約 15,000 フレームと想定されています。より少ないデータ セットでトレーニングすることもできますが、多くの場合、結果の品質が低下します。[Num Poses] の値が大きいほど、トレーニングに時間がかかります。「5,000」などの小さい値から始めて、それですでに良好な結果が得られるかどうかを確認してみてください。
Start Frame (開始フレーム) | ランダムに生成されるポーズが開始するフレーム番号です。「0」より大きい値を設定することで、既存のアニメーション データと生成されたフレームを組み合わせることができます。 |
Active Parameters (アクティブ パラメータ) | 各フレーム間のポーズのランダム性の度合い。ほとんどの場合、「75%」前後に設定する必要があります。値が高いほど品質が高くなります。ただし、「100%」に設定すると、シミュレーション上の問題が発生することがあります。値を「100」にすると、パラメータ リスト内のすべての属性がフレームごとにランダム化されます。値を「40」にすると、パラメータの 40% のみがフレームごとにランダム化されます。 |
[Generate (生成)] をクリックすると、Maya でのトレーニング データ生成プロセスを開始します。[Target Mesh] と [Target Alembic File (ターゲット Alembic ファイル)] を使用している場合、このプロセスに非常に長い時間がかかることがあります。また、Alembic ファイルは頂点数とポーズ数の設定によっては非常に大きくなる (約 50 ~ 100 GB) ため、十分な空きディスク容量を確保してください。

トレーニング データの生成が終了すると、[Target Alembic File] を指定した場合は、エクスポートされた .fbx
ファイルおよび .abc
ファイルが得られます。

FBX ファイルと Alembic ファイルは同じ数のフレームを含んでおり、各フレームは同じスケルタル ポーズに対応している必要があります。
Unreal Engine で ML Deformer アセットを設定する
これで、完成したトレーニング ファイルを Unreal Engine に取り込むことができます。
Alembic ファイルをインポートする
まず、トレーニング プロセスで作成した .abc
ファイル、または別の外部デフォーマ ツールで作成したファイルをインポートします。コンテンツ ブラウザ で、[Import (インポート)] をクリックし、.abc
ファイルを選択して [Open (開く)] をクリックします。

インポート設定ダイアログ ウィンドウで、インポートに関する次のパラメータを設定します。
-
[Import Type (インポート タイプ)] を [Geometry Cache (ジオメトリ キャッシュ)] に設定します。
-
[Flatten Tracks (平坦化されたトラック)] を無効にします。これは、FBX メッシュを Alembic Geometry Cache トラックと一致させるために必要です。メッシュが 1 つのみの場合は、[Flatten Tracks] を有効にしておくことができますが、必須ではありません。Alembic Track の名前の先頭は、Maya のアウトライナで表示される名前と同じである必要があります。
-
より高い精度を確保するために、[Compressed Position Precision (圧縮された位置の精度)] を「0.001」に設定します。デフォルトを維持すると、ML デフォーマが圧縮によって生じた誤差を学習することがあります。
-
[Store Imported Vertex Numbers (インポート済み頂点数の格納)] を有効にします。これは、スケルタルメッシュとジオメトリ キャッシュの間で頂点を一致させるために必要です。これを怠ると、ML デフォーマ エディタが警告を表示し、ジオメトリ キャッシュを再度インポートする必要があります。

これらのパラメータを設定したら、[Import] をクリックして、ジオメトリ キャッシュをインポートします。このプロセスは、alembic ファイルのサイズにより非常に長い時間がかかる場合があります。
トレーニングした FBX をインポートする
次に、Maya のトレーニング データから作成した FBX ファイルをインポートする必要があります。[FBX Import Options (FBX インポート オプション)] で、インポートに関する次のパラメータを設定します。
-
すでに Unreal Engine に FBX ファイルをインポートしている場合は、キャラクターのスケルトンを使用するように [Skeleton (スケルトン)] フィールドを設定します。
-
[Import Animations (アニメーションをインポート)] を有効にします。
-
[Animation Length (アニメーションの長さ)] を [Exported Time (エクスポート時間)] に設定します。

これらのパラメータを設定したら、[Import] をクリックして、FBX をインポートします。このプロセスは、FBX ファイルのサイズにより非常に長い時間がかかる場合があります。
ML Deformer アセットを作成する
次に、Alembic と FBX の両方のシーケンスを格納し、関連付けるために、ML Deformer アセット を作成する必要があります。コンテンツ ブラウザ で、[+] ボタンをクリックして、[Animation (アニメーション)] > [Deformers (デフォーマ)] > [ML Deformer (ML デフォーマ)] を選択します。アセットに 名前 を付けて開きます。

ML Deformer アセットを開いた後、キャラクターのメッシュ変形をトレーニングするために使用されるアセットのデータ モデルを選択できます。選択したモデルは、最終結果に最も大きな影響を与えます。
データ モデル | 説明 |
---|---|
Neural Morph Model (NMM) | このモデルは、肉のようなメッシュや、ボリュームが保持される変形やその他の修正などの一般的な変形を操作する場合に最適に機能します。デフォルトではこのモデルを使用することをお勧めします。 |
Nearest Neighbor Model (NNM) | この実験モデルは、クロスの変形に最適に機能するように設計されています。 Nearest Neighbor モデルは実験的なものであるため、これに依存した形でプロジェクトをシッピングするのはお勧めしません。 Nearest Neighbor Model の詳細については、「EDC のブログ投稿:Nearest Neighbor Model」を参照してください。 |
Vertex Delta Model (VDM) | このサンプル モデルは、独自のデフォーマ モデルの作成方法の学習に最適です。 このモデルを運用環境で使用しないでください。 |
ドロップダウン メニューを使用して Neural Morph Model が選択されていることを確認し、[ML Defromer Mode (ML デフォーマ モード)] が [Training (トレーニング)] に設定されていることを確認します。

ML デフォーマ エディタ の [Details (詳細)] パネルで、キャラクターのスケルタルメッシュとインポートされたトレーニング済みの FBX アニメーション シーケンスの両方を、それぞれのプロパティに割り当てます。これで、メッシュがビューポートの Training Base というラベルの下に表示されるようになります。

また、Alembic ファイルからインポートされたジオメトリ キャッシュ アセットを Geometry Cache プロパティに割り当てます。これで、ターゲット メッシュがビューポートの Training Target というラベルの下に表示されるようになります。

緑色のデバッグ レンダリングがトレーニング ベース モデルのメッシュ上に表示されます。このレンダリングはベース メッシュとターゲット メッシュの差分 (デルタ) を表しています。デフォーマ モデルがトレーニング中にこれらを学習しますので、レンダリングが正しく表示されていることを確認してください。ターゲット メッシュが回転されているか、トレーニング ベースからオフセットされている場合は、[Alignment Transform (アライメント トランスフォーム)] を使用してそれらを位置合わせできます。両者を重ねる必要はありません。回転とスケールだけを一致させるようにしてください。
タイムラインの再生ヘッドをドラッグすると、両方のシーケンスが一緒にスクラブされ、アニメーションのポーズが一致していることを確認できます。プレビューするすべてのフレームで緑色のデバッグ レンダリング (デルタ) が正しく見えることを確認してください。

メッシュ変形をトレーニングする
Neural Morph Model トレーニング データ モデルを使用して ML デフォーマ アセットを作成および設定した後は、トレーニングされたメッシュ変形の結果に影響を与え、制御するための入力を設定できます。
入力と出力を設定する
ML Deformer アセットの [Details (詳細)] パネルの [Inputs and Outputs (入力と出力)] セクションを使用すると、モデルをより適切にトレーニングするのに参照する必要のあるメッシュのスケルトンからボーンまたはカーブを指定できます。ML デフォーマは、選択したボーンの回転、またはカーブのデルタを使用して、メッシュを変形する方法を学習します。
ボーン入力を使用する場合は、ツイスト と ロール の回転や他のヘルパー ボーンをトレーニングから除外することをお勧めします。さらに、変形トレーニングでは指定されたボーンの回転値のみが使用されるため、ボーンの 移動 や スケール データはトレーニング結果に影響しません。スケルトンには、ML デフォーマがターゲットの変形を近似するのが難しい領域に、このような種類のヘルパー ボーンが含まれている可能性があります。
[+] ボタンを使用して、[Bone Include List (ボーン包含リスト)] プロパティでボーンを手動で割り当て、ドロップダウン メニューを使用してボーンを選択できます。
あるいは、[Animated Bones Only (アニメートされたボーンのみ)] ボタンを使用して、アニメーション データを含むスケルタルメッシュのすべてのボーンを [Bone Include List] プロパティに自動的に入力することもできます。

ただし、自動生成されたリストからボーンを削除しない場合、スケルトン内のすべてのボーンが入力として使用されます。一般に、これでは最適な変形結果が得られないため、変形に依存されているボーンの最小セットのみを指定することをお勧めします。
たとえば、手の複雑なメッシュ変形を実行しないようにするために、指のボーンを [Bone Include List] から除外することができます。手や足など、ボディの小さな部分における複雑な変形は、メッシュの外観の全体的な結果にほとんど影響を与えないにも関わらず、多くの計算量とリソースを要する可能性があります。リニア スキニングは引き続き ML デフォーマと連動してメッシュ上で実行されるため、[Bone Include List] から除外されたボーンは通常どおり変形されます。
ボーン入力と同様に、メッシュ変形トレーニングに対して影響を与える入力カーブのセットを提供することもできます。カーブを使用すると、ボーンの回転以外のデータを使用して変形トレーニングに影響を与えることができます。たとえば、カーブは、顔のアニメーションを扱う場合に便利です。カーブ値を使用して、まぶたの開閉具合や、左眉頭の上げ具合を制御できます。
画像
ボーンとカーブ グループを設定する
Neural Morph Model の ローカル モード では、主に個々のボーンによって引き起こされる変形に注目します。これにより、メッシュの特定の部分の変形が複数のボーンまたはカーブに依存する場合に問題が発生する可能性があります。たとえば、キャラクターの背中の領域は、左右の鎖骨のボーンの影響を受ける可能性があります。
これに対応するために、ローカル モードの Neural Morph Model は、ボーン グループ と カーブ グループ の使用をサポートしています。これらのグループを使用すると、連携してよりリアルな変形を生成するボーンまたはカーブのセットを作成できます。たとえば、キャラクターの鎖骨に対応するボーン グループを作成する場合、[+] を使用して新しいボーン グループを作成し、ドロップダウン メニューから 上腕骨 と 脊椎骨 を選択できます。
これは、左右の大腿骨で構成されるボーン グループを示すサンプル画像です。

各ボーンまたはカーブ グループは、[Num Morph Targets Per Bone/Curve] プロパティで定義されているのと同じ数のモーフ ターゲットを生成します。
モデルをトレーニングする
ML デフォーマ エディタの [Details] パネルで、[Training Setting (トレーニング設定)] の [Mode (モード)] プロパティを [Local (ローカル)] に設定します。
デフォルトでは、Neural Morph Model を使用して新しい ML Deformer アセットを作成する場合、[Mode] プロパティはローカルに設定されます。

[Training Settings] の [Mode] では、デフォーマの動作方法や使用できる変形の種類を大きく変更できます。デフォーマ モデルをトレーニングするときは、次のモードから選択できます。
トレーニング設定モード | 説明 |
---|---|
Local (ローカル) | このモードは、個々のジョイント周囲の変形を学習するように最適化されており、必要なトレーニング データの量は最小限です。トレーニング データの再ビルドが困難な場合を除き、このオプションをデフォルトで使用する必要があります。 各ボーンまたはカーブは、このモデル内に一連のモーフ ターゲットを作成します。生成されるモーフ ターゲットの総数は次のようになります。
Local モードは、Global モードよりも構造化 ROM などの構造化データの処理が得意です。 |
Global (グローバル) | このモードでは、複数の関節の協調動作から変形を学習しますが、より多くのトレーニング データが必要です。 このモードは Local モードと同様に動作しますが、すべてのボーンが 1 つの大きなボーン グループ内にあるかのように動作します。これは、トレーニング データとしてランダム化されたポーズを使用する場合に最適に機能します。 |
トレーニング設定モードを設定した後、ML デフォーマ エディタのツールバーの [Train Model (モデルをトレーニング)] ボタンを選択してトレーニングを開始します。
メッシュとトレーニング データの複雑さによって、このプロセスは時間がかかる場合があります。

モデルのトレーニング プロセスが完了したら、[Details] パネルにある ML Deformer アセットの [Compression Settings (圧縮設定)] に含まれるプロパティを使用して、全体的なメモリ使用量を削減し、デフォーマ アセットのパフォーマンスを向上させることができます。

下記は、[Compression Settings] のリストとその機能の説明です。
プロパティ | 説明 |
---|---|
Delta Zero Threshold | このプロパティを使用すると、設定値を下回る長さのデルタを無視するしきい値をセンチメートル (cm) 単位で設定できます。これらの小さなデルタは、モデルをトレーニングする際の視覚的な変形の品質に大きな影響を与えません。設定された値により、指定された値よりも短い長さのデルタがすべて削除され、必要なメモリ量が大幅に削減され、プロジェクトの GPU パフォーマンスが向上します。値が大きいほど、より多くのデルタが削除され、値が小さいほど、無視されるデルタが少なくなります。値を「0」にするとすべてのデルタが使用されるため、最高の品質が得られますが、メモリの使用量が最も多くなり、パフォーマンスが最も遅くなります。変形する際の目標となる視覚的な忠実性を維持できる範囲でこの値をできるだけ大きくすることをお勧めします。 ML Deformer アセットを使用する際のプロジェクトの実行時のパフォーマンスとメモリに最も大きな影響を与えるのは、このプロパティの機能値です。 |
Compression Level | You can use this property to compress the ML Deformer asset's deltas.値を高くすると圧縮率は向上しますが、品質は低下します。変形する際の目標となる視覚品質を維持できる範囲でこの値をできるだけ大きくすることをお勧めします。 [Compression Level] プロパティを調整する前に、まずはプロジェクトの [Delta Zero Threshold] プロパティを適切に設定することをお勧めします。 |
ML デフォーマ エディタの [Details] パネルで [Statistics (統計)] プロパティ セクションに移動すると、圧縮設定の結果を監視できます。

統計の [CPU Performance (CPU パフォーマンス)]、[Model - Cooked (モデル - クック済み)]、[GPU Memory (GPU メモリ)] は、ゲーム内の ML Deformer アセットのパフォーマンスに関する洞察を提供します。ここでは、ML Deformer アセットに関連する利用可能な [Memory (メモリ)] と [Performance (パフォーマンス)] の統計のリストと、その機能について説明します。
ここに表示している値は推定のものであり、実際は異なる場合があります。
統計情報 | 説明 |
---|---|
CPU Performance (CPU パフォーマンス) | ここでは、CPU パフォーマンスをマイクロ秒 (μs) 単位で参照できます。たとえば、100 の値は 0.1 ミリ秒を意味します。ただし、ほとんどの計算は GPU で行われます。これは、[GPU Memory] (Morph Targets) プロパティで確認するか、Unreal Insights の [Morph Targets] カテゴリから確認できます。 |
Main Memory (メイン メモリ) |
|
GPU Memory (GPU メモリ) (Morph Targets (モーフ ターゲッド)) | ML デフォーマ モデルが実行時に GPU で使用しているビデオ メモリの量をメガバイト (mb) 単位で表示します。ML デフォーマのメモリ使用量を監視する場合、この統計が最も重要となります。 |
トレーニング プロセスが完了したら、ML デフォーマの [Testing (テスト)] モードで結果を表示できます。

[Visualization (ビジュアリゼーション)] パネルで [Weight (ウェイト)] プロパティを調整すると、リニア スキン メッシュ (左) と比較した ML デフォーマ メッシュ (右) の効果を確認できます。

[Show Heat Map (ヒート マップを表示)] プロパティを有効にし、[Visualization] パネルで [Heat Map] オプションを調整すると、ML デフォーマによって変形されているメッシュの領域が視覚的に表示されます。

デフォーマ ブループリントを設定する
レベルのキャラクターで ML デフォーマを使用し始めるには、ブループリントの ML Deformer コンポーネント を使用して、キャラクターを設定する必要があります。
まず、アクタ ブループリント を作成します。コンテンツ ブラウザ で、[+ Add (+追加)] > [Blueprint Class (ブループリント クラス)] をクリックして、[Actor (アクタ)] を選択します。作成されたら、ブループリントを開きます。

スケルタルメッシュをコンテンツ ブラウザから [Components (コンポーネント)] パネルにドラッグし、ブループリントに追加します。

次に、[Components] パネルの [+ Add (+追加)] をクリックし、[MLDeformer] を選択して、MLDeformer コンポーネント を追加します。

MLDeformer コンポーネント を選択して、[Details (詳細)] パネルで ML Deformer アセット を指定します。

最後に、Skeletal Mesh コンポーネント を選択して、Mesh Deformer プロパティで デフォーマ グラフ を指定します。

デフォーマ グラフがない場合は、「Engine > Plugins > MLDeformer Content > Deformers」コンテンツ フォルダにあるサンプルの DefaultMLDeformerGraph を使用することができます。このフォルダにアクセスするには、コンテンツ ブラウザ で [Setting (設定)] を選択し、[Show Engine Content (エンジンのコンテンツを表示)] と [Show Plugin Content (プラグイン コンテンツを表示)] の両方を有効にします。

詳細情報
Unreal Engine の ML デフォーマ システムの詳細については、次のリソースを参照してください。
ML デフォーマのサンプル プロジェクト
さまざまなモデルや編集が MetaHuman の ML デフォーマのメッシュ変形にどのような影響を与えるかを観察するために使用できるインタラクティブなサンプル プロジェクトについては、「ML デフォーマ サンプル プロジェクト」を参照してください。
Nearest Neighbor のリソース
Nearest Neighbor ML デフォーマ学習モデルの詳細については、「EDC のブログ投稿:Nearest Neighbor Model」を参照してください。
ゲーム開発者カンファレンス ML デフォーマのデモ
ML デフォーマ システムの詳細と、ML デフォーマの機能を紹介するライブ デモを見るには、「State of Unreal | GDC 2023」の講演をご覧ください。