486


タイトルのように数百から数千個のオブジェクトを物理演算で動かす3Dコンテンツを作ろうと思っています。
標準のRigidbodyを使うと400個くらいのオブジェクトが積み重なったあたりから猛烈に処理が重くなり現実性がなさそうです。

このような状況を回避するには

  * Rigidbodyのパラメータや設定を見直す
  * Rigidbody (PhysX)以外の物理エンジンを使う

のどちらの方法が考えられるのでしょうか。


CC BY-SA 3.0
2014-12-09T06:38:09.007
481
2014-12-09T10:17:05.273
2014-12-09T10:17:05.273
452
452
question
unity3d
お茶碗の中の米粒のような大量のオブジェクトの物理演算をうまく行う方法はありますか？


後者の **Rigidbody以外の物理エンジンを使う** のほうが良さそうに思えます。

というのは n個 の剛体を正しく扱うには少なくとも O(n^2) の計算が必要なため、  
仮に1000個の米粒を扱うなら、毎フレームごとに少なくとも 100万回 の計算が必要です。  
ゲームで扱うを考えると、この計算量は、まず現実的とは言えないでしょう。

ちょっと Unity には詳しくないので細かいことは言えませんが、  
パーティクルで代用するなどの方法を検討したほうが良いように見受けられます。


CC BY-SA 3.0
2014-12-09T10:06:52.287
486
2014-12-09T10:06:52.287
208
481
answer