Unity3D:尽管完美对齐,仍然有一堆薄盒倒塌

时间:2016-07-10 13:54:17

标签: unity3d collision-detection game-physics rigid-bodies collider

当我复制并粘贴几个薄盒子,然后vertex-snap将它们移到地面和彼此时会发生什么:

enter image description here

按“播放”会导致堆叠翻倒。

我尝试将BoxCollider y减少到0.99和0.95。没有运气了。

是否有人建议轻松获得叠墙以保持不动(直到施加真实力量)?也许存在某种“胶水”成分,以防止两个面分离,直到力超过某个阈值?

1 个答案:

答案 0 :(得分:1)

尝试手动设置的位置,使它们正好在彼此之下。

由于物理模拟不准确,浮点错误等原因,您不应期望能够在其较小的面上堆叠20-30个盒式对撞机。如果您的意图和/或上述内容不起作用,请尝试使用Fixed Joints手动设置Break Force和/或Break Torque。

你也可以尝试将Solver Iteration Count增加到像10或15这样的东西(在大多数情况下应该可以做到这一点),但在具有1000个对象的场景中它不会对性能有益。

在这种特定情况下,增加Sleep Threshold也会有所帮助,但是当它们具有较小(但不是无限小)的速度时会导致小物体睡眠等问题。

编辑:  类似的事情发生在我自己的自定义物理引擎上。您可以做的另一个解决方法是对齐主体并将它们设置为在Start中休眠。这样他们就会保持直立(不会移动)并在碰撞时与他们发生碰撞。