Особенности разработки игр под Android

Онлайн игра от 6-02-2016, 00:25
Движок Unity3D позволяет компилировать один и тот же проект под много разных платформ, среди которых и Android. Если вы раньше разрабатывали игры только под PC, то перейти под платформу Android будет не сложно, чтобы все потом могли скачать на apkmarket-android.com ваши игры и приложения. Нужно понять ряд ключевых особенностей. По сравнению с разработкой приложения на родном Android SDK, рассматриваемый способ намного проще и быстрее, для того, кто уже работает с движком Unity3D.
 
Первое это управление. Изучите по документации функции, которые применяются для опроса прикосновений к экрану. Используется тот же класс Input.
 
Для тестирования, можно включить в вашем телефоне опцию "дебага". После этого, если вы подсоедините телефон шнуром к компьютеру, и откомпилируете проект под платформу Андроид, - игра сама установится на телефон и запустится. Но лично у меня, тут начали возникать баги с управлением - в результате от этого способа я отказался.
 
Есть еще одно полезное средство. Установите на телефон программку Remote. Подсоедините телефон шнуром к компьютеру. Запустите эту программку на телефоне и затем запустите Юнити на компьютере. Теперь вы можете использовать телефон в качестве джойстика (графика будет очень низкого качества, но отрабатывать управление татчпадом очень удобно).
 
Имейте ввиду, что далеко не все фишки движка поддерживаются андроидом, и после компиляции могут приводить к не предсказуемым результатам. Например у меня, при использовании лайтмапов, иногда начинали исчезать полигоны, при запуске игры для андроид.
 
Не забывайте о том, что шейдеры могут быть довольно тяжелыми в плане производительности. Нужно в первую очередь проверять, нету ли нужного вам шейдера во вкладке Mobile. Если нужного шейдера не было найдено в библиотеке - поищите в интернете. Вы даже можете подредактировать найденный шейдер - это не сложно. Там просто идет набор параметров. Например, когда я делал 2.5D игру - мне нужно было ставить плоскости с прозрачностью, но стандартный шейдер не учитывает z-глубину. В интернете я нашел шейдер, который частично удовлетворял мои потребности. В шейдере я изменил всего один параметр, который отвечал за то, в каком порядке отрисовывать этот обобьет (от 0 до 1000).