目前,我正在Unity中做一个折腾的项目。该外壳在Blender中制成,并在Unity中导入。我在外壳上附加了一个盒子对撞机。

现在,当我在壳体上施加随机力以使其翻转时,当应该发生正面(朝上)或尾部(朝下)的结果时,它有时会停留在垂直向上的位置。

我试图改变轴,增加重力。但是这些解决方案均无效。

我现在要做的是当外壳着陆后处于静止位置时,我将外壳旋转90度-但这不是一个很好的解决方案,因为它很慢并且需要花费时间检查外壳是否已经静止或不。

我正在寻找更好的主意,以便外壳应仅处于头尾状态。

最佳答案

如果使用盒对撞机作为壳体,则最终会遇到这种麻烦的情况,即翻转的壳体有时会侧身坐着,而不是正面朝上或正面朝下。

在这种情况下,我建议使用Capsule Colliders,这是具有圆形顶部和底部的圆柱形对撞机。如果胶囊对撞机落在任一端,它将侧身跌落:



但是,一个胶囊对撞机是不够的-否则,壳会在跌落后开始滚动。我建议2或3,以十字形排列,以使其尖端与壳的侧面相对应:



现在,如果壳落在其任一侧,它将翻倒到十字架的一个面上(面朝上或面朝下)。要将胶囊对撞机添加到您的GameObjects,只需单击“添加组件”,然后选择“物理”>“胶囊对撞机”。然后修改属性以将其置于所需位置:



您选择的方向可能是X轴和Z轴。正确的方向后,更改“中心”值以将对撞机移动到正确的位置以穿过壳体进行交叉。然后,更改对撞机的半径以影响十字的厚度和高度,以使它们的尖端与壳的边缘对齐。

希望这可以帮助!如果您有任何问题,请告诉我。

09-03 18:51