Version: 6000.3
语言: 中文
优化纯查询或非模拟游戏的物理
移动静态碰撞器以防止性能问题

优化转换值同步

优化变换值与物理系统的同步,以提高性能和查询准确性。

默认情况下,Unity 会延迟物理转换同步。如果更改 Transform 值,然后立即查询物理世界,则物理系统可能不会意识到更改,除非显式传达。你可以通过启用或禁用 自动同步变换(Auto Sync Transforms) 来控制此行为。

建议的最佳实践是禁用 自动同步变换(Auto Sync Transforms),该功能默认处于禁用状态。如果修改刚体允许游戏对象受到模拟重力和其他力影响的组件。更多信息
请参阅术语表
碰撞体(Collider) 用于处理对象物理碰撞的不可见形状。碰撞体不需要与对象的网格体形状完全相同 - 在游戏中,粗略的近似值通常更有效且难以区分。更多信息
请参阅术语表
组件的变换值,然后立即需要执行物理查询,该查询取决于该对象在同一帧中的新位置,手动调用Physics.SyncTransforms在查询之前。这可确保物理世界与转换值更改保持同步,以获得准确的查询结果。注意Physics.SyncTransforms当禁用自动同步转换时,对于准确查询至关重要,尤其是在Physics.simulationMode设置为Script,并且你正在进行查询,如优化仅查询或非模拟游戏的物理中所述。

要在编辑器中启用或禁用自动同步变换,请执行以下作:

  1. 选择 编辑(Edit) > 项目设置(Project Settings) 以打开 项目设置(Project Settings) 窗口。
  2. 选择 物理>设置(Physics Settings) 选项卡。
  3. 选择游戏对象Unity 场景中的基本对象,可以表示角色、道具、风景、相机、航路点等。游戏对象的功能由附加到它的组件定义。更多信息
    请参阅术语表
    标签。
  4. 启用或禁用 自动同步变换(Auto Sync Transforms) 。默认情况下,未启用 自动同步变换(Auto Sync Transforms) 。如果启用它,则会在每个物理查询之前添加隐式同步点,这可能会对性能产生负面影响。

要在脚本中启用或禁用自动同步变换,请将Physics.autoSyncTransformstruefalse.设置Physics.autoSyncTransforms = true;与在项目设置(Project Settings) 广泛的设置集合,允许您配置物理、音频、网络、图形、输入和项目的许多其他区域的行为方式。更多信息
请参阅术语表
.

其他资源

优化纯查询或非模拟游戏的物理
移动静态碰撞器以防止性能问题