Улучшение производительности мобильной игры в Unity

За последние годы игры на мобильных устройствах значительно изменились: от простых 2D-игр до полноценных 3D-игр. Но, несмотря на это, его вычислительная мощность по-прежнему ограничена, поэтому для обеспечения плавного игрового процесса необходимо принять некоторые соображения относительно выбора дизайна.

Ниже приведены 5 основных моментов, на которые следует обратить внимание, чтобы повысить производительность на мобильных устройствах при разработке в Unity:

Избегайте прозрачности

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

Для непрозрачной геометрии используйте Shaders из категории Mobile.

Избегайте теней в реальном времени

Тени в реальном времени могут выглядеть круто, но они требуют довольно большой вычислительной мощности. Поэтому лучше всего вместо этого запекать их в Lightmaps.

Используйте статическую пакетную обработку, чтобы уменьшить количество вызовов отрисовки

Статическая пакетная обработка — это способ позволить Unity объединить статические объекты вместе, что, в свою очередь, уменьшит количество вызовов Draw, тем самым улучшив производительность рендеринга.

Чтобы включить статическую пакетную обработку, отметьте все статические объекты в сцене как "Batching Static", затем перейдите в «Правка» -> «Настройки проекта...» -> «Плеер» и убедитесь, что установлен флажок «Статическая пакетная обработка».

Используйте динамическую пакетную обработку с осторожностью

Динамическая пакетная обработка несколько противоречива. С одной стороны, он позволяет Unity объединять динамические объекты в меньшее количество объектов, потенциально улучшая производительность, но с другой стороны, он должен делать это в каждом кадре, что вместо этого может ухудшить производительность.

В целом, при настройке мобильных платформ лучше отключить динамическую пакетную обработку.

Избегайте использования OnGUI

OnGUI позволяет быстро создавать пользовательский интерфейс из кода, но это очень медленно по сравнению с UI Canvas, поэтому используйте его только для прототипирования.

Рекомендуемые статьи
Советы по оптимизации Unity
Настройки импорта аудиоклипов Unity для лучшей производительности
Как использовать обновление в Unity
Генератор рекламных щитов для Unity
Unity оптимизирует вашу игру с помощью профайлера
Создание мобильной игры ужасов в Unity
Как создать мобильную игру в Unity