【问题标题】:Graphics and physics engine for the simulation explosion用于模拟爆炸的图形和物理引擎
【发布时间】:2014-10-04 20:21:52
【问题描述】:

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

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

【问题讨论】:

  • 模拟必须是 3D 的吗?我怀疑 2D 模拟的性能会显着提高。此外,如果模拟可以在 2D 中完成,我认为在可用的不同 2D 模拟器上运行它以查看它们的比较会很有趣。

标签: unity3d game-engine simulation physics-engine


【解决方案1】:

4000 个碰撞器过多,特别是如果所有碰撞器同时开始碰撞。您始终可以优化和“伪造”事物。根据模拟的范围,您可能不需要所有生成的粒子都发生碰撞。例如,灰尘和微小颗粒可能是voxels

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

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

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

一旦你碰到地面或某种情况,你也可以添加这行代码:

rigidbody.isKinematic = true;

这将使 Unity 忽略该刚体的物理。 Info here.

【讨论】:

    猜你喜欢
    • 2016-03-01
    • 1970-01-01
    • 2022-08-05
    • 1970-01-01
    • 2011-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多