通过以下属性应用 Physics 2D 的全局设置。如果要管理 3D 物理的全局设置,请参阅 Physics Manager 设置。
Physics 2D 设置定义了物理模拟精度的限制。更准确的模拟需要更多的处理开销,这些设置可用于在精度和最适合项目的性能之间进行权衡调整。请参阅物理系统页面以了解更多信息。
属性 | 功能 | |
---|---|---|
Gravity | 设置应用于所有 2D 刚体游戏对象的重力大小。通常,仅为 y 轴的负方向设置重力。 | |
Default Material | 设置在没有为单独 2D 碰撞体分配材质的情况下需要使用的 2D 物理材质。 | |
Velocity Iterations | 设置物理引擎为处理速度影响而进行的迭代次数。数字越大,物理计算越准确,但代价是 CPU 时间增加。 | |
Position Iterations | 设置物理引擎为处理位置变化而进行的迭代次数。数字越大,物理计算越准确,但代价是 CPU 时间增加。 | |
Velocity Threshold | 设置弹性碰撞的阈值。Unity 将相对速度低于此值的碰撞视为非弹性碰撞(即,碰撞的游戏对象不会相互反弹)。 | |
Max Linear Correction | 设置解算约束时使用的最大线性位置校正(范围从 0.0001 到 1000000)。这有助于防止过冲。 | |
Max Angular Correction | 设置解算约束时使用的最大角度校正(范围从 0.0001 到 1000000)。这有助于防止过冲。 | |
Max Translation Speed | 设置任何物理更新期间 2D 刚体游戏对象的最大线性速度。 | |
Max Rotation Speed | 设置任何物理更新期间 2D 刚体游戏对象的最大旋转速度。 | |
Baumgarte Scale | 设置用于确定 Unity 解算碰撞重叠速度的缩放因子。 | |
Baumgarte Time of Impact Scale | 设置用于确定 Unity 解算撞击时间重叠速度的缩放因子。 | |
Time to Sleep | 在 2D 刚体停止移动之后而进入睡眠状态之前必须经过的时间(以秒为单位)。 | |
Linear Sleep Tolerance | 设置线性速度,在低于该速度时,2D 刚体在经过 Time to Sleep 过后进入睡眠状态。 | |
Angular Sleep Tolerance | 设置旋转速度,在低于该速度时,2D 刚体在经过 Time to Sleep 过后进入睡眠状态。 | |
Default Contact Offset | 将碰撞体的接近距离值设置为相接触,即使它们实际上没有接触。距离小于其 contactOffset 值之和的碰撞体将产生接触。这样,即使对象稍微分开,也允许碰撞检测系统预测性地强制执行接触约束。警告:__将此值降低太多可能会削弱 Unity 计算连续多边形碰撞的能力。相反,此值增大过多可能会造成顶点碰撞瑕疵。 | | Simulation Mode__ | 从下拉菜单中选择 Unity 何时执行 2D 物理模拟。 |
Fixed Update | 选择此属性将使 Unity 在调用 MonoBehaviour.FixedUpdate 后立即执行物理模拟。 | |
Update | 选择此属性将使 Unity 在调用 MonoBehaviour.Update 后立即执行物理模拟。 | |
Script | 选择此属性将通过脚本手动执行物理模拟。 | |
Queries Hit Triggers | 如果希望让标记为__触发器__的 2D 碰撞体在任何物理查询(如线性投射或射线投射)与它们相交时返回命中,请启用此选项。默认已启用。 | |
Queries Start In Colliders | 如果希望使 2D 碰撞体中启动的物理查询检测是在哪个碰撞体中开始的,请启用此选项。 | |
Callbacks On Disable | 启用此选项可在禁用具有接触点的碰撞体时生成碰撞回调。 | |
Reuse Collision Callbacks | 启用此设置将使物理引擎对所有碰撞回调重用单个 Collision2D 实例。如果将其禁用,则物理引擎会为每个碰撞回调创建一个新的 Collision2D 实例。 | |
Auto Sync Transforms | 启用此选项可自动将变换更改与物理系统同步。 | |
Job Options (Experimental) | 请参阅下面的 Job Options 部分。 | |
Gizmos | 请参阅下面的 Gizmos 部分。 | |
Layer Collision Matrix | 定义基于层的碰撞检测系统的行为方式。选择碰撞矩阵中的哪些层与其他层交互(勾选相应层即可)。 |
Job Options 部分中的设置允许您使用 C# 作业系统来配置多线程物理设置。
属性: | 功能: |
---|---|
Use Multithreading | 启用此选项会使用作业系统执行模拟步骤,并使用这些选项中的其余部分控制如何实现该功能。 |
Use Consistency Sorting | 如果保持一致的处理顺序对于模拟十分重要,请启用此选项。 在多个 CPU 线程中执行模拟步骤会生成单独的数据批次。处理这些单独的批次会降低处理顺序的确定性,不过会生成更快的结果。 |
Interpolation Poses Per Job | 设置在每个模拟作业中进行插值的最小 2D 刚体对象数。 |
New Contacts Per Job | 设置在每个模拟作业中要查找的最小新接触数。 |
Collide Contacts Per Job | 设置在每个模拟作业中要碰撞的最小接触数。 |
Clear Flags Per Job | 设置在每个模拟作业中要清除的最小标志数。 |
Clear Body Forces Per Job | 设置在每个模拟作业中要清除的最小实体数。 |
Sync Discrete Fixtures Per Job | 设置在每个模拟作业的离散孤岛解算过程中,要在粗筛阶段中同步的最小灯具数。 |
Sync Continuous Fixtures Per Job | 设置在每个模拟作业的连续孤岛解算过程中,要在粗筛阶段中同步的最小灯具数。 |
Find Nearest Contacts Per Job | 设置在每个模拟作业中要查找的最小最近接触数。 |
Update Trigger Contacts Per Job | 设置在每个模拟作业中要更新的最小触发器接触数。 |
Island Solver Cost Threshold | 设置在离散孤岛解算过程中某个孤岛中所有实体、接触和关节的最小阈值成本。 |
Island Solver Body Cost Scale | 设置在离散孤岛解算过程中每个实体的成本规模。 |
Island Solver Contact Cost Scale | 设置在离散孤岛解算过程中每个接触的成本规模。 |
Island Solver Joint Cost Scale | 设置在离散孤岛解算过程中每个关节的成本规模。 |
Island Solver Bodies Per Job | 设置在执行孤岛解算时在每个模拟作业中要解算的最小实体数。 |
Island Solver Contacts Per Job | 设置在执行孤岛解算时在每个模拟作业中要解算的最小接触数。 |
属性: | 功能: |
---|---|
Always Show Colliders | 启用此选项可显示碰撞体辅助图标(即使未选择辅助图标也显示)。 |
Show Collider Sleep | 启用此选项可显示每个碰撞体的睡眠状态。 |
Collider Awake Color | 设置颜色以指示碰撞体(实体)处于唤醒状态。 |
Collider Asleep Color | 设置颜色以指示碰撞体(实体)处于睡眠状态。 |
Show Collider Contacts | 启用此选项可显示每个辅助图标的当前接触点。 |
Contact Arrow Scale | 设置碰撞体辅助图标上显示的接触箭头的大小。 |
Collider Contact Color | 设置辅助图标颜色以指示碰撞体接触点。 |
Show Collider AABB | 启用此选项可显示碰撞体的包围盒。 |
Collider AABB Color | 设置碰撞体包围盒的辅助图标颜色。 |
2018–10–02 页面已修订
统一设置 (Unified Settings) 更新