Поиск на сайте: Расширенный поиск


Новые программы oszone.net Читать ленту новостей RSS
CheckBootSpeed - это диагностический пакет на основе скриптов PowerShell, создающий отчет о скорости загрузки Windows 7 ...
Вы когда-нибудь хотели создать установочный диск Windows, который бы автоматически установил систему, не задавая вопросо...
Если после установки Windows XP у вас перестала загружаться Windows Vista или Windows 7, вам необходимо восстановить заг...
Программа подготовки документов и ведения учетных и отчетных данных по командировкам. Используются формы, утвержденные п...
Red Button – это мощная утилита для оптимизации и очистки всех актуальных клиентских версий операционной системы Windows...
OSzone.net Microsoft Разработка приложений Windows Phone Про портирование Unity-игр на Windows Phone RSS

Про портирование Unity-игр на Windows Phone

Текущий рейтинг: 4 (проголосовало 5)
 Посетителей: 1735 | Просмотров: 2122 (сегодня 0)  Шрифт: - +

Кто-то может предположить, что статистические опросы – важная составляющая любой деятельности, дающая развернутую информацию о том или ином процессе. Но не в случае с портированием игр. Информация о том, что 99% разработчиков ассоциируют этот процесс со словом «боль», думаю, не удивит никого. В связи с этим нужно разобраться, а как все-таки начать работать с платформой Windows Phone в связке с Unity. Разбираться будем на примере последней версии Unity (на момент написания статьи это 4.5.2) и магазинов Windows, и попробуем понять, так ли это сложно на самом деле.

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

Для начала нам с вами, очевидно, понадобится игра. Пара часов несложного кодирования и вымученного геймдизайна подарят нам следующий шедевр игровой индустрии прямиком из 1982 года.

*
Увеличить

Игрок двигает мышью вверх-вниз, кораблик его незамедлительно слушается, снаряды вылетают, удивленные враги из другой популярной игры бесславно погибают в пучине Destroy(gameObject). В общем, все просто.

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

Скрипт на pastebin

Для сборки Unity-игры под Windows Phone или Windows 8 (с последующей публикацией в Store) нужны Windows Phone SDK 8.0 (который включает в себя бесплатный VS2013 Express), Windows 8 или выше (есть пробная 90-дневная версия), учетная запись Microsoft ( тыц), учетная запись разработчика (студенты могут получить ее бесплатно по программе DreamSpark) и, очевидно, устройство на нужной платформе. Unity, согласно оффициальной документации поддерживает эмуляторы, но работает в них не очень хорошо.

Обработка ввода
В случае с мышью нам практически не нужно делать дополнительных доработок кода – обработка нажатий и перемещений мыши будет достаточным условием для того, чтобы это все работало для touch-экранов мобильных устройств без лишнего шаманства.

То есть, Input.mousePosition.x будет возвращать место, где сейчас находится мышь в случае версий для компьютера, и координаты касания (любого) в случае устройства с тачскрином. Аналогично и с остальными методами. Если вы разрабатываете игру сразу под тач-интерфейс или хотите обработать какие-то специфические жесты, то на помощь вам придет Input.Touch.

Кроме того, если вы хотите, например, выводить целевые сообщения пользователям определенной платформы, можно использовать следующие конструкции:
#if UNITY_EDITOR
// код, исполняемый только в редакторе unity.
Debug.Log(«Unity Editor»);
#endif

Для Windows Phone 8 эта директива может выглядеть так:
#if (UNITY_WP8 && !UNITY_EDITOR) или просто #UNITY_WP8

Подробный список директив и парочку примеров можно посмотреть в официальной документации Unity.

Чтобы собрать игру, вам нужно выбрать целевую платформу Windows Phone 8 в меню File – Build Settings.

*
Увеличить


После сборки Unity сгенерирует проект Windows Phone Xaml/C#, который нужно будет скомпилировать в Visual Studio для получения финального пакета (XAP) и файла-манифеста, которые нужны для непосредственного запуска игры под Windows Phone. Отладочный запуск проекта через Visual Studio на реальном устройстве выглядит вот так:

С одной стороны, это все что необходимо. С другой стороны, игре может потребоваться оптимизация для соответствия мобильному «железу». В целом, у аппаратной части устройств Windows Phone высокая степень совместимости (приложение, запускающееся на одном телефоне, без проблем запустится и на другом), но остановимся на основных моментах, которые придется иметь в виду.

*
Увеличить


Графика
Аппаратное ускорение с программируемым GPU и поддержкой Direct3D.

Дисплей
На данный момент поддерживаются 4 разрешения экрана: 480х800 (WVGA), 768x1280(WXGA), 720x1280 (720p) и 1080x1920 (1080p). Для определения размеров экрана можно обратиться к Screen.width и Screen.height прямо из Unity. Для картинок вне игры (splash-screen, плиток) достаточно поддерживать разрешение WXGA.

Память
Возможны несколько конфигураций памяти: 512 мегабайт для устройств с WVGA и как минимум 1 гигабайт для устройств с разрешением 720p. На самых свежих моделях размер памяти может достигать двух гигабайт.

Аппаратные API
Акселерометр установлен на всех телефонах с Windows Phone и доступен прямо из Unity, наличие доступа к гироскопу зависит от его присутствия в телефоне. API для компаса, микрофона, камеры и местоположения доступны в Unity с версии 4.3

Для интеграции с платформой можно добавить в вашу игру поддержку живых плиток и Push-уведомлений, а также монетизацию (пробную версию игры или внутриигровые покупки)

Перед отправкой игры в магазин убедитесь, что у вас есть учетная запись разработчика Windows Phone и лицензионная версия Unity. Если это действительно так, то скорее собирайте свою собственную игру, отправляйте ее в магазин Windows Phone

Иcточник: msdn.microsoft.com  •  Опубликована: 21.01.2015
Нашли ошибку в тексте? Сообщите о ней автору: выделите мышкой и нажмите CTRL + ENTER
Теги:   unity.


Оценить статью:
Вверх
Комментарии посетителей
Комментарии отключены. С вопросами по статьям обращайтесь в форум.