Unreal Engine では、APEX Cloth は NVIDIA の NvCloth ソルバに置き換わりました。これはクロス処理を実行するパーティクル シミュレーションを行うローレベルでのクロス ソルバです。このクロス ソルバーを使用すると、シミュレーション データへの直接アクセスが可能となり、統合を軽量かつ幅広く行うことができます。

エディタのクロス ツールを使用することによって、デベロッパーは直接 Unreal Engine で作業して、外部ツールに依存せずにコンテンツの作成が可能となります。
Unreal Engine で行うクロスのワークフロー。画像をクリックしてフルサイズで表示
このワークフローでは、コンテンツを作成したら、すべてのクロスの作成、編集を直接 Unreal Engine 内で行います。これにより、コンテンツの作成およびテストするコンテンツのイタレーションが迅速になり、クロス シミュレーションがリアルタイムで、ゲームで表示されるように起こり、編集がすべて見えることで、コンテンツの作成場所と使用場所との間でずれがなくなります。
クロス ペイントのワークフロー
エディタ内でクロスを作成するワークフローを使うと、クロス ペイント ツールでスケルタルメッシュの既存マテリアル エレメントを使ってキャラクターのクロスを迅速に作成することができます。
クリックしてフルサイズで表示。
-
[Section Selection (セクション選択)] - クロスをペイントするために使う Material ID を選択します。
-
[Cloth Paint] パネル - クロスをペイントする場合に必要なツールやプロパティがすべてあります。
以下では、クロス アセットの作成プロセス、キャラクターへの割り当て、およびレンダリング メッシュにペイントする基本を説明します。
Cloth アセットの作成と割り当て
クロスの作業を開始するには、まず [Level of Detail (LOD) ] セクションから Cloth アセットを作成し、それをレンダリング メッシュに割り当ててその上にペイントできるようにします。
では、以下のステップから開始していきましょう。
- スケルタルメッシュ エディタで、メインツール バーから [Section Selection (セクション選択)] ボタンをクリックします。マテリアル要素が割り当てられたスケルタルメッシュのさまざまな部分を選択できりょうになります。
クリックしてフルサイズで表示。
- 左クリックを使って、クロスとして使用したいメッシュの一部を選択します。次に右クリックして、コンテキスト メニューを開いて Cloth アセットを作成します。
画像をクリックしてフルサイズ表示。
-
コンテキスト メニューから、[Create Cloth Asset from Selection (選択したものから Cloth アセットを作成)] を選んで、以下のエリアに情報を入力します。
-
Asset Name - 後で簡単に見つけられるようにアセットに名前を付けてください。
-
Remove from Mesh - クロスとして関連付けたい別個のジオメトリのメッシュの構成要素があれば、このオプションを有効にします。そうでなければ、チェックを入れずにこのままにします。
-
Physics Asset - Cloth アセットがキャラクター用ならば、その Physics アセットを使ってクロス シミュレーションで適切なコリジョンが生じるようにします。
設定を終えたら、[Create] ボタンをクリックします。
-
-
セクションを再度右クリックして、コンテキスト メニューを表示させて、[Apply Clothing Asset] にマウスをかざし、利用可能なクロス アセットから適用するものを選択します。これで作成した任意のクロス アセットが選択したセクションに関連付けられます。
クロスにペイントする
クロスにペイントする準備ができたら、以下のコントロールを使って選択したクロス アセットにペイントすることができます。
-
ペイント - マウスの左ボタン
-
消去 - Shift キー + マウスの左ボタン
-
クロスのプレビュー - H キー
NVIDIA の PhysX DCC プラグインを使って、3DS Max や Maya、他のプログラムの類似ペイント ツール向けにクロスを作成したことがあれば、こうした操作に馴染みがあるはずです。
-
スケルタルメッシュ エディタで、ファイル メニューに進み、[Window] を選択し、リストから [Clothing] を選択します。
すると、[Clothing] パネルが開きます。
-
[Activate Cloth Paint] ボタンをクリックして、選択した Cloth アセットをペイントするために使用可能なプロパティを有効にします。
-
Clothing パネルで、割り当てた Cloth アセット を [Clothing Data] リストから選択します。
-
[Cloth Painting] セクションで使用する ペイント ツール の種類を選択して、[Paint Value] (デフォルトで、Brush ペイント ツールを使用) を設定します。ペイントを開始するには、メッシュのサーフェス上で左クリックしてドラッグします。
ペイントしたクロスをプレビューするには、H キーボード ショートカットを押し続けます。
ペイント ツール

Tool 選択では、クロスのペイントで利用可能なブラシから選択することができます。
ブラシ
Brush (ブラシ) ツールを使うと、Cloth アセットをドラッグしながら半径と強度の値をクロスにペイントすることができます。

[Paint Value] を使って、クロスをペイントするときのブラシの強さを制御します。この値に基づいて、ペイントしたエリアがどの程度クロスのように反応するかを制御します。スキンした頂点が移動できないことを示し、値 100 はスキンした頂点が元の位置から 1 メートル移動できるようにします。

このツールとプロパティに関する追加情報は、「ブラシのプロパティ」リファレンスを参照してください。
グラデーション
Gradient (グラデーション) ツールを使うと選択したクロスの値一式の間で、少しづつブレンドしてペイントすることができます。

グラデーションをペイントするには、以下のステップに従います。
-
マウスの左ボタン を使って [Gradient Start Value] をペイントします。これはペイントした頂点上の 緑色 のドットで表示されます。
-
Ctrl キーを押しながらマウスの左ボタン を使って [Gradient End Value] をペイントします。これはペイントした頂点上の 赤色 のドットで表示されます。
-
ペイントを終了したら、Enter キーを押してグラデーションをペイントします。

このツールとプロパティに関する追加情報は、「グラデーションのプロパティ」リファレンスを参照してください。
スムーズ
Smooth (スムーズ) ツールを使うと、ペイントしたクロスの値の間でコントラストをぼかす、すなわち和らげることができます。

Strength 値を使って、エフェクトのブラーがどれくらい強いか、ソフトにするかを調整し、ペイントしたエリア間でソフトなグラデーションを作ります。

このツールとプロパティに関する追加情報は、「スムーズのプロパティ」リファレンスを参照してください。
フィル
Fill (フィル) ツールを使うと、類似の値を持つエリアを、他の値で置き換えることができます。

[Fill Value] を使って、エリア内の頂点をフィルする値を設定します。[Threshold] を使って置き換える頂点をサンプリングするときに使うフィル操作の値を設定します。


このツールとプロパティに関する追加情報は、「フィルのプロパティ」リファレンスを参照してください。
クロスのプロパティ
Cloth Config プロパティでは、クロスを調整して、例えば、麻、ゴムなど様々なタイプのマテリアルをシミュレーションすることができます。

クロスの設定のプロパティの詳細は、「Cloth Config プロパティ」リファレンスを参照してください。
マスク
Mask は、クロス アセットを置き換えることができるパラメータ セットです。

このパラメータ セットは、以下の ターゲット (またはパラメータ セット) を表します。
-
Max Distance は、クロス上の任意のポイントがアニメートされた位置から移動できる最長距離です。
-
Backstop Distance は、クロス上の任意のポイントから使用されるオフセットで、Max Distance 内の動きを制限します。
-
Backstop Radius は、球体の半径を使用し、Max Distance と交差する場合に、クロス上のペイントされた任意のポイントがその領域に移動するのを防ぎます。
-
Anim Drive Multiplier は、クロスをアニメーション対象の位置に向かって引っ張るスプリングを操作するために使用します。アニメーターはシネマティックスやアニメーションで動くシーンを制御できます。
-
これは Skeletal Mesh コンポーネントでブループリントがアクセスできる "Interactor" オブジェクトを使って実行時に操作することができます。
-
実行時に設定する値は、ペイントされた値に掛け合わされ、最終的なスプリングとダンパーの強さが得られます。
-
こうした ターゲット を複数持つことはできますが、一度に割り当てできるのはひとつだけです。これにより様々な設定を迅速に非破壊的な方法でテストすることが可能になります。
マスクを作成し、ターゲットに割り当てたら、以下の手順に従います。
-
新しい空のマスクを作成するには、Plus (+) ボタンを押します。
-
新しいマスク上で右クリックして、[Set Target] 上でマウスをかざして、利用可能な [Targets] リストから選択します。
-
[Mask] ウィンドウで、選択したターゲットが Cloth アセットのアクティブなターゲットとしてリスト化されます。
-
ウィンドウのデフォルト名をクリックして新しい名前を入力すれば、マスクの名前を変更することもできます。
コンテキスト メニューを使って、スケルタルメッシュ頂点カラーを選択したクロス パラメータ マスクにコピーすることもできます。

マスクの追加情報は、「マスクのプロパティ」リファレンスを参照してください。
スケルタルメッシュからクロスをコピーする
キャラクターのマントなど、同じタイプの複数のスケルタルメッシュがある場合は、[Copy Clothing from SkeletalMesh (SkeletalMeshからクロスをコピー)] オプションを使って、定義したクロス設定をコピーして別の設定にインポートすると、最初にすべてのパラメータ設定を行う必要がないため、時間の節約になります。

[Clothing Data (クロスデータ)] で Copy Clothing from SkeletalMesh (SkeletalMesh からクロスをコピー)] をクリックして、クロスデータをコピーしたいスケルタルメッシュを選択します。
APEX (旧) ワークフローとアセット
APEX の以前のクロス ワークフロー画像をクリックしてフルサイズで表示
APEX Cloth を用いたレガシーのワークフローでは、外部プログラム (NVIDIA のクロス ツール) を使って Unreal Engine 外部ですべてのアセットを作成するか、特定のソフトウェア (3DS Max/Maya) を必要とする DCC プラグインを使う必要がありました。開発の最終段階でのみ、オーサリングしたコンテンツを Unreal Engine に取り込んで、メッシュに割り当てます。修正すべきものがあれば、プログラムに戻り、エディタ外部でコンテンツを再オーサリングしなければなりませんでした。
Unreal Engine (4.16 以前のバージョン) を使用している場合、あるいは 3DS Max または Maya で提供されている NVIDIA の APEX Clothing Tool を使ってクロス アセットを作成している場合は、このワークフローの使用を継続することができます。APEX クロス (.apx または .apb) ファイルをエディタにインポートするには 2 種類の方法があります。
スケルタルメッシュ エディタで、[Asset Details] の [Clothing] セクションで、[Add APEX clothing file...] ボタンを使います。

またはインエディタのクロス ツールを有効にして、[Clothing] ウィンドウの [Assets] セクションで、plus (+) ボタンを使って APEX ファイルを使用します。

この方法を選ぶと、Max Distance や Backstop のような様々なパラメータに対して任意のマスクを作成するとともに、APEX クロス アセットがインエディタのツールに変換されて、レンダリング メッシュを適宜作成し、割り当てます。