Mesh Collider 的墙壁应该是孔洞并且变形了
Mesh Collider has walls where holes should be and is deformed
我的曲线水管模型需要一个曲线圆柱对撞机,以便我的播放器红色立方体可以轻松通过。
我试过网格碰撞器它不起作用,还尝试了另一个技巧,我在搅拌机中构建了 2 个模型,一个用于网格渲染,一个用于碰撞器。作为一个整体,9 个块中的一个导致网格碰撞器无法处理整个对象检查图片 no:1 并检查图片 no:5 在将两个模型导出到统一后,我在所有 9 个管道块上应用了网格碰撞器分别获得图片中的完美结果 no:5 对撞机的结果看起来很完美但工作不完美 红框玩家无法通过管道
如图所示,Collider 不会让玩家从另一侧进出。我的曲线管道需要一个完美的对撞机,以便我的玩家可以轻松通过。在图片一中,我展示了在应用网格对撞机结果后。在图 2 中,我展示了我再次构建了我的模型,但是在 9 个块中选择了一个块,您可以看到,要分别在所有 9 个块上应用网格碰撞器以获得良好的结果。在图 5 中,我展示了最终结果,它看起来不错,但无法正常工作,对撞机不允许我的小红盒播放器进入管道并通过它。在图 3 中,我正在瞄准。在图 4 中,我开火并显示我们的播放器没有进入管道。
此问题是由于 Unity 将您的 Mesh 转换为 凸面 形状,从而去除了管子上的孔洞。它还会将顶点数减少到 255 个三角形,这是凸网格的最大值。这就是为什么第一张图片中的对撞机变形如此之大的原因。
这里有 2 个主要选项供您选择,因为管子本身就是 non-convex 形状。
确保 Convex
在网格对撞机上 未选中 并且 没有刚体 在管子上。然后,立方体应该能够进入管子。但是,这将意味着 其他 MeshCollider 将无法与管碰撞 。如果您只是将它与 BoxColliders、SphereColliders 或 CapsuleColliders 等进行碰撞,这应该可以正常工作。
将管子分解成一系列 凸面 形状,并使每个形状成为一个 单独的 MeshCollider。那么你这里的情况应该没问题。
来自 MeshCollider 的文档:
Convex - Tick the checkbox to enable Convex. If enabled, this Mesh Collider collides with other Mesh Colliders. **Convex Mesh Colliders are limited to 255 triangles. **
...
Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody
component.
我的曲线水管模型需要一个曲线圆柱对撞机,以便我的播放器红色立方体可以轻松通过。
我试过网格碰撞器它不起作用,还尝试了另一个技巧,我在搅拌机中构建了 2 个模型,一个用于网格渲染,一个用于碰撞器。作为一个整体,9 个块中的一个导致网格碰撞器无法处理整个对象检查图片 no:1 并检查图片 no:5 在将两个模型导出到统一后,我在所有 9 个管道块上应用了网格碰撞器分别获得图片中的完美结果 no:5 对撞机的结果看起来很完美但工作不完美 红框玩家无法通过管道
如图所示,Collider 不会让玩家从另一侧进出。我的曲线管道需要一个完美的对撞机,以便我的玩家可以轻松通过。在图片一中,我展示了在应用网格对撞机结果后。在图 2 中,我展示了我再次构建了我的模型,但是在 9 个块中选择了一个块,您可以看到,要分别在所有 9 个块上应用网格碰撞器以获得良好的结果。在图 5 中,我展示了最终结果,它看起来不错,但无法正常工作,对撞机不允许我的小红盒播放器进入管道并通过它。在图 3 中,我正在瞄准。在图 4 中,我开火并显示我们的播放器没有进入管道。
此问题是由于 Unity 将您的 Mesh 转换为 凸面 形状,从而去除了管子上的孔洞。它还会将顶点数减少到 255 个三角形,这是凸网格的最大值。这就是为什么第一张图片中的对撞机变形如此之大的原因。
这里有 2 个主要选项供您选择,因为管子本身就是 non-convex 形状。
确保
Convex
在网格对撞机上 未选中 并且 没有刚体 在管子上。然后,立方体应该能够进入管子。但是,这将意味着 其他 MeshCollider 将无法与管碰撞 。如果您只是将它与 BoxColliders、SphereColliders 或 CapsuleColliders 等进行碰撞,这应该可以正常工作。将管子分解成一系列 凸面 形状,并使每个形状成为一个 单独的 MeshCollider。那么你这里的情况应该没问题。
来自 MeshCollider 的文档:
Convex - Tick the checkbox to enable Convex. If enabled, this Mesh Collider collides with other Mesh Colliders. **Convex Mesh Colliders are limited to 255 triangles. **
...
Mesh Colliders that do not have Convex enabled are only supported on GameObjects without a Rigidbody component.