2D Physics Profiler 模块显示物理引擎在场景中已处理的 2D 物理的相关信息。此信息有助于诊断和解决与场景中的 2D 物理相关的性能问题或意外差异。
2D Physics Profiler 模块的图表被分为九个类别。要更改图表中类别的顺序,可以在图表的图例中拖放这些类别。还可以单击某个类别的有色图例以切换是否显示。
图表 | 描述 |
---|---|
Total Bodies | 场景中 Rigidbody2D 的总数 |
Active Bodies | 场景中活跃 Rigidbody2D 的总数。 |
Sleeping Bodies | 场景中睡眠 Rigidbody2D 的总数 |
Dynamic Bodies | 场景中动态 Rigidbody2D 的总数。动态 Rigidbody2D 是最具交互性的 Rigidbody2D 类型。重力和作用力会影响此类型,这是最耗费资源的类型。 |
Kinematic Bodies | 场景中运动 Rigidbody2D 的总数。运动 Rigidbody2D 被设计为在模拟条件下移动:重力和作用力不会影响此类型的 Rigidbody2D,您需要使用脚本来控制其行为方式。 |
Static Bodies | 场景中静态 Rigidbody2D 的总数。静态物体不会在模拟条件下运动,这是耗费资源最少的 Rigidbody2D 类型。 |
Contacts | 接触点的总数。一个接触点是一对触碰或重叠的碰撞体。为了解算重叠的接触点,物理引擎会施加脉冲,使接触点保持触碰而不会重叠。 |
Discrete Island Count | 离散孤岛的总数。物理引擎将接触点分组成孤岛,然后进行解算。接触孤岛由连接在一起的接触点组成,但是接触点并非通过静态 Rigidbody2D 连接,实际上静态 Rigidbody2D 充当的是截断器。离散孤岛由使用离散碰撞检测模式的 Rigidbody2D 组成。如果使用多线程物理选项,过多接触孤岛对性能不利,因为物理引擎将每个孤岛作为一个作业来解算。 |
Continuous Island Count | 连续孤岛的总数。这与 Discrete Island Count 相同,不同点在于它仅适用于使用连续碰撞检测模式的 Rigidbody2D。 |
选择 2D Physics Profiler 模块时,下面的详细信息面板将显示应用程序在选定帧内用于 2D 物理的时间的细分信息。除了上表中列出的图表类别的详细细分信息之外,还有以下附加信息:
数据 | 描述 |
---|---|
Discrete Bodies | 使用离散碰撞检测模式的 Rigidbody2D 的数量。 |
Continuous Bodies | 使用连续碰撞检测模式的 Rigidbody2D 的数量。 |
Joints | 场景中 Joint2D 的数量。 |
Static Shapes | 场景中静态形状的数量。形状是指 2D 物理引擎创建的原始形状。一个 Collider2D 可能生成单个或多个原始形状。要查看 Collider2D 的形状计数,可以查看 Inspector 或在脚本中使用 Collider2D.shapeCount。 静态形状是附加到静态 Rigidbody2D 的形状。静态形状通常用于非移动性物理几何体(例如平台)。 |
Active Shapes | 场景中活跃形状的数量。活跃形状是附加到非睡眠 Rigidbody2D 的形状。静态形状始终不活跃,因为静态 Rigidbody2D 始终处于睡眠状态。 |
Sleeping Shapes | 场景中睡眠形状的数量。睡眠形状是附加到睡眠 Rigidbody2D 的形状。这种状态的形状与活跃形状正好相反。 |