Unity3d 模拟爆炸的图形和物理引擎

Unity3d 模拟爆炸的图形和物理引擎,unity3d,game-engine,simulation,physics-engine,Unity3d,Game Engine,Simulation,Physics Engine,目标是模拟建筑物的爆炸。目前正在开发Unity 3D模拟器。然而,现在在爆炸发生的时候,在4000个对撞机碎片上,FPS下降到0 给人的印象是unity3d无法提供必要的性能。 除了最佳物理计算和足够级别的图形(照明、爆炸精灵、纹理等)之外,还有其他选择吗?4000碰撞器是多余的,特别是当所有碰撞器同时开始碰撞时。你总是可以优化和“伪造”东西。根据模拟的范围,可能不需要碰撞所有生成的粒子。例如,灰尘和微小颗粒可能会被污染 如果您的模拟计算量很大,任何物理模拟都应该如此,那么您应该将数字运算委托给

目标是模拟建筑物的爆炸。目前正在开发Unity 3D模拟器。然而,现在在爆炸发生的时候,在4000个对撞机碎片上,FPS下降到0

给人的印象是unity3d无法提供必要的性能。
除了最佳物理计算和足够级别的图形(照明、爆炸精灵、纹理等)之外,还有其他选择吗?

4000碰撞器是多余的,特别是当所有碰撞器同时开始碰撞时。你总是可以优化和“伪造”东西。根据模拟的范围,可能不需要碰撞所有生成的粒子。例如,灰尘和微小颗粒可能会被污染

如果您的模拟计算量很大,任何物理模拟都应该如此,那么您应该将数字运算委托给C

在Unity中,还可以利用着色器语言并将包发送到GPU以帮助渲染。您还应该寻找优化的方法,例如缓存组件。好的,继续读

您还可以告诉模拟忽略某些对象之间的某些碰撞,例如忽略A和B之间的碰撞

一旦你触地或遇到某种情况,你也可以添加以下代码:

rigidbody.isKinematic = true;

那会让Unity因为这个刚体而忽略物理学

模拟必须是三维的吗?我怀疑2D模拟的性能会显著提高。此外,如果可以在2D中进行模拟,我认为在不同的2D模拟器上运行它会很有趣,以查看它们之间的比较。