Unity3d 掷骰子模拟:在边缘着陆?

Unity3d 掷骰子模拟:在边缘着陆?,unity3d,game-physics,dice,Unity3d,Game Physics,Dice,我正在尝试实现我自己版本的掷骰子机 到目前为止,我已经得到了一个不错的结果,我的解决方案还不是很灵活,但我喜欢物理学的现实主义 不过,我有一个问题:有时一个骰子落在它的边缘,它会在剩下的时间里保持那个不自然的位置 我怎样才能避免呢 我试图调整物理材料、刚体模拟、骰子的比例和系统重力,但没有成功 也许我没有找到合适的组合,也许我错过了什么 谢谢你的建议,我将不胜感激。你可以重复你的骰子,找到那些正在睡觉的(Rigidbody.IsSleeping),对于那些正在睡觉的人,检查角度是否变细(即其中一

我正在尝试实现我自己版本的掷骰子机

到目前为止,我已经得到了一个不错的结果,我的解决方案还不是很灵活,但我喜欢物理学的现实主义

不过,我有一个问题:有时一个骰子落在它的边缘,它会在剩下的时间里保持那个不自然的位置

我怎样才能避免呢

我试图调整物理材料、刚体模拟、骰子的比例和系统重力,但没有成功

也许我没有找到合适的组合,也许我错过了什么


谢谢你的建议,我将不胜感激。你可以重复你的骰子,找到那些正在睡觉的(Rigidbody.IsSleeping),对于那些正在睡觉的人,检查角度是否变细(即其中一个角度应该接近90的倍数),并对那些可能像硬币一样站在边缘的人施加一些随机扭矩,D6有可能在边缘着陆,但这似乎是不寻常的。我在Unity论坛上发现了一个确切的问题:这个解决方案有用吗@安德里亚,谢谢,我已经看过了。这并不能解决我的问题:向模拟器认为“稳定”的对象施加垂直力不会改变事情。此外,这似乎有点老套。它们是原始的立方体(形成统一体)还是你使用MeshCollider的立方体?@Morasiu我试过两种碰撞器:简单立方体和网格形状的碰撞器。两个都给出了相同的问题。谢谢,这几乎奏效了。我在每一侧使用小型碰撞器来确定模具是否接地良好。如果不是这种情况,我加一个小扭矩。我应该改进它,记下模具在睡觉前的最后一个角速度,并将该值应用到模具上。我还需要更轻柔地施加力(在某些固定更新期间可能会逐渐增加),以获得更平滑的效果。顺便说一句,谢谢。