Version: 6000.3
语言: 中文
使用图层碰撞矩阵减少重叠
碰撞体类型和性能

选择宽相修剪算法

选择最有效的宽相修剪算法。

在 Unity 编辑器中,您可以选择这些算法进行宽相位碰撞当物理引擎检测到两个游戏对象的碰撞器接触或重叠时,当至少一个游戏对象具有刚体组件并且处于运动状态时,就会发生碰撞。更多信息
请参阅术语表
检波:

  • 扫描和修剪 (SAP):将轴对齐边界框 (AABB) 投影到轴上。虽然 SAP 通常很高效,但在大型、扁平的世界中可能会产生误报,其中有很多碰撞体 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
    请参阅术语表
    .在这些场景中,它可以识别实际上并不接近的窄相位碰撞检查对象对,即使对象距离较远,投影也可能重叠。
  • 自动框修剪:将世界划分为一个网格,并根据您的场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
    请参阅术语表
    的内容。这可以显着减少在合适环境中需要窄相位检查的对数量。

SAP 是 3D 物理场的默认宽相位算法。如果要选择自动框剪枝算法,则必须考虑几个相关的缺点:

  • 高度动态场景中的开销:如果场景包含许多对象,这些对象都在网格单元格边界上持续快速移动,则更新它们在网格中的位置的开销可能会抵消甚至超过修剪的好处。在高度动态的场景中,扫描和修剪宽阶段可能更有效。
  • 自动网格配置:自动确定的网格可能并不适合所有可以想象的场景布局。虽然它的目标是良好的通用配置,但特定或不寻常的世界结构可能没有那么高的性能优势。
  • 初始设置和重新配置:构建网格需要初始性能成本。如果世界的物理边界在运行时发生巨大变化,系统可能需要重新配置网格,这可能会导致暂时的性能峰值。
  • 内存使用:网格结构会消耗一些内存,但通常不是主要问题。

自动框修剪通常在大型开放世界或具有许多静态或不经常移动的碰撞体的场景中表现良好。对于较小、密集的场景或具有大量快速移动物体的场景,“扫描”和“修剪”可能是更好的选择。始终使用 Unity Profiler 对特定场景进行分析,并关注物理宽相位处理时间,以确定哪种宽相位类型能为您的游戏带来最佳性能。

要更改宽相类型:

  1. 选择 编辑(Edit) > 项目设置(Project Settings) 以打开 项目设置(Project Settings) 窗口。
  2. 选择 物理>设置(Physics Settings) 选项卡。
  3. 选择游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    标签。
  4. 宽相类型中,选择宽相类型算法。

其他资源

使用图层碰撞矩阵减少重叠
碰撞体类型和性能