【UE4】MayaLT2017でphysXを使って服を揺らす
はじめに
第6回ぷちコンにあわせて頓挫中だった3Dモデルを作りました。 その話は、また別の機会にするとして今回はワンピースをApexClothで揺らしてみたいと思います。
結論から言えば、微妙です。
あまり期待しないでください。
MayaLTも初心者ですのであしからず。
やるなら一通り読んでからのほうがいい気がします。
テスト環境
Maxでも出来ると思います。(未確認
手順
ApexCloth自体は最後にある参考サイトの@com04さんのサイトを見るといいかと思います。 以降はある程度知ってるものとして色々省略します。
基本的に参考を最後につけているのでそちらの動画(英語)を見ていただければ実際済むお話ですが、
つらい目にあったよってところも織り交ぜながら書いておきます。
それと、服のマテリアルは別にしておきましょう。そのほうが多分安全。
分けてなかった時
失敗例 pic.twitter.com/z4fNnBY6pK
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
服だけになりました。
ちなみに服には一切ボーンは入ってません。
プラグインを入れる
nvideaにログイン後、こちらのDownloadCenterからダウンロード出来ます。
手元のMayaのバージョン等に合わせてください。
Download Center | NVIDIA Developer
.msi形式なので、実行すれば導入自体は出来るかと。
そして、MayaLT上で言うとウィンドウ → 設定/プリファレンス →プラグインマネージャー からphysx.mllをロードすると
このように追加されます。
physX Clothingを作る
これを作るときにはジョイント(ボーン)が必要になるはずなので、準備しておきましょう。
対象のメッシュを選択して(今回はワンピース)、右から6つ目のスカートみたいなアイコンをクリックするか、上のメニューからphysX → physX Clothing → Create Clothingで作れます。
これを色々調整していく感じです。
ペイントする
スパナみたいなアイコンをクリックすると、このようにメニューが出ると思うのでPaintを選べば塗れます。
この時、マテリアルを設定していればこのように紫色になるかと思います。ならなかったら確認してみてください。
ちなみに僕は一旦ここでハマりました。
あれ なぜかマテリアルを適用しても表示されない(Maya
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
ぷちコン用のSceneで同じ手順で適用すればみれるのでSceneの問題っぽい…
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
??? 新規シーンに円柱追加して、マテリアルを適用しても変わらなかった…?
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
やり方が間違っている可能性()
@tarava777 @aizen76 と、思ってやってはみたもののやっぱりダメでした…
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
新たに追加した円柱とかに適用しても変わらなかったです(設定されてることにはなってた
@aizen76 @tarava777 正常に動いているっぽいぷちコン用のシーンにインポートしたら行けましたww(謎
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
意味がわからぬ
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
そして秘伝のタレのようにこのSceneをコピーして使っていくしか()
はい、原因不明ですが乗り切りました。
こんな感じで色々設定できます。
Attribute
4種類塗れます。
- maxDistances これがきっとメインになる塗り
- latchToNearest 動画だと服の裏地に塗ってました
あとのBackstop系はよくわからなかったです()
とりあえずmaxDistanceを揺らしたいところに強弱をつけて塗るみたいです。
参考までにこんな感じしたり。
裏も塗りました。
シュミレート自体は再生ボタンを押せば勝手にやってくれます。
ちなみにlatchToNearestを塗ると表と裏の生地が貫通したのでやめました。
RagDoll
服と体のコリジョンを作れます。
Bodyになるメッシュを選択後、藁人形みたいなアイコンをクリックしてCreate Kinematic RagDollで作成できます。
つよそう
でこのように選択して、不要なジョイントのところのコリジョンをRemoveできたりします。
個々のコリジョンを編集するには、上でジョイントを選択した後に下のshapeSetUpから目的のコリジョンを選択して、Selectすれば編集メニューがでます。
と普通に移動、回転、スケールができるみたいです。
なお
バグっぽいものに当たった
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
(コリジョン用のカプセルのサイズ調整したあとに実行するとサイズが変わる pic.twitter.com/Yg5ea1BR9u
こんな目に遭っているので様子見ながら調整しましょう。
出力する
一通りおわった(ことにした)ので、UE4用に出力します。
Create Clothingしたメッシュを選択して出力するだけです。
ポイントは
ファイルの種類をphysXにした後、ここを確認しましょう。
特にunitを間違えるとおかしなことになります。
エラーも出ずにApexが読み込めました(上手く言ったとはいっていない pic.twitter.com/8sDN6kpOS5
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月10日
あとは.apxファイルが生成されるので適用するだけですね。
この辺はスクショでも貼って終了にします。
結果
とりあえず.apxファイルを適用することはできた pic.twitter.com/IFmBXkKOpd
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
正直これくらいしか差がない pic.twitter.com/4a5ubkpDRT
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
はい すごい微妙に変わります。
まとめ
ここまでやってこれだけ…しかも微妙って…
@tarava777 あ、ありがとうございます!!(すごい辛い道を歩もうとしている気がする
— てんちょー@9/30-10/2東京 (@shop_0761) 2016年9月13日
なので、現状はボーンを入れて、Anim Dynamicsで揺らすか手付けアニメーションにするかが最適解かもしれません。(けど面倒なのでやりたくない
余裕があれば髪もやります。
AnimDynamics