Найти тему
GopnikFlex

Оптимизация игр на Unity: Реальный геморрой для всех

Оглавление

Это дело - реальный геморрой для любого проекта, даже для тех, кто шарит. Щас мы с тобой перетрём основные фишки, как ускорить твою игруху.

Бачинг - склеиваем объекты, как лего

Значит, так, первая тема - бачинг. Это когда юнити берёт кучу мелких объектов и лепит их в одну большую модель. Если объекты не двигаются, это статический бачинг. Юнити просто склеивает их намертво, и вместо тыщи мелких объектов рисует один здоровый. Это экономит дофига времени.

Если объекты двигаются, то это уже динамический бачинг. Юнити не может их намертво склеить, но он группирует похожие объекты рядом и рисует их за раз. Это сложнее, но тоже ускоряет дело.

Чтобы врубить динамический бачинг, иди в настройки билда, там в "Other Settings" поставь галку на "Dynamic Batching". А для статического бачинга тебе надо найти объекты, которые не двигаются, выделить их и поставить галку "Static" в инспекторе. Вот так вот, всё просто.

Occlusion Culling - не рисуем то, чего не видно

Так, следующая тема - Occlusion Culling. Без неё ни одна большая игруха не обходится. Смотри, когда у тебя в сцене дофига объектов, некоторые из них загорожены другими. Юнити по дефолту всё равно пытается их нарисовать, хотя их не видно. Это тупо просирает ресурсы.

Occlusion Culling позволяет юнити понять, какие объекты спрятаны, и забить на них. Он рисует только то, что видно в камеру, а остальное игнорит. Профит!

Чтобы его врубить, иди в меню "Window" -> "Rendering" -> "Occlusion Culling". Там жми "Bake", и он сам всё посчитает. Запускай игру и наслаждайся оптимизацией.

Размер текстур - не раздувай, а то треснет

Последняя тема на сегодня - текстуры. Их размер очень важен для производительности, особенно на мобилах. Юнити лучше всего работает с текстурами, у которых размер - степень двойки (256x256, 512x512, 1024x1024 и т.д.).

Для мобильных игр оптимально использовать текстуры 512x512. Так что бери свои текстуры и ресайзь их до этого размера. Вот и всё, братан, на этом пока закругляемся.