版本:Unity 6 (6000.0)
语言:英语
网格碰撞器
为网格碰撞器准备网格

网格碰撞器简介

网格碰撞器一个自由形式的碰撞器组件,它接受网格引用来定义其碰撞表面形状。 更多信息
术语表 中查看
网格Unity 的主要图形基元。网格构成您 3D 世界的大部分。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。 更多信息
术语表 中查看
的形状完全匹配,以实现极其精确的 碰撞当物理引擎检测到两个游戏对象的碰撞器发生接触或重叠时,就会发生碰撞,前提是至少一个碰撞器具有刚体组件并处于运动状态。 更多信息
术语表 中查看
模拟。

网格 碰撞器一种用于处理对象物理碰撞的不可见形状。碰撞器不需要与对象的网格形状完全相同 - 粗略近似通常更有效,并且在游戏玩法中无法区分。 更多信息
术语表 中查看
会构建其碰撞几何体以匹配分配的 网格,包括其形状、位置和缩放。这样做的好处是可以使碰撞器的形状与 游戏对象Unity 场景中的基本对象,它可以表示角色、道具、场景、相机、航路点等等。游戏对象的 功能由附加到它的组件定义。 更多信息
术语表 中查看
的可见网格的形状完全相同,从而产生更精确和更逼真的碰撞。

网格碰撞器的精度比 原始碰撞器(例如 球体方块胶囊 碰撞器)具有更高的处理开销。因此,最佳做法是仅将网格碰撞器用于不需要大量处理能力的碰撞器,或用于原始碰撞器或 复合碰撞器 会产生更大开销的碰撞。一种好方法是将网格碰撞器用于静态 场景场景包含您游戏中的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置您的环境、障碍物和装饰,本质上是设计和构建您的游戏。 更多信息
术语表 中查看
几何体,并将复合碰撞器用于移动的游戏对象。

网格碰撞器的优点和局限性

在大多数情况下,网格碰撞器提供与 复合碰撞器 类似的解决方案:它们的 主要目的是为形状复杂的项目提供精确的碰撞。当考虑网格碰撞器的优点和局限性时,您通常将它们与复合碰撞器进行比较。

网格碰撞器的主要优点是

  • 网格碰撞器极其精确,因为它们与项目的形状完全匹配。
  • 网格碰撞器比复合碰撞器需要更少的开发时间,因为 Unity 会根据网格的形状自动处理它们的形状。
  • 在某些情况下,网格碰撞器的计算需求可能比复合碰撞器更低。对于需要大量复合碰撞器来近似的非常复杂的形状,情况通常如此。一个网格碰撞器可能比多个原始碰撞器更有效。

但是,网格碰撞器也有一些明显的局限性

  • 网格碰撞器无法在凹形形状之间提供精确的碰撞。有关详细信息,请参见下面的 凹形和凸形网格碰撞器
  • 在某些情况下,复合碰撞器的计算需求可能比网格碰撞器更低。对于只需要几个碰撞器来近似的简单形状,或对于不需要太精确的形状,情况通常如此。例如,网格碰撞器可能会生成数百个多边形来精确匹配复杂的形状,但使用原始碰撞器进行近似可能只需要更少的数量。
  • 网格碰撞器不适合在运行时改变形状的网格。有关详细信息,请参见下面的 在运行时改变形状的网格

决策始终针对您的项目,因此您应该测试每个配置并使用物理 探查器一个帮助您优化游戏的窗口。它显示了在游戏的各个区域花费的时间。例如,它可以报告渲染、动画或游戏逻辑中花费的时间百分比。 更多信息
术语表 中查看
来了解碰撞器设置的效率。

凹形和凸形网格碰撞器

网格碰撞器的行为根据它们是否被标记为凹形或凸形而有所不同。默认情况下,PhysX 将网格碰撞器视为凹形。

在数学中,“凹形”和“凸形”是用于描述形状的术语

凸形形状仅具有向外弯曲的线(例如,球体)。连接其边界上的两个点的任何线段都完全保留在形状内。凹形形状至少有一个“凹陷”或内凹,其中边界向内弯曲(例如,香蕉)。连接其边界上的两个点的线段有时可能会穿过形状外部的空间。

凹形碰撞器有一些局限性:凹形网格碰撞器只能是静态的(即,它们没有物理体)或运动学(它们具有运动学物理体)。有关详细信息,请参见 碰撞器类型。凹形网格碰撞器只能与凸形碰撞器发生碰撞。如果两个凹形碰撞器发生接触,则不会发生碰撞。

如果您有两个需要发生碰撞的凹形网格碰撞器,您可以根据碰撞的准确性要求执行以下操作之一

如果您不需要在形状的凹陷部分发生精确碰撞,请在 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。 更多信息
术语表 中查看
中将其中一个网格碰撞器标记为凸形(启用 Is Convex)。这将生成一个名为“外壳”的新凸形碰撞器形状,该形状类似于分配的凹形网格,但任何凹形线都被填充以使其凸形。

A concave Mesh collider on a banana-shaped GameObject.
香蕉形游戏对象上的凹形网格碰撞器。
A convex Mesh collider on the same banana-shaped GameObject.
相同香蕉形游戏对象上的凸形网格碰撞器。

如果您需要在形状的凹陷部分发生精确碰撞,请使用由凸形碰撞器组成的 复合碰撞器

在运行时改变形状的网格

分配给网格碰撞器的网格理想情况下不应该在运行时改变形状。

每次网格改变形状时,物理引擎一个模拟物理系统方面的系统,以便物体可以正确加速并受到碰撞、重力和其他力的影响。 更多信息
术语表 中查看
都需要重新计算网格碰撞器几何体,这会导致巨大的性能开销。因此,您不应该修改网格碰撞器正在使用的网格的几何体。如果网格需要在运行时发生碰撞和改变形状,通常最好使用 原始碰撞器复合碰撞器 来近似网格形状。

定向网格朝向

碰撞网格中的面是单面的。这意味着游戏对象可以从一个方向穿过它们,但从另一个方向与它们发生碰撞。

有关网格碰撞器使用的底层算法和数据结构的详细信息,请参阅 Nvidia PhysX 文档中的 Geometry

网格碰撞器
为网格碰撞器准备网格