На этой странице описывается, как интегрировать библиотеку времени выполнения Unity в приложения Android с помощью функции Unity как библиотеки.
Эту функцию можно использовать для включения функций Unity, таких как 3D/2D-рендеринг в реальном времени, ARAugmented Reality (AR) использует компьютерную графику или видео, наложенное поверх прямой видеотрансляции, чтобы дополнить представление и создать взаимодействие с реальными и виртуальными объектами.
См. в Словарь Опыт взаимодействия с 3D-моделями или 2D-мини-игры в ваше приложение. Библиотека среды выполнения Unity предоставляет элементы управления для управления тем, когда и как загружать, активировать и выгружать содержимое в приложении.
Важно. Если вы обновите свой проект до Unity 2019.4 или более поздней версии, введение Unity в качестве библиотеки может потребовать от вас адаптации native и управляемые плагиныНабор кода, созданный вне Unity, который создает функциональность в Unity. В Unity можно использовать два типа подключаемых модулей: управляемые подключаемые модули (управляемые сборки .NET, созданные с помощью таких инструментов, как Visual Studio) и собственные подключаемые модули (библиотеки собственного кода для конкретной платформы). Подробнее
См. Словарь для правильной работы на Android. Плагины, вносящие изменения в Gradleсистему сборки Android, автоматизирующую несколько процессов сборки. Эта автоматизация означает, что вероятность возникновения многих распространенных ошибок сборки снижается. Подробнее
См. в манифестах Словарь необходимо использовать изменения Gradle, описанные в Использование Unity в качестве библиотеки в нативном Приложения для iOS/Android.
Как это работает
Вам не нужно делать ничего другого, когда вы создаете проект Gradle из Unity.
Каждый проект Android Gradle, создаваемый Unity, имеет следующую структуру:
- Часть библиотеки в модуле unityLibrary, которую можно интегрировать в любой другой проект Gradle. Он содержит среду выполнения Unity и данные проигрывателя.
- Тонкая часть модуля запуска в модуле запуска , которая содержит название приложения и его значки. Это простое приложение для Android, которое запускает Unity. Вы можете заменить этот модуль своим собственным приложением.
Чтобы интегрировать Unity в другой проект Android Gradle, необходимо включить модуль unityLibrary созданного проекта Android Gradle в свой проект Android Unity через файл settings.gradle.
Этот репозиторий содержит примеры проектов и подключаемые модули, демонстрирующие, как интегрировать Unity в приложение для Android, а также дополнительную документацию.
Чтобы управлять игроком, передайте Intent, чтобы запустить действие Unity и расширить его при необходимости. Дополнительные сведения см. в документации для разработчиков Android по намерениям и фильтрам намерений. Вы также можете использовать Java API UnityPlayer.
События IUnityPlayerLifecycle
IUnityPlayerLifecycleEvents позволяет взаимодействовать с двумя важными событиями жизненного цикла проигрывателя Unity:
-
Выгрузить: приложение вызывает
IUnityPlayerLifecycleEvents.onUnityPlayerUnloaded
, когдаApplication.Unload
илиUnityPlayer.unload()
выгружает проигрыватель Unity. Это переводит Unity Player в состояние паузы, когда он выгружает все СценыСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь, но все остальное держит в памяти. -
Quit: приложение вызывает
IUnityPlayerLifecycleEvents.onUnityPlayerQuitted
при выходе из Unity Player. Процесс, в котором работал Unity, завершается после этого вызова.
Вы можете передать экземпляр IUnityPlayerLifecycleEvents
в конструктор UnityPlayer или переопределить методы в подклассах UnityPlayer
и UnityPlayerActivity
.
Ограничения
Unity не контролирует жизненный цикл среды выполнения, поэтому Unity как библиотека может работать не во всех возможных случаях использования. Известные ограничения включают:
- Unity как библиотека поддерживает только полноэкранный рендеринг и не поддерживает рендеринг части экрана.
- Вы не можете загрузить или интегрировать более одного экземпляра среды выполнения Unity.
- Возможно, вам потребуется адаптировать сторонние подключаемые модули (как собственные, так и управляемые) для работы со средой выполнения Unity.
- Unity как библиотека для Android добавлена в 2019.3