以下项目设置一系列设置,可用于配置物理、音频、网络、图形、输入以及项目其他方面的行为。更多信息
请参见术语表管理 2D 物理的全局设置,这些设置定义了 Unity 物理系统中 2D游戏对象Unity 场景中的基本对象,可以代表角色、道具、场景、相机、路径点等等。游戏对象的功能由附加到其上的组件定义。更多信息
请参见术语表物理模拟的精度限制。更精确的模拟需要更多的处理开销,这些设置使您可以调整精度和性能之间的权衡,以最适合您的项目。
要打开 2D 物理项目设置窗口,请转到编辑 > 项目设置... > 2D 物理以管理 2D 物理的全局项目设置。
注意:要管理 3D 物理的全局设置,请参阅 物理 项目设置参考页面。
以下是 2D 物理管理器窗口的常规设置选项卡中提供的属性。
属性 | 功能 | |
---|---|---|
重力 | 设置应用于所有 刚体 2D 游戏对象的重力大小。通常,您只对 y 轴的负方向设置重力。 | |
默认材质 | 设置对 物理材质 2D用于调整 2D 物理对象发生碰撞时的摩擦和反弹更多信息 请参见术语表的引用,以便在未将任何材质分配给各个 碰撞体用于处理对象物理碰撞的无形形状。碰撞体不必与对象的网格完全相同形状,粗略的近似值通常更有效且在游戏玩法中无法区分。更多信息 请参见术语表 2D 时使用。 |
|
速度迭代 | 设置物理系统为解决速度效应而执行的迭代次数。数字越高,物理计算越精确,但编辑器需要更多的 CPU 时间。 | |
位置迭代 | 设置物理系统为解决位置变化而执行的迭代次数。数字越高,物理计算越精确,但同样需要更多的 CPU 时间。 | |
反弹阈值 | 设置弹性 碰撞当物理引擎检测到两个游戏对象的碰撞体发生接触或重叠时,发生碰撞,前提是至少一个碰撞体具有刚体组件并且处于运动状态。更多信息 请参见术语表的阈值。Unity 将任何相对线性速度低于此阈值的碰撞视为非弹性碰撞,因此不会发生反弹。 |
|
最大线性校正 | 设置解决约束时使用的最大线性位置校正(范围为 0.0001 到 1000000)。这有助于防止过度射击。 | |
最大角校正 | 设置解决约束时使用的最大角度校正(范围为 0.0001 到 1000000)。这有助于防止过度射击。 | |
最大平移速度 | 设置 刚体允许游戏对象受到模拟重力和其它力的组件。更多信息 请参见术语表 2D 游戏对象在任何物理更新期间的最大线性速度。 |
|
最大旋转速度 | 设置刚体 2D 游戏对象在任何物理更新期间的最大旋转速度。 | |
Baumgarte 比例 | 设置确定 Unity 解决碰撞重叠速度的比例因子。 | |
Baumgarte 碰撞时间比例 | 设置确定 Unity 解决碰撞时间重叠速度的比例因子。 | |
睡眠时间 | 设置刚体 2D 停止移动后必须经过的时间(以秒为单位),然后它才会进入休眠状态。 | |
线性睡眠容差 | 设置刚体 2D 在 睡眠时间 过去后进入休眠状态的线性速度。 | |
角睡眠容差 | 设置刚体 2D 在 睡眠时间 过去后进入休眠状态的旋转速度。 | |
默认接触偏移 | 设置碰撞体被视为接触的临近距离值,即使它们实际上没有接触。距离小于其 contactOffset 值之和的碰撞体将生成接触,这将导致 碰撞检测Unity 执行的自动过程,用于确定具有刚体和碰撞体组件的移动游戏对象是否与任何其它碰撞体发生接触。更多信息请参见术语表系统即使在对象稍微分离的情况下也能预测性地执行接触约束。注意:将此值降低得太低会导致 Unity 难以计算连续的多边形碰撞。相反,将此值增加太多可能会为顶点碰撞创建伪影。 |
|
模拟模式 | 选择 Unity 执行 2D 物理模拟的时间。 | |
固定更新 | 选择此选项将在 MonoBehaviour.FixedUpdate 调用后立即执行物理模拟。 | |
更新 | 选择此选项将在 MonoBehaviour.Update 调用后立即执行物理模拟。 当您选择此模式时,附加属性将可见。 |
|
脚本 | 选择此选项通过 Physics2D.Simulate 手动执行物理模拟。 | |
模拟层 | 选择 Unity 在 模拟模式设置为 固定更新或 更新时模拟的 层。 所有选项默认情况下处于选中状态,它会自动选择 所有层 并将其全部包含在物理模拟中。您可以选择要包含在模拟中的特定层,Unity 将只模拟这些选中层上的 刚体 2D、关节物理组件,允许刚体组件之间建立动态连接,通常允许一定程度的移动,例如铰链。更多信息 请参见术语表、效应器 以及 碰撞体 2D 之间的接触。 |
|
查询命中触发器 | 如果希望标记为 触发器的碰撞体 2D 在任何物理查询(例如线投射或射线投射)与它们相交时返回命中,则启用此选项。默认情况下启用。 | |
查询从碰撞体中开始 | 如果希望从碰撞体 2D 内部开始的物理查询检测它们开始所在的碰撞体,则启用此选项。 | |
禁用时的回调 | 启用此选项以在具有接触的碰撞体被禁用时生成碰撞回调。 | |
重用碰撞回调 | 启用此设置以使物理系统为所有碰撞回调重用单个 Collision2D 实例。禁用以使物理系统为每个碰撞回调创建新的 Collision2D 实例。 | |
自动同步变换 | 启用此选项以自动将变换更改与物理系统同步。 | |
Gizmos与场景中的游戏对象关联的图形叠加,显示在场景视图中。内置场景工具(例如移动工具)就是 Gizmos,您可以使用纹理或脚本创建自定义 Gizmos。某些 Gizmos 仅在选择游戏对象时绘制,而其它 Gizmos 无论选择哪些游戏对象都会由编辑器绘制。更多信息 请参见术语表 |
选择要在编辑器中绘制的 2D 物理 Gizmos 类型。您可以选择多个选项。 | |
无 | 选择此选项以取消选择所有选项。不会绘制任何 2D 物理 Gizmo。 | |
所有 | 选择此选项以选中所有选项。 | |
所有碰撞体 | 选择此选项以绘制所有碰撞体,而不必在层次结构窗口中选择它们。 | |
碰撞体轮廓 | 选择此选项以使用轮廓绘制碰撞体(您可以在 2D 物理首选项 中自定义轮廓的颜色)。 | |
碰撞体填充 | 选择此选项以使用 2D 物理首选项 中指定的填充颜色绘制所有碰撞体。 | |
碰撞体休眠 | 选择此选项以绘制碰撞体,以显示当附加到其上的刚体 2D 处于休眠状态时使用 2D 物理首选项 中指定的 唤醒或 休眠颜色。 | |
碰撞体接触 | 选择此选项以显示碰撞体接触,作为从接触点开始并指向接触法线的定向箭头。您可以在 2D 物理首选项 中指定箭头的接触颜色。 | |
碰撞体边界 | 选择此选项以绘制碰撞体创建的所有 PhysicsShape2D 的碰撞体边界。边界是轴对齐包围盒 (AABB)。 | |
多线程 | 展开此选项以调整多线程设置。有关每个属性的信息,请参阅 多线程。 |
仅当您为 模拟模式选择 更新或 脚本时,以下属性才会可见。
属性 | 功能 |
---|---|
使用子步进 | 启用此属性以使编辑器在模拟步骤期间使用模拟子步进。 |
使用子步进计数 | 启用此属性以使编辑器为所有模拟子步进计算接触。这将为每个子步进提供更精确的模拟,但会降低性能。禁用此属性以仅为第一个模拟子步进计算接触。 |
最大子步进计数 | 设置当启用模拟子步进并处于活动运行状态时每帧允许的最大模拟子步进数量。这也将限制编辑器在子步进上花费的时间。 |
最小子步 FPS参见第一人称射击游戏(FPS),每秒帧数。 参见 术语表 |
设置模拟步长允许的最低每秒帧数,低于此值时,编辑器将开始使用子步长。如果启用了使用子步长,则当前帧速率低于此值时,编辑器将使用模拟子步长。 |
多线程部分的设置允许您使用 C# 作业系统 来配置多线程物理。
属性 | 功能 |
---|---|
使用多线程 | 启用此选项以使用作业系统执行模拟步骤,并使用以下其他选项控制如何实现。 |
使用一致性排序 | 如果保持一致的处理顺序对模拟很重要,请启用此选项。 在多个 CPU 线程上执行模拟步骤会生成单独的数据批次。处理这些单独的批次会降低处理顺序的确定性,但会产生更快的结果。 |
每个作业的插值姿势 | 设置每个模拟作业中插值的 刚体 2D 对象的最小数量。 |
每个作业的新接触 | 设置每个模拟作业中要查找的新接触的最小数量。 |
每个作业的碰撞接触 | 设置每个模拟作业中要碰撞的接触的最小数量。 |
每个作业的清除标志 | 设置每个模拟作业中要清除的标志的最小数量。 |
每个作业的清除身体力量 | 设置每个模拟作业中要清除的身体的最小数量。 |
每个作业同步离散固定装置 | 设置每个模拟作业中在离散岛屿求解期间在宽相位中同步的固定装置的最小数量。 |
每个作业同步连续固定装置 | 设置每个模拟作业中在连续岛屿求解期间在宽相位中同步的固定装置的最小数量。 |
每个作业查找最近的接触 | 设置每个模拟作业中要查找的最近接触的最小数量。 |
每个作业更新触发器接触 | 设置每个模拟作业中要更新的触发器接触的最小数量。 |
岛屿求解器成本阈值 | 设置离散岛屿求解期间岛屿中所有身体、接触和关节的最小阈值成本。 |
岛屿求解器身体成本比例 | 设置离散岛屿求解期间每个身体的成本比例。 |
岛屿求解器接触成本比例 | 设置离散岛屿求解期间每个接触的成本比例。 |
岛屿求解器关节成本比例 | 设置离散岛屿求解期间每个关节的成本比例。 |
每个作业的岛屿求解器身体 | 设置执行岛屿求解时每个模拟作业中要解决的身体的最小数量。 |
每个作业的岛屿求解器接触 | 设置执行岛屿求解时每个模拟作业中要解决的接触的最小数量。 |
图层碰撞矩阵选项卡设置控制碰撞器(附加到不同的刚体 2D)是否可以相互接触,具体取决于分配给它们所在的 GameObjects 的图层。矩阵显示每个图层与其他所有图层之间的关系,允许您选择哪些特定图层可以与另一个图层接触。
两个图层之间交点的选中标记表示允许这两个图层之间接触,而清除的复选框表示不允许这两个图层之间接触。当您将鼠标悬停在图层名称或复选框上时,其行和列会突出显示,以便更轻松地查看其影响的图层。
提示:为了获得最佳性能,您应该确保只选择要与其他图层接触的特定图层,并禁用所有其他不必要的接触,从而确保仅选择最少数量的潜在接触。为了帮助您实现这一点,您可以选择全部禁用或全部启用以快速选择或取消选择所有选项,然后选择特定的图层。
Physics2DManager