PhysX Maya（Plane） → UE4 #UE4Study

# APEX Clothing Maya → UE4

## PhysX plug-in for Mayaについて
公式ドキュメント
http://physxinfo.com/wiki/PhysX_plug-in_for_Maya

##  Maya DCC plug-in for PhysX のダウンロードとインストール

ダウンロード(アカウントの作成が必要)
https://developer.nvidia.com/gameworksdownload

現在(2017/03/02時点の最新)PhysX: Maya DCC plug-in for PhysX 3-4-0 

自分が使用しているMayaのバージョンのインストーラーを選択して、インストールする


## MayaのPlugin ManagerでPluginを有効にする
Mayaを起動する
PluginManagerからphysx.mllの自動ロード　ロードにチェック
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/dec41825-04f3-c2fe-9274-fa544c83488c.png)

Mayaを再起動する
dialogはYesをクリック
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/cfcacbc8-f3d6-d803-3086-9ce2d31ab8d6.png)

PhysXのメニューが表示される
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/4eb2ceaa-3ae2-2218-dff7-12f52662fff3.png)


## PlaneをClothにする

### Planeを作成して、Create Clothingを実行(エラー)
1. Planeを作成する
2. Planeを選択する
3. PhysX -> PhysX Clothing -> Create Clothing

skinning deformerを持っていないため、PlaneをClothにすることが出来ない
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/8738346c-6d9a-fc84-c28c-a6f1fcf155da.png)


Joint作成ツールを選択する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/5c656892-7883-879a-a7ee-6a8764fbadd8.png)


Jointを作成する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/5f421f59-9efa-00a1-209e-3f7cdc117e46.png)

Skin -> Bind
（画像は旗にしようとして失敗してしまったので、気が向いたら差し替える）
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/3d52ab28-d1d4-8125-2579-a5e898719dca.png)


再度 Create Clothingを実行する
1. Planeを選択する
2. PhysX -> PhysX Clothing -> Create Clothing
（画像は旗にしようとして失敗してしまったので、気が向いたら差し替える）

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/d87917ff-dc40-958b-de18-a0ac3eeb5756.png)


### Weight調整
 
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/136b263a-ff1c-1c6d-db6d-765598ee059c.png)


左側のペイントツール：Weightの影響どのように受けるかグラデーションを作る（[影響なし]紫～白[影響大]）
右側のマテリアル設定：Clothのプロパティを設定する。（重力、伸縮、剛柔など）

PysXタブにある再生ボタンをクリックすると現在の設定のClothの動きを確認することが出来る
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/04c58c77-c3e1-5c46-b382-ed73c128bee3.png)


## APEXファイル(拡張子は.apx)の書き出し
Clothが思い通りの動きをするようになったら、UE4に持っていくClothデータのAPXファイルを書き出す

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/0275f80b-358f-5e01-e6b0-cbea3e892421.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/93061ce3-a954-e6aa-ab4f-788f51eceff8.png)

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/4b781ae7-a64c-d8b5-a403-652fb5e3d63d.png)

## FBXファイルの書き出し
FBXファイルを書き出す

## UnrealにPhysX情報を反映させる

FBXファイルをインポートする
Mesh情報をダブルクリックしてエディタを開く
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/9b7cf68f-3c03-a89b-2b5d-1d735dd85ab4.png)

Clothingカテゴリにある
[Add APEX Clothing file...]をクリック

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/ab29aae6-24a9-2359-f484-ef4adb5ddb6f.png)

Mayaで書き出したAPEXファイルを選択する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/23792f56-832b-e649-aa43-243176834115.png)

LODカテゴリのマテリアルのClothingに追加したAPEXファイルを設定する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/74ecf514-9612-92cc-284b-4dfb71f4750c.png)

Mayaで設定したClothのシミュレーションがUnrealで再現される
Unreal側で設定値を後から変更することもできる
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/b020c280-4839-f4e4-1af3-aa3fd246b1ce.png)

画面に追加して、Clothの動きを確認する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/1ce0e021-6d8f-fd6a-a7a1-5b416485a528.png)

## 風(Wind Directional Source)を追加する
![image](https://qiita-image-store.s3.amazonaws.com/0/111261/aaa78812-37c9-6110-1d08-d52dac1bae31.png)

Rotationで風向
Speed,Strengthで風力が設定できる

![image](https://qiita-image-store.s3.amazonaws.com/0/111261/99ac0839-4809-a123-914b-0621a5a82aac.png)

## 参照
Autodesk Maya 2012 デモンストレーション 06
https://www.youtube.com/watch?v=PqwgBKsD6FQ

【UE4】MayaLT2017でphysXを使って服を揺らす
http://shop-0761.hatenablog.com/entry/2016/09/14/010618