3ds Max でアニメーション タイムラインを利用しないメッシュと連動させて頂点アニメーション ツールを使用することもできます。 一般的に、この方法を使用するメッシュ アニメーションは、Maya や Blender など別の 3D パッケージからフレームごとにエクスポートされています。 このセクションでは、この方法だけでなく、設定で注意すべき相違点を紹介します。
3ds Max コンテンツの作成およびキーフレーム メッシュの設定
この例では 3ds Max を使用していますが、3ds Max でのコンテンツの作成および設定の方法は、Maya や Blender など別の 3D パッケージで設定するコンテンツ作成方法と変わりません。
最初に 3ds Max で新しいシーンを作成してから、以下の設定値でティーポットを作成してワールドの「0,0,0」位置に配置します。
Radius: 70.0
Segments: 5
次に Modifier List からティーポットメッシュに Melt Modifier を追加します。
Shift キーを押しながらメッシュのコピーを作成して、ティーポットを X 軸に沿ってマウスで移動させます。 Melt modifier のオレンジ色のバウンディング ボックスがオリジナル メッシュと重ならないようにティーポットのコピーを配置します。 ティーポットのコピーを適切な位置に配置し、マウスと Shift キーを放すと [Clone Options (オプションのクローン)] が表示されます。 Object を Copy に設定し、 Number of Copies を 4 に設定、 Ok ボタンを押すとコピーが 4 つ作成されます。
次に 2 番目のティーポットを選択して、Melt modifier の Melt Amount を 25 に設定します。 その横のティーポットを選択して、Melt modifier の Melt Amount に 50、その次に 75、最後のティーポットに 100 を設定します。
すべてのティーポットに何らかの変形が加わったので、ティーポットをすべて選択し、3ds Max ビューポートでマウスを 右クリック して Convert To: > Convert to Editable Poly を選択します。
使用するメッシュはすべてこのツールで Editable Poly (編集可能なポリゴン) に変更しなくてはいけません。このツールは他のメッシュタイプでは 機能しません。
すべてのティーポット メッシュを Editable Poly へ変更したので、すべてのメッシュを選択してワールドの「0,0,0」位置へ移動させます。 メッシュをワールド中央に配置したら、ティーポットメッシュの選択を解除して、アニメーション再生を行う順番にティーポットを選択していきます。 この例では最初に Teapot001 、次に Teapot002 という順序で 5つのティーポットをすべて選択していきます。
Sequence Painter Tool ではアニメーションで再生する順番でメッシュを選択しなくてはいけません。順番通りに設定しないと、置換するボーン駆動のアニメーションと UE4 で再生するアニメーションが同期しません。
ティーポットをワールドの中央に配置して、再生するアニメーションを順番に選択したので、 Sequence Painter スクリプトを実行します。 これを行うには、ツールの Sequence Painter セクションにある Paint Selection Sequence ボタンを押すだけです。
メッシュに設定した頂点の量次第で、 Paint Selection Sequence はかなり速く終了します。
位置データをティーポットの UV に保存したので、次に UE4 で使用するためにティーポットメッシュをエクスポートします。ティーポットメッシュのエクスポートにはその他のスタティックメッシュと同じ設定を使用して、 Smoothing Groups を必ず有効にします。この例では、ティーポットメッシュに SM_Teapot_PSS.FBX と名前を付けています。
UE4 のコンテンツ設定およびキーフレームメッシュの使用
3ds Max からティーポットメッシュをエクスポートしたら、次に UE4 でも同様に機能するようにティーポット メッシュをインポートして設定を行います。
まず SM_Teapot_PSS.FBX というティーポットメッシュをエクスポートした場所から コンテンツブラウザ へドラッグします。その時に以下のオプションが有効または無効であることを確認してください。
[Auto Generate Collision] オプションを無効にします。
[Remove Degenerates] オプションを無効にします。
[Generate Lightmap UV's] オプションを無効にします。
[Combine Meshes] オプションを有効にします。
[Import Materials] と [Import Textures] のオプションを両方とも無効にします。
ティーポット メッシュをインポートした後に、コンテンツ ブラウザでこれを 左マウスボタン で ダブルクリック してメッシュを開きます。 メッシュが開いたら Use Full Precision UVs オプションを有効にして、 Distance Field Resolution Scale を 0.0 に設定して Apply Changes ボタンを押します。
ティーポット メッシュを正しく設定したら、コンテンツ ブラウザで新規 マテリアル を作成して MAT_Sequance_Painter と名前を入力し、次にマテリアルを開きます。
マテリアルを開いたら、マテリアル グラフでキーボードの 1 キーを押しながらマウスで 左クリック して、2 つの Constant Parameter ノードをマテリアル グラフに追加し、配置します。 1 つの Constant Parameter ノードの値を設定して、Main Material ノードの Base Color 入力と接続します。もう 1 つの Constant Parameter ノードの値を「5」に設定します。
次にマウスでマテリアル グラフを 右クリック して検索メニューを表示してから、検索ボックスに「MS」と入力して MS_SequencePainter_SequenceFlipbook マテリアル関数を検索します。 MS_SequencePainter_SequenceFlipbook マテリアル関数を見つけたら、この関数を左クリックしてマテリアル グラフへ追加します。
マテリアル関数を正しく設定したら、 MS_SequencePainter_SequenceFlipbook の出力を Main Material ノードの World Position Offset 入力と接続します。その次に残りの Scalar パラメータを MS_SequencePainter_SequenceFlipbook Material ノードの Number Of Frames 入力と接続します。
すべての入出力を接続したので、 [Apply (適用)] ボタンを押してマテリアルをコンパイルしてから、 [Save (保存)] ボタンを押します。 この操作が終了したらマテリアル グラフエディタを閉じます。
マテリアルの作成、コンパイル、保存が完了した状態で、コンテンツ ブラウザからティーポット メッシュをレベルへドラッグして、レベルに配置したメッシュへ作成したばかりの マテリアル をコンテンツ ブラウザからドラッグします。 この設定が終了したら、メッシュの再生アニメーションが表示されます。