刚体滑动的Unity 3D对象

时间:2018-08-16 17:18:53

标签: unity3d

我有一个附有 Rigidbody 的立方体,只要按一下播放按钮,它就会略微滑动。如果我将其放置一会儿,它将滑到屏幕的另一侧。

任何人都知道如何在不使用“冻结位置”的情况下解决此问题吗?我不知道我在项目中搞砸了什么...

对象的外观如下: image

注意:我需要使用重力。

谢谢!

3 个答案:

答案 0 :(得分:4)

嘿!解决方案是:

您在地板上有一个刚体:)

您不要那样做:)从不。


如果“地板”表面是平坦的,则

不会滑动

您发生了一些奇怪的事情,例如

  • “地板”不平坦

  • “风”之类的功能已打开

  • 您遗忘的场景中可能看不见的其他对象正在触摸它

PhysX没有“自己的想法”。它移动的原因很简单。


让我们说“地板”确实是倾斜的,因此它应该移动,但是您希望它不移动。

您显然在现实世界中所做的就是在其中放置阻止其移动的东西,例如一堵看不见的小墙。

答案 1 :(得分:1)

通常,当较低的刚体的质量比较高的刚体的质量低(迫使较低的刚体下降)时,会发生刚体滑动。玩家说质量块80跳到质量块1的立方体上的典型问题。在这种情况下,碰撞非常剧烈,立方体可能会飞出(不仅滑动)。 情况与现实世界非常相似。如果您的体重为120公斤,请尝试留在牛奶盒中(好的,好的,80 :)。 当您尝试消除这种现象时,您需要增加下部物体的质量或减小上部物体的质量,或者将下部刚体设置为运动学。

答案 2 :(得分:0)

上述解决方案不是解决问题的正确方法。团结比物理具有更多的物理特征。如果您在运动中滑动或由于其他物体而滑动,则应在刚体上添加适当的阻力值。例如,假设您在其他块上方生成了块,这会产生水平滑动。在我的情况下,我将1的阻力添加到质量约为1 kg的对象上。这取决于场景,您应根据情况尝试不同的值。如果不重要,请勿使用较大的值和角度拖曳。

相关问题