Управление уровнями
Last updated
Last updated
Удобный плагин для настройки динамической смены дня и ночи.
Стоит всегда стремиться к минимизации числа компонентов. Оптимальные настройки для ландшафта указаны в документации:
Удобный плагин, позволяющий открыть в отдельном окне уровень, например, Overview из какого-нибудь ассет-пака, и прямо оттуда перетаскивать ассеты в основной открытый уровень.
Использовать Nanite для всех моделей. Однако, в редких случаях они могут даже понизить FPS, и тогда лучше использовать LOD.
Использовать только Material Instance для модели.
Использовать Simplify в Modeling даже для уже оптимизированных моделей. Можно смотреть на показания Quad Overdraw.
Настроить Light Map Resolution для каждой модели, опираясь на показания в Lightmap Density.
Упростить материалы, опираясь на показания Shader Complexity.
Использовать мастер-материалы, ограничивая при этом их максимальное количество. В этом поможет Raster Bins.
Вместо Opacity для стёкол часто хорошо подходит Opacity Mask и DitherTemporalAA, что будет гораздо производительнее.
Уменьшить разрешение текстур с помощью LOD Bias. Часто хорошо получается, если оставить Normal оригинального разрешения, а остальные текстуры сжать в несколько раз.
Если не используется запекание света, то не стоит делать много пересекающихся статических источников света. Либо можно включить MegaLights.
С помощью PostProccessVolume можно настраивать качество освещения и отражений.
Отключить Cast Shadow на тех объектах, где тени не нужны.
Если есть возможность, то влияние ветра на foliage лучше вообще отключить, либо хотя бы настроить World Position Offset Disable Distance.
Физические объекты, например, флаги, лучше запекать в анимацию. В этом поможет плагин Take Recorder.
Настроить у объектов Desired Max Draw Distance, но не слишком часто, чтобы не поймать подвисаний при попытке подгрузить сразу много объектов.
Использовать виртуальные текстуры.
В PCG включить в настройках Use Hierarchical Generation.
В PCG для Static Mesh, у которых есть WPO (World Position Offset), стоит включить VSM Cache Invalidation Behavior.
Стараться не использовать Point Light, заменяя его Spot Light или Rect Light.
Lumen, Nanite и Virtual Shadow Maps нужно отключать, если есть цель оптимизации под видеокарты уровня 1060.
Если из-за Lumen появляются артефакты в виде зернистости, то стоит увеличить значение параметра "Final Gather Quality".
Проверять разрешение текстур с помощью Required Texture Resolution (возможно, понадобится выключить Nanite) на требуемом расстоянии и при необходимости изменять разрешение с помощью "Maximum Texture Size".
Для запекания света лучше использовать GPU Lightmass, так как и качество освещения получается лучше, и оптимизация. Но перед запеканием сцену надо правильно подготовить.
После применения маски можно определить, какие объекты не используют nanite (все зелёные объекты применяют nanite, а все красные - нет).
Данной маской удобно пользоваться, чтобы настраивать Light Map Res на уровне.
Например, есть несколько книг, которые должны лежать на столе как-то вперемешку. Для этого можно временно включить симуляцию физики для всех книг, поднять их вверх, затем запустить режим симуляции. После окончания движения всех книг, нужно выбрать каждую из них и нажать K (для фиксации location и rotation), после чего симуляцию можно останавливать, а физику отключать.
Для этого есть параметр Startup Movies. Туда можно добавлять обычные mp4-файлы, которые всегда будут запускаться в заданном порядке перед началом игры в Standalone-режиме.
Data Layer можно использовать, например, если мир игры меняется после какого-нибудь квеста (например, ворота замка были закрыты, а на другом слое уже открыты, и он подгружается после квеста).
По умолчанию составляет 12800 юнитов (128 метров), однако, это значение можно изменить в World Settings.