Я уже писал статью на тему «Методы оптимизации кода…», а этот доклад будет на тему – методы оптимизации локаций. На самом деле это очень важная вещь, так как не только вычисления кода грузят систему, но и отрисовка окружения тоже очень прожорливый процесс.
Количество Tris Batches и Rectangles очень влияет на фпс который может выдавать видеокарта. Приведу пример на игре из cерии BatMan, где на воспроизведение графики требовались топовые видеокарты.
В игре RiverRaft построены локации , таким образом, что горы представлены плоским мешем, но с виду очень похоже на настоящие горы.
Так как все выжимается за счет текстур, текстуры тоже нужно оптимизировать для целевой платформы.
Приведу пример:
Текстура в формате .tga, размер текстуры большой и размер файла тоже большой, количество и качество сжатия приведено в примере на скринах. Следовательно, нужно ее сжимать, без заметной потери качества.
Первым же делом нужно выбрать целевую платформу – Override for Android.
Далее нужно разобраться с размером текстуры. Размер файла напрямую зависит от размера текстуры. Для больших тестур, можно выбрать сжатие до 1024 , на мобильном устройстве это будет минимально заметно. Тем более если объект находится на заднем плане. Далее следует выбрать сжатие файла. Все доступные варианты сжатия:
Я очень часто использую выбранный вариант, 4х4 block – делит изображение на блоки небольшого размера и потом их совмещает. Как вы можете заметить есть большие размеры блоков, но чем выше значение тем больше потеря качества , но мы выигрываем в размере файла и быстродействии. Далее есть RGBA и RGB сжатие с альфа – каналом и без него. Среди всех этих блоков нужно выбирать тот который больше всего подойдет для определенной текстуры. Так как некоторые типы сжатия могут не подойти, алгоритм сжатия сработает не правильно и размер файла только увеличится, значит нужно испольовать другой метод.
Compressor Quality – влияет на качество компрессии.
Для разных материалов можно выставлять разный wrapmode , в случае если текстура будет зациклено повторяться можно выстfвить атрибут Repeat. Если же вы собираетесь делать пиксельную игру, стоит поменять Filter mode с Bilinear на Point.
В следующей статье будет описание о оптимизации локаций и игровых зон.
В студии AppFox можно подать заявку на программирование, создание игр или заказать разработку приложений https://appfox.ru/ и получить бесплатную консультацию по ценам и услугам.