モーフ ターゲット は、何らかの方法で変形された特定のメッシュの頂点位置のスナップショットです。例えば、キャラクター モデルで、顔の形状を変えて表情を作り、その編集バージョンをモーフ ターゲットとして保存します。Unreal Engine では、モーフ ターゲットをブレンドし、キャラクターの顔の表情を作ります。モーフターゲットを FBX 経由で Unreal Engine にインポートし、アニメーション シーケンスに入れることができます。
これにより、複雑なモーフターゲットのアニメーションを Unreal Engine に非常に簡単にインポートできるようにします。ひとつのアニメーションを動かすモーフ ターゲットをいくつでも持つことができるからです。例えば、アニメーション パッケージでモーフターゲットを使ってダイアログを話すキャラクターをアニメートすることができます。このアニメーションでは、多くのモーフターゲットを使って顔のフルモーションをキャプチャーします。しかし、インポート時には、その結果はひとつのアニメーション シーケンスのように見えます。カーブ 経由で、各モーフ ターゲットのアニメーション データにアクセスできます。
FBX インポート パイプラインのモーフ ターゲット サポートは、3D アプリケーションからアンリアルへ、ゲームで使用するスケルタルメッシュのモーフ ターゲットを取得する簡単な方法です。FBX インポート パイプラインでは、任意の数のスケルタルメッシュのモーフ ターゲットをいくつでも単一ファイルにインポートすることができます。
このページは、FBX コンテンツ パイプラインを使用して Unreal Engine にモーフ ターゲットをインポートする方法について専門的に概説します。
Unreal Engine の FBX インポート パイプラインでは、FBX 2020.2 を使用します。エクスポート中に他のバージョンを使用すると、互換性がなくなる場合があります。
このページでは、 Autodesk Maya と Autodesk 3ds Max の両方の情報を載せています。以下でどちらかを選択すると、それに関連した情報のみが表示されるようになります。
命名
FBX フォーマットを利用して Unreal にモーフ ターゲットをインポートする場合、各モーフ ターゲットは 3D アプリケーションのブレンド シェイプまたはモーフの名前に従った名前が付けられます。
* 名前はブレンドシェイプ ノードの名前にブレンドシェイプの名前を追加したものになります。すなわち、[BlendShapeNode]_[BlendShape]
になります。
* 名前は、モーファー モディファイアのチャンネル名になります。
モーフ ターゲットのセットアップ
FBX にエクスポートするモーフターゲットを Maya でセットアップするには、ブレンドシェイプを使用する必要があります。以下のステップではエクスポート用にモーフターゲットをセットアップするために必要な手順について説明します。詳しい情報についてはアプリケーションのヘルプをご覧ください。
-
ベース メッシュから始めます。
-
ターゲット ポーズを作成するために修正するメッシュを複製します。この場合、頭部になります。ターゲット ポーズを作成します。この例では、ターゲット ポーズはキャラクターがウィンクすることです。
-
ターゲットメッシュを選択してから、ベースメッシュを選択します。
-
Animation メニューセットの Create Deformers メニューで、Blend Shape (ブレンド シェイプ) を選択します。このステップの後、必要に応じてターゲットメッシュを削除できます。
-
ブレンドシェイプ ノードがベースメッシュのプロパティに表示されています。これはアンリアルで使われる名前です。ブレンドシェイプ ノードとブレンド シェイプの名前をここで変更することができます。
-
チャンネルのウェイトを 1.0 まで調整すると、ベースメッシュがターゲットポーズに向かって補間されます。
FBX にエクスポートするモーフターゲットを 3dsMax でセットアップするには、モーファー モディファイアを使用する必要があります。以下のステップではエクスポート用にモーフターゲットをセットアップするために必要な手順について説明します。詳しい情報についてはアプリケーションのヘルプをご覧ください。
-
ベース メッシュから始めます。
-
ターゲット ポーズを作成するために修正するメッシュを複製します。この場合、頭部になります。ターゲット ポーズを作成します。この例では、ターゲット ポーズはキャラクターがウィンクすることです。
-
ベース メッシュに モーファー モディファイアを追加します。これは、積み重ねる順番として Skin モディファイアの前である必要があります。
-
モーフ チャンネルで、選択したものを追加したい場合は、モーファー モディファイアのプロパティを展開した先にある
を押します。または、チャンネル上で 右クリック して Pick Object From Scene を選択します。
-
ビューポートでターゲット メッシュをクリックします。
-
モーフ チャンネルが埋まり、ターゲット メッシュの名前が表示されます。これは Unreal でモーフターゲットに与えられる名前です。これは、モーファー モディファイアーのロールアウトの Channel Parameters セクションで変更できます。
-
チャンネルのウェイトを 100.0 まで調整すると、ベースメッシュがターゲットポーズに向かって補間されます。
モーフ ターゲットのエクスポート
-
ビューポートでエクスポートするベースメッシュとジョイントを選択します。
-
[File] メニューから Export Selection を選択します (選択に関係なくシーンの全てをエクスポートする場合は Export All (すべてをエクスポート))。
-
モーフ ターゲットのエクスポート先となる FBX ファイルの場所と名前を選択して、 [FBX Export] ダイアログで適切なオプションを設定します。モーフ ターゲットをエクスポートするために、 [Animations] チェックボックスとそのすべての [Deformed Models(変形したモデル)] オプションを有効にしなくてはいけません。
-
ボタンをクリックして、モーフ ターゲット (複数可) を含んだ FBX ファイルを作成します。
-
ビューポートで、エクスポートするベース メッシュとボーンを選択します。
-
[File] メニューから [Export Selected] (選択したものをエクスポート) を選択します (選択に関係なくシーンの全てをエクスポートする場合は [Export All] )。
-
モーフ ターゲットをエクスポートする FBX ファイルの場所と名前を選択し、
ボタンをクリックします。
-
[FBX Export] ダイアログで適切なオプションを設定します。モーフ ターゲットをエクスポートするために、 [Animations] チェックボックスとそのすべての [Deformations (変形)] オプションを有効にしなくてはいけません。
-
ボタンをクリックして、モーフ ターゲット (複数可) を含んだ FBX ファイルを作成します。
モーフ ターゲットをインポートする
FBX モーフ ターゲットのインポート パイプラインは、「スケルタルメッシュ」とモーフ ターゲットを同時にインポートすることができます。既にモーフ ターゲットが適用されている既存のスケルトンにモーフ ターゲットをインポートおよび追加すると既存のものがオーバーライドされます。
モーフ ターゲットを持つスケルタルメッシュ
-
コンテンツ ブラウザ で [Import] ボタンをクリックします。開いているファイル ブラウザからインポートしたい FBX ファイルを選択します。注意: ドロップダウン リストから
を選択して、不要なファイルをフィルタリングすることができます。
-
[Import] ダイアログから適切な設定値を選択します。Import Morph Targets を必ず有効にします。注記: インポートされるメッシュの名前はデフォルトの命名規則 Naming Rules に従います。全設定値の詳細については、「FBX インポート ダイアログ」を参照してください。
-
メッシュと LOD をインポートするには、OK ボタンをクリックします。プロセスが成功すると、メッシュ、モーフ ターゲット(MorphTargetSet)、マテリアル、テクスチャが コンテンツ ブラウザ に表示されます。モーフ ターゲットを保持するために作成された MorphTargetSet の名前が、デフォルトでスケルトンのルートボーンの名前から命名されていることが分かります。
ペルソナでインポートされたメッシュを見て、[Morph Target Previewer (モーフターゲット プレビューア)] タブを使用することで、インポートされたモーフ ターゲットの強度を調整し、予想どおりに機能するかを確認できます。
モーフ ターゲット のエフェクトは多くの場合、些細なものですが、アニメータに与えられる制御やキャラクターに付加される現実感はかなりのものです。