【Unity】SoftBodyを作ってみた(NVIDIA Flex for Unity/ObiSoftBody)
柔らかいモノを作りたい
男たるもの誰しもが1度は考えるはずである。
ということで、UnityでSoftBodyを実装するにはどうすればいいのかを調べてみました。
今回はスマホをターゲットに検討
ざっと調べた感じの選択肢
NVIDIA Flex for Unity
NVIDIA FleX | NVIDIA Developer
- 流体
- 軟体
- 布
等の動きをランタイム上でシミュレーション出来るミドルウェア(無料!)
youtu.be
使い方は下記のサイトを参考にさせて頂きました。
めちゃ分かりやすかったです。ありがとうございます。
qiita.com
Obi SoftBody
assetstore.unity.com
youtu.be
有料ですが、半額セールの時に購入して試してみました。
使い方は公式ドキュメントを参照
Obi Physics for Unity - Rope Setup
所感
基本的な構成はNVIDIA Flexと似ているのでNVIDIA Flexを触った後だと入り込みやすかったです。
AssetStoreの紹介動画には柔らかいモノが載っていなかったので不安でしたが
サンプルシーンにはちゃんと入っていました。GalaxyS8での検証になりますが、数個球を出しても60FPSは維持できてたので処理負荷も最適化されていると思われます。
※全てCPUで処理をしているとのこと。
http://obi.virtualmethodstudio.com/tutorials/index.html
公式FAQ
Q.Does Obi run in the GPU?
A.No. The core physics solver runs 100% in the CPU. Only rendering is done using the GPU.Q.Can Obi be regarded as a fast simulator, for CPU standards?
A.Yes. It is extremely well optimized. A task-based multithreading scheme is used to split workload into evenly sized chunks. All the math-heavy routines are SIMD accelerated.
iOSはまだ試せていないですが、せっかく購入したのでこれで色々やってみようと思います。
球をぶつけて物体を凹ませることも出来るのでゲームの表現幅が広がりますね。
youtu.be
その他
Obi SoftBodyの他にもObiシリーズが出ているようで
- Obi Rope(ロープ表現)
Obi Rope | Physics | Unity Asset Store
- Obi Cloth(布表現)
Obi Cloth | Physics | Unity Asset Store
- Obi Fluid(流体表現)
Obi Fluid | Physics | Unity Asset Store
といくつか出ているようです。
紹介動画を見る限りどれも面白そう!機会を見つけて触ってみようと思います。
アップデートも細かく行われているようなのでこの点も安心できました。