Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Интеграция Unity в Android-приложения

На этой странице описывается, как интегрировать библиотеку времени выполнения 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
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3