Unity 6.3
0 онлайн 72 гостей 3 в системе
Вход
Физика Шаг 81 из 99

Оптимизация синхронизации значений преобразований

Оптимизация синхронизации значений Transform с системой физики для повышения производительности и точности запросов.

По умолчанию, Unity откладывает синхронизацию физических преобразований. Если вы измените значение Transform и затем немедленно запросите мир физики, система физики может не узнать об изменении, если оно не будет явно сообщено. Вы можете управлять этим поведением, включая или отключая Auto Sync Transforms.

Рекомендуется отключить Auto Sync Transforms, который по умолчанию отключен. Если вы изменяете значения преобразования компонента Rigidbody или Collider напрямую, а затем немедленно требуется выполнить физический запрос, который зависит от нового положения этого объекта в том же кадре, вручную вызовите Physics.SyncTransforms перед запросом. Это гарантирует, что мир физики обновляется с изменениями значений преобразования для точных результатов запроса. Примечание: Physics.SyncTransforms имеет решающее значение для точных запросов, когда Auto Sync Transforms отключен, особенно если Physics.simulationMode установлен на Scriptи вы запрашиваете, как подробно описано в Оптимизация физики только для запросов или несимулирующих игр.

Чтобы включить или отключить Auto Sync Transforms в Редакторе:

  1. Выберите Изменить > Project Настройки, чтобы открыть окно Настройки Project.
  2. Выберите вкладку Physics > Settings.
  3. Выберите вкладку GameObject.
  4. Включите или отключите Auto Sync Transforms. По умолчанию Auto Sync Transforms не включено. Если вы включите его, вы добавите косвенные точки синхронизации перед каждым физическим запросом, что может негативно повлиять на производительность.

Чтобы включить или отключить Auto Sync Transforms в сценарии, установите Physics.autoSyncTransforms на true или false. Установка Physics.autoSyncTransforms = true; имеет тот же эффект, что и включение Auto Sync Transforms в Настройках Project.

Дополнительные ресурсы