Unity 6.3
0 онлайн 46 гостей 3 в системе
Вход

Производительность и оптимизация

Эта страница содержит некоторые советы, чтобы помочь вам получить наилучшую производительность в Unity, охватывающий анимационная система и оптимизации времени выполнения.

Примечание: Для советов по моделированию персонажа в 3D приложении для наилучшей производительности в Unity, см. Моделирование персонажей для оптимальной производительности.

Система Animation

Контролеры

Animator не тратит время на обработку, когда Контроллер не установлен на него.

Простая анимация

Играя сингл Animation Клип без смешивания может сделать Unity медленнее, чем устаревшая система анимации. Старая система очень прямая, семплирование кривой и прямой запись в преобразование. UnityТекущая система анимации имеет временные буферы, которые она использует для смешивания, и дополнительное копирование выборочной кривой и других данных. Текущая схема системы оптимизирована для смешивания анимации и более сложных настроек.

Кривые масштаба

Анимация кривых масштаба стоит дороже, чем анимирование кривых перемещения и вращения. Чтобы повысить производительность, избегайте анимации масштаба.

Примечание: Это не относится к постоянным кривым (кривым, имеющим одно и то же значение для длины анимация клипКонстантные кривы оптимизированы и дешевле обычных кривых. Константные кривы, имеющие те же значения, что и значения сцены по умолчанию, не записываются в сцену каждый кадр.

Слои

Большую часть времени Unity оценивает анимации и сохраняет накладные расходы для слои анимации и Animation Государственные машины Стоимость добавления другого слоя к аниматору, синхронизированного или нет, зависит от того, какие анимации и деревья смешивания воспроизводятся слоем. Когда вес слоя равен нулю, аниматор не будет воспроизводить анимации и деревья смешивания. Unity пропускает обновление слоя.

Гуманоиды против типичных типов анимации

Вот советы, которые помогут вам решить между этими типами:

  • При импорте гуманоидной анимации используйте Avatar Mask (class-AvatarMask), чтобы убрать цели IK или анимацию пальцев, если они вам не нужны.
  • Если вы используете Generic, использование движения корня стоит дороже, чем его отсутствие. Если ваши анимации не используют движение корня, убедитесь, что вы не указали корневую кость.

Scene-уровневая оптимизация

Есть много оптимизации, которые могут быть сделаны, некоторые полезные советы включают в себя:

  • Используйте хэши вместо строк для запроса Animator.
  • Реализуйте небольшой слой AI для управления Animator. Вы можете сделать так, чтобы он предоставлял простые обратные вызова для OnStateChange, OnTransitionBegin и других событий.
  • Используйте State Labels, чтобы легко сопоставить вашу машину состояний ИИ с машиной состояний Unity.
  • Используйте дополнительные кривы для имитации событий.
  • Используйте дополнительные кривы для маркировки анимации; например, в сочетании с сопоставление целей.

Оптимизация времени выполнения

Видимость и обновления

Всегда оптимизировать анимации, устанавливая аниматор Режим отбора до Полностью уничтожить, и отключить шкуры сетки рендерера Обновление при отключении экрана свойства. Это экономит Unity от обновления анимации, когда персонаж не виден.