Version: 6000.3
语言: 中文
网格碰撞器
为网格体碰撞器准备网格体

网格体碰撞器简介

网格碰撞器自由形状的碰撞器组件,它接受网格体参考来定义其碰撞表面形状。更多信息
请参阅术语表
匹配网格Unity 的主要图形原语。网格体构成了 3D 世界的很大一部分。Unity 支持三角或四边形多边形网格。Nurbs、Nurms、Subdiv 曲面必须转换为多边形。更多信息
请参阅术语表
准确地说,为了极其精确碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
模拟。

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

网格体碰撞器的精度比原始碰撞器(如球体体和胶囊体碰撞器)具有更高的处理开销。因此,最佳做法是仅将网格体碰撞器用于不需要大量处理能力的碰撞器,或者用于原始碰撞器或复合碰撞器开销较大的碰撞。一个好的方法是将网格体碰撞器用于静态场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表
geometry 和用于移动游戏对象的复合碰撞器。

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

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

网格碰撞器的主要优点是:

  • 网状对撞机非常精确,因为它们与物品的形状完美匹配。
  • 与复合碰撞器相比,网格碰撞器需要更少的手动开发时间,因为 Unity 会根据网格体的形状自动处理其形状。
  • 在某些情况下,网格碰撞器的计算要求可能低于复合碰撞器。对于非常复杂的形状,通常会出现这种情况,需要大量的复合碰撞器来近似。一个网格体碰撞器可能比几个图元碰撞器更有效。

但是,网格碰撞器也有一些重大限制:

  • 网格碰撞器无法在凹形之间提供精确的碰撞。有关详细信息,请参阅下面的凹面和凸面网格体碰撞器
  • 在某些情况下,复合碰撞器的计算要求可能低于网格碰撞器。对于只需要几个碰撞体来近似的简单形状,或者不需要太精确的形状,通常会出现这种情况。例如,网格碰撞器可能会生成数百个多边形,以便精确匹配复杂的形状,但使用原始碰撞器的近似可能需要的多边形要少得多。
  • 网格体碰撞器对于在运行时改变形状的网格体来说不是一个好的选择。有关详细信息,请参阅下面的运行时改变形状的网格体

该决定始终是项目唯一的,因此您应该测试每个配置并使用 物理分析器帮助您优化游戏的窗口。它显示了在游戏的各个领域花费了多少时间。例如,它可以报告渲染、动画制作或游戏逻辑所花费的时间百分比。更多信息
请参阅术语表
以了解碰撞器设置的效率。

凹面和凸面网格碰撞器

网格碰撞器的行为取决于它们被标记为凹面还是凸面。默认情况下,PhysX 将网格碰撞体视为凹面。

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

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

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

如果你有两个需要碰撞的凹面网格体碰撞器,你可以执行以下作之一,具体取决于碰撞所需的准确度:

如果不需要在形状的凹面部分发生精确碰撞,请在检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。更多信息
请参阅术语表
(启用“凸”)。这将生成一个新的凸面碰撞器形状,称为“外壳”,它类似于指定的凹面网格体,但填充了任何凹线,以使它们凸出。

香蕉形游戏对象上的凹面网格碰撞器。
香蕉形游戏对象上的凹面网格碰撞器。
同一香蕉形游戏对象上的凸面网格碰撞器。
同一香蕉形游戏对象上的凸面网格碰撞器。

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

在运行时改变形状的网格体

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

每次网格体改变形状时,都会物理引擎模拟物理系统各个方面的系统,使物体能够正确加速并受到碰撞、重力和其他力的影响。更多信息
请参阅术语表
需要重新计算网格碰撞体几何体,这会导致大量性能开销。因此,你不应修改网格体碰撞器正在使用的网格体的几何体。如果网格体需要在运行时碰撞和改变形状,通常最好使用基元碰撞器复合碰撞器来近似网格体形状。

定向网格面

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

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

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