【发布时间】:2017-11-14 19:30:41
【问题描述】:
我有 Crane Animation,它会(通过它的下颚)捡起沙子,然后把它扔到卡车上。我试图找到在 Unity 中处理沙子的方法,但不幸的是一无所获。 所以我在 max 中制作了自定义沙子对象(低多边形)并将它们带到 Unity3d 中,并将盒子对撞机和刚体应用于它们。但是当我玩游戏时,我的 FPS 下降并且玩家几乎没有移动。 Profiler 告诉我们物理学是如此沉重(它应该是太多的对撞机和太多的刚体)。我试图通过碰撞矩阵和层来优化物理,但它并没有提高性能。
这是处理沙子与起重机相互作用的正确方法吗?
【问题讨论】:
-
你为什么要标记这个 C#?相关代码在哪里?同样进行完全“逼真”的沙子模拟通常是过大的 - 使用粒子模拟(显示沙子流动)然后将沙子从起重机移动到卡车通常就足够了
-
嗨,还没有代码。我添加 C# 的原因可能是任何可用于处理此问题的编码解决方案。如果您有更好的选择,那么您可以回答。这就是为什么我还问了替代方法。
-
我已经提出了一个替代方案 - 使用粒子模拟来显示沙流,并在达到某个阈值时将其移动。如果您需要更现实的解决方案,则必须编写大量代码(包括网格变形和网格动态生成等内容)才能获得不错的性能
-
即使使用粒子系统似乎也很难。你能推荐任何好的tut或参考吗?无论如何感谢您的贡献。
-
基本上你应该在地形上的沙子上寻找体素,并使用 GPU 粒子来获得效果