2014-10-04 52 views
2

目標是模擬建築物的爆炸。目前正在爲Unity 3D開發模擬器。但是,現在在爆炸的時候,在建立FPS的4000個對撞機碎片下降到0.用於模擬爆炸的圖形和物理引擎

印象unity3d不能提供必要的性能。 是否有替代最佳的物理計算和足夠的圖形水平(照明,爆炸精靈,紋理等)?

+0

模擬必須是3D嗎?我懷疑二維模擬會有更高的性能。另外,如果模擬可以用2D來完成,我認爲在不同的2D模擬器上運行它可以看到它們如何比較。 – 2017-01-24 22:05:21

回答

2

4000對撞機過多,特別是如果全部同時開始碰撞。你總是可以優化和「假」的東西。根據您的模擬範圍,您可能不需要所有生成的粒子發生碰撞。例如,灰塵和微小顆粒可能是voxels

如果你的模擬計算是沉重的,它的任何物理模擬應該是,那麼你應該委派的數字運算,以C.

在Unity,你還可以利用着色器語言,並送包到GPU來幫助你呈現。您還應該尋找優化方法,例如緩存組件。好閱讀optimization in Unity

你也可以告訴你的模擬忽略某些物體,如存在一定的衝突,忽略A和B.

之間的碰撞一旦砸在地上還是有一定的條件,你也可以加入這一行的代碼:

rigidbody.isKinematic = true; 

這會使Unity忽略該Rigibody的Physics。 Info here