Top > 物理-布シミュレーション
* 物理-布シミュレーション [#db317de1] UE4:ver.4.5.0 APEX SDK:1.3.2 布挙動。Clothing。 まだ全機能使いこなしてないです。検証中。 間違ってたらごめんなさい。 ---- #contents ** 参考 [#y50662c9] - アンリアル エンジン 4 ドキュメント : APEX https://docs.unrealengine.com/latest/JPN/Engine/Physics/Apex/index.html - Youtube : Blender UE4 Cloth https://www.youtube.com/watch?v=VW7M0f04RwQ ** モデルデータの注意点 [#d4d816f6] - モデルデータにスケール値入ってたら上手くいかなかった。 - UE4上でSkeltal Meshでないと適用できないので、ボーンを入れておかないといけない。 - ClothingToolでタンジェント計算に必要なので、モデルデータにUVデータを作成しておかないといけない。 ** 検証に使ったデータ [#jc774b2b] なんか問題出たらごめんなさい。 - モデル &ref(clothtest.fbx); - UE4に読み込ませる用APEXファイル &ref(ClothingToolPROFILE.apx); ** 初期設定 [#zfba9919] 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)の作成 [#sdec21eb] 1. APEX SDKの"/bin/vc10win32-PhysX_3.3/ClothingToolPROFILE.exe"を実行する。 これが物理挙動の設定ファイル作成ツール。win64版には入っていないので注意。 - 起動時にバージョンでCUDAが云々表示される場合は、nvidiaのグラフィックドライバーを最新にしてみてください。 2. メニューバーの「File」-「Load Mesh」で対象のFBXを読み込む &ref(UE4-physics-cloth01.png,,40%); 3. 布挙動の設定、必要であればコリジョンの設定をする(後述) - [[布挙動の設定>#ua9662ab]] - [[コリジョンの設定>#tadb84e5]] 4. 「Input Mesh」タブの「Modifications」-「Generate Tangent Space」ボタンを押してタンジェントデータを作成する。 押すと「Update Tangent Space」にボタンが変わります。 どうやらモデルデータにUVデータが入っていないとボタンが押せないようです。 &ref(UE4-physics-cloth14.png,,60%); 5. 設定が終わると、「Single Layerd Cloth」タブの「Save/Run」欄、「Start Simulation」でシミュレーションを再生できる。 「Simulation」タブに移る。 &ref(UE4-physics-cloth05.png,,80%); - 実行結果 各種パラメーターで挙動の確認ができる。 &ref(UE4-physics-cloth05-2.png,,60%); 6. 確認も完了すると、「Single Layerd Cloth」タブの「Save/Run」欄、「Save Asset」で、apxファイルを出力する。 このファイルがUE4で布シミュレーションするには必要。 &ref(UE4-physics-cloth05-3.png,,60%); *** 布挙動の設定 [#ua9662ab] 1. 「Imput Mesh」タブの「Select Submesh」欄で布シミュレーションの設定を行いたいメッシュのみ選択する。 &ref(UE4-physics-cloth02.png,,40%); 今回は「Plane」にだけ布シミュレーションを 2. 「Painting」欄の「Channel Selection」を「Max Distance」に。 &ref(UE4-physics-cloth03.png,,100%); 3. 出てくるポップアップウィンドウで各種設定して、3DView上でペインティングしていく 3D View上で左クリックのドラッグでプラス方向(シミュレーション挙動する)へ。 右クリックのドラッグでマイナス方向(シミュレーション挙動しない)へ。 - Paint:ペインティングする濃さ - Scale:挙動の大きさ。この数値の範囲内で布が挙動する。 - Falloff - Radius:ペインティングする筆の大きさ また、「View」ウィンドウの設定で状況を確認できる。 - Painting欄 -- Painting Visible(Face):ペイント箇所の面を表示する。白色(影響力・大)〜黒色(影響力・小)〜赤色(影響力・無)。 -- Painting Visible(Vertices):メイント箇所の頂点を表示する。線の長さで影響の強さを確認できる。 -- Painting, show other submeshes:ペイント対象ではないメッシュも表示する。 &ref(UE4-physics-cloth04.png,,60%); *** コリジョンの設定 [#tadb84e5] UE4上のコリジョンは使用できず、APEX上で付ける必要があります。 1. 「Input Mesh」タブ-「Modifications」-「Generate Collision Volumes」を選択して設定ウィンドウを立ち上げます。 &ref(UE4-physics-cloth11.png,,80%); 2. 「Select Submesh」欄でコリジョンを設定するメッシュを選択します。 すると「Bone Selection」欄に、選択したメッシュに関連付いているボーンがアクティブになります。 また、3D Viewにコリジョンが表示されます。 &ref(UE4-physics-cloth12.png,,60%); 3. 編集したいボーンを選択すると、各種設定が出来ます。 とりあえずは形状をCapsule、サイズの調整くらいしか試していません。 - Automatic Generation : ? - Shape Type : コリジョンの形状。ConvexにするとUE4に持っていった時に座標が崩れてしまったので、Capsuleしか試してない。 - Shapes : コリジョンデータ。 -- Add Capsule : コリジョンの追加。 -- Remove Shape : コリジョンを消す。要らない場合は全部消す。 - Shape Properties -- Radius : カプセル半径 -- Height : カプセル高さ -- Move : ?移動できなかった? -- Rotate : ?回転出来なかった? &ref(UE4-physics-cloth13.png,,60%); 4. 全部設定し終えたら、下部の「Build Collision」を押す。多分。 ** UE4上の設定 [#q6e709d7] 1. モデルをインポート。 Skeltal Meshでインポートする必要有り。 2. 布シミュレーションを適用するマテリアルの詳細で、「Used with Clothing」にチェックを入れる &ref(UE4-physics-cloth06.png,,60%); 3. インポートしたメッシュの詳細欄の「Clothing」-「APEX clothingファイルを追加...」で、布シミュレーションの設定で作成した.apxファイルを指定する。 &ref(UE4-physics-cloth07.png,,60%); - インポート成功後 &ref(UE4-physics-cloth08.png,,100%); - 警告が出ますが無視してます。 - この警告が出ると、APEXデータにタンジェントデータが正常に出力できていません。 ライティング結果が不正になる可能性があります。 &ref(UE4-physics-cloth09.png,,100%); 4. LOD欄の「クロス(布)」で、(3)でロードしたファイルを指定します。 &ref(UE4-physics-cloth10.png,,60%); ** 結果 [#u76f7bc8] &ref(ue4-physics-cloth.gif,,40%); |