网格碰撞器一个自由形式的碰撞器组件,它接受网格引用来定义其碰撞表面形状。 更多信息
在 术语表 中查看 与 网格Unity 的主要图形基元。网格构成您 3D 世界的大部分。Unity 支持三角形或四边形多边形网格。NURBS、NURMS、细分曲面必须转换为多边形。 更多信息
在 术语表 中查看 的形状完全匹配,以实现极其精确的 碰撞当物理引擎检测到两个游戏对象的碰撞器发生接触或重叠时,就会发生碰撞,前提是至少一个碰撞器具有刚体组件并处于运动状态。 更多信息
在 术语表 中查看 模拟。
网格 碰撞器一种用于处理对象物理碰撞的不可见形状。碰撞器不需要与对象的网格形状完全相同 - 粗略近似通常更有效,并且在游戏玩法中无法区分。 更多信息
在 术语表 中查看 会构建其碰撞几何体以匹配分配的 网格,包括其形状、位置和缩放。这样做的好处是可以使碰撞器的形状与 游戏对象Unity 场景中的基本对象,它可以表示角色、道具、场景、相机、航路点等等。游戏对象的 功能由附加到它的组件定义。 更多信息
在 术语表 中查看 的可见网格的形状完全相同,从而产生更精确和更逼真的碰撞。
网格碰撞器的精度比 原始碰撞器(例如 球体、方块 和 胶囊 碰撞器)具有更高的处理开销。因此,最佳做法是仅将网格碰撞器用于不需要大量处理能力的碰撞器,或用于原始碰撞器或 复合碰撞器 会产生更大开销的碰撞。一种好方法是将网格碰撞器用于静态 场景场景包含您游戏中的环境和菜单。将每个唯一的场景文件视为一个唯一的关卡。在每个场景中,您可以放置您的环境、障碍物和装饰,本质上是设计和构建您的游戏。 更多信息
在 术语表 中查看 几何体,并将复合碰撞器用于移动的游戏对象。
在大多数情况下,网格碰撞器提供与 复合碰撞器 类似的解决方案:它们的 主要目的是为形状复杂的项目提供精确的碰撞。当考虑网格碰撞器的优点和局限性时,您通常将它们与复合碰撞器进行比较。
网格碰撞器的主要优点是
但是,网格碰撞器也有一些明显的局限性
决策始终针对您的项目,因此您应该测试每个配置并使用物理 探查器一个帮助您优化游戏的窗口。它显示了在游戏的各个区域花费的时间。例如,它可以报告渲染、动画或游戏逻辑中花费的时间百分比。 更多信息
在 术语表 中查看 来了解碰撞器设置的效率。
网格碰撞器的行为根据它们是否被标记为凹形或凸形而有所不同。默认情况下,PhysX 将网格碰撞器视为凹形。
在数学中,“凹形”和“凸形”是用于描述形状的术语
凸形形状仅具有向外弯曲的线(例如,球体)。连接其边界上的两个点的任何线段都完全保留在形状内。凹形形状至少有一个“凹陷”或内凹,其中边界向内弯曲(例如,香蕉)。连接其边界上的两个点的线段有时可能会穿过形状外部的空间。
凹形碰撞器有一些局限性:凹形网格碰撞器只能是静态的(即,它们没有物理体)或运动学(它们具有运动学物理体)。有关详细信息,请参见 碰撞器类型。凹形网格碰撞器只能与凸形碰撞器发生碰撞。如果两个凹形碰撞器发生接触,则不会发生碰撞。
如果您有两个需要发生碰撞的凹形网格碰撞器,您可以根据碰撞的准确性要求执行以下操作之一
如果您不需要在形状的凹陷部分发生精确碰撞,请在 检查器一个 Unity 窗口,显示有关当前选定游戏对象、资产或项目设置的信息,允许您检查和编辑值。 更多信息
在 术语表 中查看 中将其中一个网格碰撞器标记为凸形(启用 Is Convex)。这将生成一个名为“外壳”的新凸形碰撞器形状,该形状类似于分配的凹形网格,但任何凹形线都被填充以使其凸形。
如果您需要在形状的凹陷部分发生精确碰撞,请使用由凸形碰撞器组成的 复合碰撞器。
分配给网格碰撞器的网格理想情况下不应该在运行时改变形状。
每次网格改变形状时,物理引擎一个模拟物理系统方面的系统,以便物体可以正确加速并受到碰撞、重力和其他力的影响。 更多信息
在 术语表 中查看 都需要重新计算网格碰撞器几何体,这会导致巨大的性能开销。因此,您不应该修改网格碰撞器正在使用的网格的几何体。如果网格需要在运行时发生碰撞和改变形状,通常最好使用 原始碰撞器 或 复合碰撞器 来近似网格形状。
碰撞网格中的面是单面的。这意味着游戏对象可以从一个方向穿过它们,但从另一个方向与它们发生碰撞。
有关网格碰撞器使用的底层算法和数据结构的详细信息,请参阅 Nvidia PhysX 文档中的 Geometry。