UE4:ver.4.5.0
APEX SDK:1.3.2
布挙動。Clothing。
まだ全機能使いこなしてないです。検証中。
間違ってたらごめんなさい。
参考 †
モデルデータの注意点 †
- モデルデータにスケール値入ってたら上手くいかなかった。
- UE4上でSkeltal Meshでないと適用できないので、ボーンを入れておかないといけない。
- ClothingToolでタンジェント計算に必要なので、モデルデータにUVデータを作成しておかないといけない。
検証に使ったデータ †
なんか問題出たらごめんなさい。
初期設定 †
1. nvidia download centerから、「PhysX:APEX SDK」を落としてくる。
https://developer.nvidia.com/gameworksdownload
APEX SDK 1.3.2では、"APEXSDK-1.3.2-Build6-CL18960576-PhysX_3.3.2-WIN-VC10-BIN.exe"
2. 落としてきたexeを実行、出来上がったzipを解凍。
布シミュレーション設定ファイル(APEX)の作成 †
1. APEX SDKの"/bin/vc10win32-PhysX_3.3/ClothingToolPROFILE.exe"を実行する。
これが物理挙動の設定ファイル作成ツール。win64版には入っていないので注意。
- 起動時にバージョンでCUDAが云々表示される場合は、nvidiaのグラフィックドライバーを最新にしてみてください。
2. メニューバーの「File」-「Load Mesh」で対象のFBXを読み込む

3. 布挙動の設定、必要であればコリジョンの設定をする(後述)
4. 「Input Mesh」タブの「Modifications」-「Generate Tangent Space」ボタンを押してタンジェントデータを作成する。
押すと「Update Tangent Space」にボタンが変わります。
どうやらモデルデータにUVデータが入っていないとボタンが押せないようです。

5. 設定が終わると、「Single Layerd Cloth」タブの「Save/Run」欄、「Start Simulation」でシミュレーションを再生できる。
「Simulation」タブに移る。

- 実行結果
各種パラメーターで挙動の確認ができる。

6. 確認も完了すると、「Single Layerd Cloth」タブの「Save/Run」欄、「Save Asset」で、apxファイルを出力する。
このファイルがUE4で布シミュレーションするには必要。

布挙動の設定 †
1. 「Imput Mesh」タブの「Select Submesh」欄で布シミュレーションの設定を行いたいメッシュのみ選択する。

今回は「Plane」にだけ布シミュレーションを
2. 「Painting」欄の「Channel Selection」を「Max Distance」に。

3. 出てくるポップアップウィンドウで各種設定して、3DView上でペインティングしていく
3D View上で左クリックのドラッグでプラス方向(シミュレーション挙動する)へ。
右クリックのドラッグでマイナス方向(シミュレーション挙動しない)へ。
- Paint:ペインティングする濃さ
- Scale:挙動の大きさ。この数値の範囲内で布が挙動する。
- Falloff
- Radius:ペインティングする筆の大きさ
また、「View」ウィンドウの設定で状況を確認できる。
- Painting欄
- Painting Visible(Face):ペイント箇所の面を表示する。白色(影響力・大)〜黒色(影響力・小)〜赤色(影響力・無)。
- Painting Visible(Vertices):メイント箇所の頂点を表示する。線の長さで影響の強さを確認できる。
- Painting, show other submeshes:ペイント対象ではないメッシュも表示する。

コリジョンの設定 †
UE4上のコリジョンは使用できず、APEX上で付ける必要があります。
1. 「Input Mesh」タブ-「Modifications」-「Generate Collision Volumes」を選択して設定ウィンドウを立ち上げます。

2. 「Select Submesh」欄でコリジョンを設定するメッシュを選択します。
すると「Bone Selection」欄に、選択したメッシュに関連付いているボーンがアクティブになります。
また、3D Viewにコリジョンが表示されます。

3. 編集したいボーンを選択すると、各種設定が出来ます。
とりあえずは形状をCapsule、サイズの調整くらいしか試していません。
- Automatic Generation : ?
- Shape Type : コリジョンの形状。ConvexにするとUE4に持っていった時に座標が崩れてしまったので、Capsuleしか試してない。
- Shapes : コリジョンデータ。
- Add Capsule : コリジョンの追加。
- Remove Shape : コリジョンを消す。要らない場合は全部消す。
- Shape Properties
- Radius : カプセル半径
- Height : カプセル高さ
- Move : ?移動できなかった?
- Rotate : ?回転出来なかった?

4. 全部設定し終えたら、下部の「Build Collision」を押す。多分。
UE4上の設定 †
1. モデルをインポート。
Skeltal Meshでインポートする必要有り。
2. 布シミュレーションを適用するマテリアルの詳細で、「Used with Clothing」にチェックを入れる

3. インポートしたメッシュの詳細欄の「Clothing」-「APEX clothingファイルを追加...」で、布シミュレーションの設定で作成した.apxファイルを指定する。

- インポート成功後

- この警告が出ると、APEXデータにタンジェントデータが正常に出力できていません。
ライティング結果が不正になる可能性があります。

4. LOD欄の「クロス(布)」で、(3)でロードしたファイルを指定します。

結果 †
