Unity3D:尽管对齐完美,但一堆薄盒子倒塌了
Unity3D: stack of thin boxes toppling despite perfect alignment
以下是我复制并粘贴几个薄框,然后 vertex-snap 它们到地面并相互粘贴时发生的情况:
按下 "Play" 会导致堆栈倾倒。
我尝试将 BoxCollider y
降低到 0.99 和 0.95。仍然没有运气。
有没有人有任何建议可以轻松地让堆叠的墙保持向上(直到施加 真实 力)?也许有某种 "glue" 组件可以防止两个面分离,直到力超过某个阈值?
尝试手动设置它们的位置,使它们位于彼此的正下方。
由于物理模拟不准确、浮点错误等原因,您不应该期望能够将 20-30 个盒子碰撞器堆叠在它们较小的面上。如果那是你的意图 and/or 以上方法不起作用,请尝试使用 Fixed Joints 并手动设置 Break Force and/or Break Torque。
您也可以尝试将 Solver Iteration Count 增加到 10 或 15 之类的值(在大多数情况下应该可以解决问题),但在 [=28] 为 1000 的场景中这对性能不利=].
增加 Sleep Threshold 在这种特定情况下也会有所帮助,但可能会导致问题,例如小 objects 在速度很小(但不是无限小)时睡觉。
编辑:
我自己的自定义物理引擎也会发生类似的事情。您可以做的另一个解决方法是对齐身体并将它们设置为在 Start
中休眠。这样他们就会保持直立(而不是移动)并在有东西碰撞时翻倒。
以下是我复制并粘贴几个薄框,然后 vertex-snap 它们到地面并相互粘贴时发生的情况:
按下 "Play" 会导致堆栈倾倒。
我尝试将 BoxCollider y
降低到 0.99 和 0.95。仍然没有运气。
有没有人有任何建议可以轻松地让堆叠的墙保持向上(直到施加 真实 力)?也许有某种 "glue" 组件可以防止两个面分离,直到力超过某个阈值?
尝试手动设置它们的位置,使它们位于彼此的正下方。
由于物理模拟不准确、浮点错误等原因,您不应该期望能够将 20-30 个盒子碰撞器堆叠在它们较小的面上。如果那是你的意图 and/or 以上方法不起作用,请尝试使用 Fixed Joints 并手动设置 Break Force and/or Break Torque。
您也可以尝试将 Solver Iteration Count 增加到 10 或 15 之类的值(在大多数情况下应该可以解决问题),但在 [=28] 为 1000 的场景中这对性能不利=].
增加 Sleep Threshold 在这种特定情况下也会有所帮助,但可能会导致问题,例如小 objects 在速度很小(但不是无限小)时睡觉。
编辑:
我自己的自定义物理引擎也会发生类似的事情。您可以做的另一个解决方法是对齐身体并将它们设置为在 Start
中休眠。这样他们就会保持直立(而不是移动)并在有东西碰撞时翻倒。