unity приложение для андроид

Начало разработки под Android

Разработка игр для устройств с Android OS требует подхода, схожего с разработкой под iOS. С другой стороны, аппаратное обеспечение Android-устройств не подчиняется чётким стандартам, что заставляет решать вопросы, которые отсутствуют при работе с iOS. Также присутствуют различия между версиями Unity для Android и iOS.

Подготовка среды разработки для Android

Прежде чем вы сможете протестировать свои игры на устройстве, вам нужно будет подготовить среду разработки. В частности — скачать и установить Android SDK нужной платформы и добавить ваше устройство в систему (этот процесс отличается для Windows и Mac). Об этом подробно написано на сайте Android-разработчиков, а также дополнительную информацию может предоставлять производитель вашего устройства. Так как это достаточно сложный процесс, мы приготовили небольшую инструкцию которая поможет вам подготовить всё необходимое для разработки. Если вам понадобится больше информации, вы сможете получить её на портале Android-разработчиков.

Доступ к функциям Android

Unity предоставляет API для доступа к средствам ввода и настройкам Android. Доступные классы задокументированы на странице Написание кода для Android сборок.

Привязка C, C++ или Java кода к скриптам

Unity позволяет вызывать функции, написанные на C/C++, непосредственно из скриптов (Java-функции могут быть вызваны непрямым способом). Чтобы узнать как из Unity получать доступ к функциям из нативного кода, посетите страницу о сборке плагинов для Android.

Occlusion Culling (отсечение невидимой геометрии)

Unity предоставляет поддержку occlusion culling, что очень полезно при оптимизации для мобильных платформ. Больше информации можно найти на странице Occlusion culling.

Настройка начальной заставки

Заставка, отображаемая при запуске игры, может быть настроена — см. эту страницу для дополнительной информации.

Решение проблем и сообщения об ошибках

Существует множество причин, из-за которых ваше приложение вылетает или не работает должным образом. Наше руководство по решению специфических для Android проблем поможет вам разобраться с причинами ошибок в кратчайшие сроки. Если после прочтения руководства вы предполагаете, что проблема именно в Unity — вам следует составить сообщение об ошибке. Обратитесь к этой странице за инструкциями.

Как Unity для Android отличается от версии для настольных компьютеров

JavaScript со строгой типизацией

Для улучшения производительности в Android-версии Unity динамическая типизация в JavaScript всегда отключена (как если бы к каждому скрипту автоматически применялась #pragma strict). Это важно помнить, если вы переносите на Android проект со старших платформ, и если вы столкнётесь с ошибками компиляции — проблему стоит искать в первую очередь в типизации. С такими ошибками обычно легко справиться, убедившись что типы всех переменных явно указаны или приведёны при инициализации.

ETC — рекомендуемый способ сжатия текстур

Хоть Unity Android и поддерживает DXT/PVRTC/ATC текстуры, Unity распакует текстуры в формат RGB(A) при выполнении, если эти методы сжатия на поддерживаются на конкретном устройстве. Это может серьёзно повлиять на производительность GPU отрисовки, потому рекомендуется использовать формат ETC. Он является фактическим стандартом для Android, и должен поддерживаться всеми современными устройствами. С другой стороны, ETC не поддерживает альфа-канал, и иногда 16-битные RGBA текстуры будут лучшим выбором по критериям качества, размера и скорости рендеринга там, где нужен альфа-канал.

Также возможно создать несколько дистрибутивов игры (apk-файлов) с разными форматами текстур, чтобы Android Market сам предоставлял для каждого устройства наиболее подходящий из дистрибутивов. За подробностями обратитесь к этой странице.

Проигрывание видео.

Видео текстуры (MovieTexture) не поддерживаются на Android, но программно доступно полноэкранное поточное проигрывание. Для дополнительной информации о поддерживаемых форматах файлов и API скриптинга, ознакомьтесь со страницой класса MovieTexture или со страницей поддерживаемых на Android форматах медиа.

Источник

Краткое руководство. Создание приложения Android в Unity с помощью Пространственных привязок Azure

В этом кратком руководстве показано, как создать приложения Android в Unity с помощью Пространственных привязок Azure. «Пространственные привязки Azure» — это кроссплатформенная служба разработчика, которая позволяет создавать среды смешанной реальности с применением объектов, не меняющих своего расположения на устройствах с течением времени. После завершения вы получите приложение Android ARCore, разработанное с использованием Unity, которое может сохранять и отзывать пространственные привязки.

Если у вас еще нет подписки Azure, создайте бесплатную учетную запись Azure, прежде чем начать работу.

Предварительные требования

В рамках этого краткого руководства вам потребуются:

Создание ресурса Пространственных привязок

В области слева выберите Создать ресурс.

Выполните поиск по запросу Пространственные привязки с помощью поля поиска.

portal search

Выберите Пространственные привязки, а затем щелкните Создать.

В области Учетная запись Пространственных привязок выполните следующие действия.

Введите уникальное имя ресурса, используя обычные буквенно-цифровые символы.

Выберите подписку, к которой нужно присоединить ресурс.

Создайте группу ресурсов, нажав Создать. Назовите ее myResourceGroup и нажмите ОК.

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

Выберите расположение (регион), в котором будет размещен ресурс.

Выберите Создать, чтобы начать создание ресурса.

create resource form

После создания ресурса на портале Azure отобразится оповещение о завершении развертывания.

deployment complete

Выберите Перейти к ресурсу. Теперь можно просмотреть свойства ресурса.

Скопируйте значение идентификатора учетной записи ресурса в текстовый редактор для дальнейшего использования.

view resource accountid

Скопируйте также значение домена учетной записи ресурса в текстовый редактор для дальнейшего использования.

view resource domain

В разделе Параметры выберите элемент Ключ доступа. Скопируйте значение первичного ключа (ключа учетной записи) в текстовый редактор для дальнейшего использования.

view account key

Чтобы подготовить среду для Azure CLI, выполните указанные ниже действия.

Используйте среду Bash в Azure Cloud Shell.

hdi launch cloud shell

При необходимости установите Azure CLI, чтобы выполнять справочные команды CLI.

Если вы используете локальную установку, выполните вход в Azure CLI с помощью команды az login. Чтобы выполнить аутентификацию, следуйте инструкциям в окне терминала. Сведения о дополнительных возможностях, доступных при входе, см. в статье Вход с помощью Azure CLI.

Если появится запрос, установите расширения Azure CLI при первом использовании. Дополнительные сведения о расширениях см. в статье Использование расширений с Azure CLI.

Выполните команду az version, чтобы узнать установленную версию и зависимые библиотеки. Чтобы обновиться до последней версии, выполните команду az upgrade.

После входа выполните команду az account set, чтобы выбрать подписку, в которой нужно задать учетную запись пространственных привязок:

Выполните команду az group create, чтобы создать группу ресурсов, или примените существующую группу ресурсов:

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

Вы можете просмотреть текущие учетные записи пространственных привязок для группы ресурсов с помощью команды az spatial-anchors-account list:

Вы также можете просмотреть учетные записи пространственных привязок для своей подписки:

Выполните команду az spatial-anchors-account create, чтобы создать учетную запись пространственных привязок:

Просмотрите свойства ресурса с помощью команды az spatial-anchors-account show:

Скопируйте значение идентификатора учетной записи для ресурса и значение домена учетной записи для ресурса в текстовый редактор (они понадобятся позже).

Выполните команду az spatial-anchors-account key show, чтобы получить первичный и вторичный ключи:

Скопируйте значения ключей в текстовый редактор (они понадобятся позже).

Если необходимо повторно создать ключи, выполните команду az spatial-anchors-account key renew:

Вы можете удалить учетную запись с помощью команды az spatial-anchors-account delete:

Сначала подготовьте среду для Azure PowerShell:

После входа воспользуйтесь командлетом Set-AzContext, чтобы выбрать подписку, в которой нужно задать учетную запись пространственных привязок:

Выполните командлет New-AzResourceGroup, чтобы создать группу ресурсов, или воспользуйтесь существующей группой ресурсов:

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

Вы можете просмотреть текущие учетные записи пространственных привязок для группы ресурсов с помощью командлета Get-AzSpatialAnchorsAccount:

Вы также можете просмотреть учетные записи пространственных привязок для своей подписки:

Запустите командлет New-AzSpatialAnchorsAccount, чтобы создать собственную учетную запись пространственных привязок:

Просмотрите свойства ресурса с помощью командлета Get-AzSpatialAnchorsAccount:

Скопируйте значение accountId свойства и значение accountDomain свойства в текстовый редактор (они понадобятся позже).

Выполните командлет Get-AzSpatialAnchorsAccountKey, чтобы получить первичный и вторичный ключи.

Скопируйте значения ключей в текстовый редактор (они понадобятся позже).

Если необходимо повторно создать ключи, используйте командлет New-AzSpatialAnchorsAccountKey:

Удалить учетную запись можно с помощью командлета Remove-AzSpatialAnchorsAccount:

Скачивание и открытие примера проекта Unity

Клонируйте репозиторий примеров, выполнив следующие команды:

Следуйте приведенным здесь инструкциям, чтобы скачать и импортировать пакеты SDK для ASA, необходимые для платформы Android.

В Unity откройте проект в папке Unity. Unity может уведомить вас о разнице между версией в проекте и версией, установленной на компьютере. Это предупреждение допустимо, если версия Unity Editor новее, чем та, с помощью которой создан проект. В таком случае выберите Continue (Продолжить). Если ваша версия старше, чем требуется проекту, щелкните Quit (Выйти) и обновите Unity Editor.

unity window

Откройте Build Settings (Параметры сборки), выбрав пункты File > Build Settings (Файл > Параметры сборки).

В разделе Platform (Платформа) выберите Android и нажмите Switch Platform (Сменить платформу), чтобы перейти на платформу Android. Если отсутствуют какие-то дополнительные компоненты Android, Unity может запросить их установку.

unity android build settings

Закройте окно Build Settings (Параметры сборки).

Настройка сведений об учетной записи

Следующим шагом является настройка приложения для использования данных вашей учетной записи. Вы скопировали значения ключа учетной записи, идентификатора учетной записи и домена учетной записи в текстовый редактор, как указано ранее в разделе Создание ресурса Пространственных привязок.

Выберите SpatialAnchorConfig. В области Инспектор введите Account Key в качестве значения ключа учетной записи Пространственных привязок, Account ID в качестве значения идентификатора учетной записи Пространственных привязок и Account Domain в качестве значения домена учетной записи Пространственных привязок.

Экспорт проекта Android Studio

Откройте Build Settings (Параметры сборки), выбрав пункты File > Build Settings (Файл > Параметры сборки).

В разделе Scenes In Build (Сцены в сборке) убедитесь, что возле всех сцен установлен флажок.

screenshot 1 screenshot 2screenshot 3

Следуйте инструкциям в программе для размещения и отзыва привязки.

Устранение неполадок

Проблемы отрисовки

Очистка ресурсов

На предыдущем шаге вы создали ресурсы Azure в группе ресурсов. Если вы считаете, что в будущем эти ресурсы вам не понадобятся, их можно удалить, удалив группу ресурсов.

В меню или на странице Главная портала Azure выберите Группы ресурсов. Затем на странице Группы ресурсов выберите myResourceGroup.

На странице myResourceGroup убедитесь, что перечислены те ресурсы, которые нужно удалить.

Выберите Удалить группу ресурсов, введите myResourceGroup в текстовое поле для подтверждения и щелкните Удалить.

Дальнейшие действия

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

Источник

Возможности, созданные для мобильных устройств

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

unityformobile platforms

Тесные партнерские отношения Unity с разработчиками ведущих мобильных платформ, включая специальные инструменты для iOS и Android, обеспечат вам доступ к самым современным решениям для достижения успеха.

Больше, чем просто движок

Unity предлагает инструменты, которые обеспечат вам успех на каждом этапе разработки.

universal render pipeline

Universal Render Pipeline

Universal Render Pipeline (URP) — это оптимальное решение, которое дает высокое качество графики, производительность и масштабируемость для максимального охвата устройств и аудитории.

Это мощная готовая система рендеринга с полным набором инструментов разработки 3D-, 2D-, VR- или AR-проектов для художников.

2d tools

Нативные 2D-инструменты

Unity предлагает вам продвинутые 2D-инструменты для разработки красивейших двумерных миров. Удобный и эффективный интерфейс помогает каждому сотруднику вашей студии — от художников и дизайнеров до аниматоров и инженеров — достигать новых высот.

unity as a library ar mobile

Unity как библиотека

Реализуйте разные возможности на базе Unity, включая AR, 2D/3D-рендеринг в реальном времени, двумерные мини-игры и многое другое, непосредственно в ваших нативных мобильных приложениях.

addressables groups

Адресная система ассетов

Эта технологичная система ускоряет, разработку, сборку и загрузку игрового контента. Благодаря адресной загрузке снижается ресурсоемкость системы управления ассетами и упрощается создание и развертывание контентных обновлений. Кроме того, ускоряется итерация, позволяя студиям лучше оттачивать и тестировать свои проекты, повышая качество и производительность своих игр.

bolt

Визуальное программирование

Благодаря инструменту Bolt визуальное программирование в Unity позволяет любому сотруднику студии реализовать логику с помощью перетаскивания узлов вместо ручного ввода программного кода. Художники и дизайнеры смогут делать больше, не прибегая к помощи программистов, а программисты смогут быстрее прорабатывать идеи и прототипы.

add AR

AR Foundation

Среда, созданная специально для разработки AR, позволяет создать богатое приложение, а затем выпустить его на всех целевых мобильных AR-устройствах и гарнитурах. В состав среды включены базовые функции всех поддерживаемых платформ, а также реализованы уникальные особенности Unity, включая фотореалистичный рендеринг, физику, оптимизацию под конкретные устройства и многое другое.

profiler window

Инструменты оптимизации для мобильных платформ

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

gg creative assets ads

Решения для монетизации

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

unity acquire dashboard 8 12

Unity Analytics

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

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

Источник

Unity приложение для андроид

Unity3D — это мультиплатформенный инструмент для разработки двух- и трёхмерных приложений и игр, работающий под операционными системами Windows и OS X. Созданные с помощью Unity приложения работают под операционными системами Windows, OS X, Linux, Android, Apple iOS, Windows Phone, BlackBerry, а также на игровых приставках Wii, PlayStation 3 и Xbox 360. Есть возможность создавать интернет-приложения с помощью специального подключаемого модуля к браузеру Unity, а также с помощью экспериментальной реализации в рамках модуля Adobe Flash Player. Позже от поддержки Flash отказались. Приложения, созданные с помощью Unity, поддерживают DirectX и OpenGL.

В.: У меня отсутствует часть сообщений в консоли, хотя они точно должны там быть.
О.: Выключите опцию Collapse в консоли.

В.: Как мне реализовать паузу?
О.: Наиболее простой вариант — установить Time.timeScale в ноль.

В.: Как заставить два меш-коллайдера взаимодействовать?
О.: Включить опцию Convex у обоих.

В.: Как отключить/заблокировать курсор?
О.: Screen.showCursor; Screen.lockCursor.

В.:Как придать телу импульс?
О.: Rigidbody.AddForce с параметром ForceMode.Impulse.

В.: Как изменить громкость всех источников звука в сцене?
О.: AudioListener.volume

В.: Как избавиться от смазывания текстур при отдалении от них камеры?
О.: Отключить генерацию mipmaps в настройках импорта текстуры.

В.: Как отключить вывод предупреждений в консоль?
О.: #pragma warning disable (в справке msdn даны подробности)

В.: Как спозиционировать Scene View на выбранном объекте?
О.: Edit > Frame Selected или просто клавиша F.

В.: Как сделать объект невидимым для Raycast?
О.: Поставить его в стандартный слой Ignore Raycast.

В.: Как сделать так, чтобы игра была в горизонтальном а не в вертикальном режиме?
О.: В Player Settings нужно выбрать пункт Landscape left в Screen оrientation.

В.: Как отключить обработку коллизий для коллайдера?
О.: Включить опцию коллайдера isTrigger. Однако, такой коллайдер всё ещё будет принимать Raycast.

В.: Куда сохраняются логи редактора?
О.: C:\Documents and Settings\zaicheg\Local Settings\Application Data\Unity\Editor\Editor.log
Этот же документ можно посмотреть, нажав Open Editor Log в консоли.

В.: Куда сохраняются логи приложения?
О.: Для standalone: _Data\output_log.txt. Для web: C:\Documents and Settings\user\Local Settings\Temp\UnityWebPlayer\log

В.: Где можно посмотреть, какие ресурсы сколько занимают в моём билде?
О.: Там же, в Editor.log (после сборки билда).

В.: У меня глючит физика.
О.: Проверьте, осущетвляются ли все физические действия в FixedUpdate(). Увеличьте размеры объектов. Избавьтесь от тонких (или безтолщинных) мешей (Plane). Уменьшите FixedTimesetp. НЕ ДВИГАЙТЕ СТАТИЧЕСКИЕ КОЛЛАЙДЕРЫ (начиная с Unity5 уже можно, но всеравно не стоит)

B.: Не получается отредактировать элемент массива mesh.vertices (mesh.normals и прочее).
О.: Редактируйте во временном массиве vertTemp, а потом mesh.vertices = vertTemp.

В.: Я отключил скрипт, но он всё равно частично работает!
О.: Отключение скрипта действует лишь на вызов метода Update(). Start, Awake и прочие будут работать.

В.: Как увеличить частоту физических расчётов?
О.: Edit > Project Settings > Time > Fixed Timestep

В.: Как приостановить выполнение в Editor Mode (поставить на паузу)?
О.: Debug.Break

В.: Как отобразить кириллицу в GUI?
О.: Локализация в коде это плохо. Нужно хранить текст в текстовых файлах и через код вытаскивать нужные строчки. Например, так (не самый лучший пример, но суть понятна)

В.: Как мне подгружать дополнительные ресурсы в рантайм?
О.: AssetBundles.

В.: Как менять хоткеи редактора?
О.: HKEY_CURRENT_USER\Software\Unity Technologies\Unity Editor

В.: Как разрешить игре работу «в фоне»?
О.: Edit → Project Settings → Player → Run in Background

В.: Почему не работает Asset store? Как заставить работать?
О.: Попробуйте выключить режим использования DirectX 11

В.: Какие отличия между Pro-версией и обычной?
О.: Заходим на страницу покупки Unity и на нужной лицензии выбираем Read more. После этого появится окошко, в котором можно посмотреть отличия между лицензиями.

В.: Где можно взять исходный код Unity?
О.: Нажмите здесь, выберете Россию, потом свяжитесь с представителями Unity Technologies. Разумеется это не бесплатно
Оригинальный текст с сайта Unity:
«If you want to license Unity to develop content for consoles and/or for embedding, cloud distribution or to access Unity source code, contact us here.»

Источник

Понравилась статья? Поделить с друзьями:
Добавить комментарий
  • Как сделать успешный бизнес на ритуальных услугах
  • Выездной кейтеринг в России
  • Риски бизнеса: без чего не обойтись на пути к успеху
  • unity ошибка при запуске приложения 0xc000007b
  • unity кнопки сложной формы