Главная страница
Навигация по странице:

  • Технические требования

  • Создание сцены SimpleAR в собственном проекте 49

  • Ваша первая arсцена


    Скачать 249.87 Kb.
    НазваниеВаша первая arсцена
    Дата23.06.2022
    Размер249.87 Kb.
    Формат файлаdocx
    Имя файла12_1.docx
    ТипДокументы
    #612679

    Ваша первая AR-сцена

    Создать простую сцену дополненной реальности (AR) с помощью Unity AR Foundation довольно просто. Задействованные шаги могут занять всего одну или две страницы. Однако, когда мы вместе создадим сцену в этой главе, каждый шаг будет объяснен в контексте, чтобы вы могли получить полное представление о том, что представляет собой сцена AR с помощью AR Foundation.

    Но прежде чем мы это сделаем, мы рассмотрим некоторые примеры AR, предоставленные Unity, в том числе проект AR Foundation Samples, и создадим их примеры сцен для вашего устройства. И поскольку этот проект содержит некоторые полезные ресурсы, мы экспортируем их в виде пакета ресурсов для повторного использования в наших собственных проектах.

    В этой главе мы рассмотрим следующие темы:

    • Создание и запуск проекта AR Foundation Samples.

    • Экспорт и импорт активов-образцов

    • Создание новой сцены Unity AR.

    • Введение в программирование на C# и класс MonoBehaviour.

    • Использование AR raycast для размещения объекта на плоскости

    • Создание экземпляра GameObject

    • Создание и редактирование префабов

    Технические требования

    Для реализации проекта, представленного в этой главе, вам понадобится Unity, установленный на вашем компьютере для разработки, подключенный к мобильному устройству, поддерживающему приложения дополненной реальности (см. инструкции в Главе 1 «Настройка для разработки дополненной реальности»).

    готовый проект можно найти в репозитории этой книги на GitHub по адресу https://github. com/PacktPublishing/Augmented-Reality-with-Unity-ARFoundation.

    Изучение примеров проектов AR Foundation от Unity

    Отличный способ узнать, как создавать проекты дополненной реальности с помощью Unity AR Foundation, — изучить различные примеры проектов от Unity. Эти проекты включают в себя примеры сцен, сценарии, префабы и другие активы. Скопировав проект и открыв пример сцены, вы сможете узнать, как использовать AR Foundation, поэкспериментировать с функциями и ознакомиться с некоторыми рекомендациями. В частности, рассмотрим эти проекты:

    • Образцы AR Foundation: https://github.com/Unity-Technologies/arfoundationsamples.

    • Демонстрации AR Foundation: https://github.com/Unity-

    Technologies/arfoundation-demos.

    • Примеры набора средств взаимодействия XR: https://github.com/Unity- Technologies/XR-Interaction-Toolkit-Examples/tree/master/AR.

    • Для более сложной работы я также являюсь поклонником нескольких отдельных участников, в том числе Дэна Миллера, старшего разработчика XR в Unity. См. https://github.com/DanMillerDev для получения дополнительной информации.

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

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

    Проект AR Foundation Samples — это мой любимый проект для изучения различных функций AR Foundation. Он содержит множество примеров сцен, демонстрирующих отдельные функции, часто вместо подробной

    документации в другом месте (см. https://github.com/

    Unity-Technologies/arfoundation-samples/tree/main/Assets/Scenes).

    Каждая сцена чрезвычайно проста (почти до ошибки), поскольку ее атомарная цель состоит в том, чтобы проиллюстрировать одну особенность. Например, есть отдельные сцены для обнаружения плоскости, окклюзии плоскости и растушевки плоскостей. Примечательно, что проект также содержит сцену главного меню (Assets/Scenes/ARFoundationMenu/Menu), которая запускает другие сцены, когда вы собираете их все в один исполняемый файл. Я рекомендую начать со сцены под названием SimpleAR, которую мы вскоре рассмотрим.

    Другим является проект AR Foundation Demos, который содержит несколько более сложных пользовательских сценариев и функций, не описанных в проекте Samples. Например, он демонстрирует активы Unity Onboarding UX, с которыми мы познакомимся в главе 4 «Создание пользовательской среды дополненной реальности». Он также охватывает отслеживание изображений, размещение сетки, языковую локализацию и некоторые полезные шейдеры (например, каркас, тени и туман).

    Репозиторий примеров XR Interaction Toolkit содержит два отдельных проекта Unity: один для виртуальной реальности, а другой для дополненной реальности. Это в значительной степени заполнитель (на мой взгляд) для грядущих событий.

    Инструментарий XR Interaction Toolkit от Unity в этой книге не рассматривается. Он предоставляет компоненты и другие активы для разработки интерактивных сцен с использованием ручных контроллеров и жестов рук, поддерживаемых устройствами. На момент написания XR Interaction Toolkit ориентирован на приложения виртуальной реальности (VR) (о чем свидетельствует его проект Examples, который содержит семь сцен для VR и только одну для AR, которая поддерживает только мобильную AR), но я считаю, что это ключ часть стратегии и архитектуры Unity XR на будущее. Если вы заинтересованы в XR Interaction Toolkit для VR, ознакомьтесь с другой моей книгой Unity 2020 Virtual Reality Projects — Third Edition от Packt Publishing.

    Давайте возьмем копию проекта AR Foundation Samples и посмотрим на сцену SimpleAR.

    В этом разделе вы создадите проект AR Foundation Samples и запустите его на своем устройстве. Сначала клонируйте проект из репозитория GitHub и откройте его в Unity следующим образом:

    1. Клонируйте копию проекта с GitHub на свой локальный компьютер.

    Проект можно найти по адресу https://github.com/Unity-

    Technologies/arfoundation-samples. Пожалуйста, используйте любой метод клонирования, который вы предпочитаете; например, GitHub Desktop

    (https://desktop.github.com/) или командную строку (https://gitscm.com/download/).

    1. Добавьте проект в Unity Hub, выбрав Projects | Добавить, перейдя в корневую папку клонированного проекта и нажав «Выбрать папку».

    2. Откройте проект в Unity. Если в списке проектов Unity Hub вы видите желтый значок предупреждения, это означает, что версия Unity клонированного проекта в настоящее время не установлена в вашей системе. Используйте выбор версии Unity, чтобы выбрать более новую версию редактора, которая у вас есть, желательно той же основной версии (например, 20XX).

    3. Откройте проект, выбрав его из списка проектов Unity Hub.

    4. Если ваша версия Unity новее, чем проект с момента последнего сохранения, вы увидите запрос «Хотите ли вы обновить свой проект до более новой версии Unity?». Нажмите Подтвердить.

    Одна из сцен, SimpleAR, представляет собой базовый пример сцены дополненной реальности. При запуске пользователь будет сканировать свою комнату камерой своего устройства, и приложение обнаружит любые горизонтальные плоскости, отображаемые на экране. Когда ваш пользователь коснется одной из этих плоскостей, в окружающей среде появится маленький красный куб. Вы можете пройтись по комнате, а куб останется там, где его поставили. Если вы снова нажмете на другое место, куб будет перемещен туда. Давайте кратко рассмотрим GameObjects этой сцены SimpleAR:

    1. Откройте сцену SimpleAR из окна Проекта, перейдя к

    Scenes/SimpleAR/ и дважды щелкните файл сцены SimpleAR.

    1. В окне Hierarchy вы найдете два особенно интересных игровых объекта:

    Сеанс AR и источник сеанса AR.

    1. Выберите объект «Источник сеанса AR» и проверьте его компоненты в окне «Инспектор». К ним относятся AR Plane Manager, AR Point Cloud Manager, AR Raycast Manager и сценарий Place On Plane. Мы объясним все это позже в этой главе.

    Теперь давайте попробуем собрать и запустить проект:

    1. При необходимости переключитесь на целевую платформу. Для этого перейдите в Файл | Настройки сборки, выберите платформу вашего устройства из списка Платформа (например, Android или iOS) и нажмите Переключить платформу.

    2. Скорее всего, настройки клонируемого проекта уже настроены, но давайте уточним. В окне «Настройки сборки» нажмите кнопку «Настройки проигрывателя», чтобы открыть это окно, и подтвердите необходимые настройки, упомянутые в Главе 1 «Настройка для разработки дополненной реальности». Например, Android ARCore не поддерживает графику Vulcan и требует Nougat (уровень API 24) в качестве минимального требования.

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

    4. Убедитесь, что ваше мобильное устройство подключено к USBпорту вашего компьютера.

    5. Нажмите кнопку Build And Run, чтобы собрать проект и установить его на свое устройство. Вам будет предложено указать местоположение папки с файлами; Мне нравится создавать папку в корне моего проекта с именем Builds/. Дайте ему имя файла (если требуется) и нажмите Сохранить.

    Выполнение этой задачи может занять некоторое время.

    Если все пойдет хорошо, проект будет собран, установлен на ваше устройство и запущен.

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

    Давайте возьмем копию проекта AR Foundation Samples и посмотрим на сцену SimpleAR.

    %XLOGLQJ DQG UXQQLQJ WKH 6DPSOHV SURMHFW

    В этом разделе вы создадите проект AR Foundation Samples и запустите его на своем устройстве. Сначала клонируйте проект из репозитория GitHub и откройте его в Unity следующим образом:

    1. Клонируйте копию проекта с GitHub на свой локальный компьютер.

    Проект можно найти по адресу https://github.com/Unity-

    Technologies/arfoundation-samples. Пожалуйста, используйте любой метод клонирования, который вы предпочитаете; например, GitHub Desktop

    (https://desktop.github.com/) или командную строку (https://gitscm.com/download/).

    1. Добавьте проект в Unity Hub, выбрав Projects | Добавить, перейдя в корневую папку клонированного проекта и нажав «Выбрать папку».



    1. Откройте проект в Unity. Если в списке проектов Unity Hub вы видите желтый значок предупреждения, это означает, что версия Unity клонированного проекта в настоящее время не установлена в вашей системе. Используйте выбор версии Unity, чтобы выбрать более новую версию редактора, которая у вас есть, желательно той же основной версии (например, 20XX).

    2. Откройте проект, выбрав его из списка проектов Unity Hub.

    3. Если ваша версия Unity новее, чем проект с момента последнего сохранения, вы увидите запрос «Хотите ли вы обновить свой проект до более новой версии Unity?». Нажмите Подтвердить.

    Одна из сцен, SimpleAR, представляет собой базовый пример сцены дополненной реальности. При запуске пользователь будет сканировать свою комнату камерой своего устройства, и приложение обнаружит любые горизонтальные плоскости, отображаемые на экране. Когда ваш пользователь коснется одной из этих плоскостей, в окружающей среде появится маленький красный куб. Вы можете пройтись по комнате, а куб останется там, где его поставили. Если вы снова нажмете на другое место, куб будет перемещен туда. Давайте кратко рассмотрим GameObjects этой сцены SimpleAR:

    1. Откройте сцену SimpleAR из окна Проекта, перейдя к

    Scenes/SimpleAR/ и дважды щелкните файл сцены SimpleAR.

    1. В окне Hierarchy вы найдете два особенно интересных игровых объекта:

    Сеанс AR и источник сеанса AR.

    1. Выберите объект «Источник сеанса AR» и проверьте его компоненты в окне «Инспектор». К ним относятся AR Plane Manager, AR Point Cloud Manager, AR Raycast Manager и сценарий Place On Plane. Мы объясним все это позже в этой главе.

    Теперь давайте попробуем собрать и запустить проект:

    1. При необходимости переключитесь на целевую платформу. Для этого перейдите в Файл | Настройки сборки, выберите платформу вашего устройства из списка Платформа (например, Android или iOS) и нажмите Переключить платформу.

    2. Скорее всего, настройки клонируемого проекта уже настроены, но давайте уточним. В окне «Настройки сборки» нажмите кнопку «Настройки проигрывателя», чтобы открыть это окно, и подтвердите необходимые настройки, упомянутые в Главе 1 «Настройка для разработки дополненной реальности». Например, Android ARCore не поддерживает графику Vulcan и требует Nougat (уровень API 24) в качестве минимального требования.

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

    4. Убедитесь, что ваше мобильное устройство подключено к USBпорту вашего компьютера.

    5. Нажмите кнопку Build And Run, чтобы собрать проект и установить его на свое устройство. Вам будет предложено указать местоположение папки с файлами; Мне нравится создавать папку в корне моего проекта с именем Builds/. Дайте ему имя файла (если требуется) и нажмите Сохранить.

    Выполнение этой задачи может занять некоторое время.

    Если все пойдет хорошо, проект будет собран, установлен на ваше устройство и запущен.

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

    Появится главное меню, как показано на следующем снимке экрана (левая панель):



    Рисунок 2.1. Скриншот моего телефона с запущенным приложением arfoundation-samples и сценой SimpleAR

    Отличительной особенностью AR Foundation (и этого проекта) является то, что он может определять возможности устройства, на котором работает, во время выполнения. Это означает, что кнопки в главном меню будут отключены, когда AR Foundation обнаружит, что функции, продемонстрированные в этой сцене, не поддерживаются на устройстве. (Устройство, которое я использую на предыдущем снимке экрана, — это телефон Android, поэтому некоторые функциональные сцены только для iOS отключены).

    Нажмите кнопку Simple AR, чтобы открыть эту сцену. Вы должны увидеть видеопоток с камеры на экране вашего устройства. Медленно перемещайте телефон в разные стороны и ближе/дальше.

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

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

    Unity предлагает возможность совместного использования ресурсов между проектами с помощью файлов .unitypackage. Давайте экспортируем активы из проекта AR Foundation Samples для повторного использования. Один трюк, который мне нравится делать, это сначала перемещать все папки с образцами в корневую папку. Открыв проект arfoundation-samples в Unity, выполните следующие действия:

    1. В окне «Проект» создайте новую папку в разделе «Активы» с именем ARF-samples.

    щелкнув значок + (вверху слева от окна) и выбрав папку.

    1. Перетащите следующие папки в папку с примерами ARF: Materials, Meshes, Prefabs, Scenes, Scripts, Shaders и Textures. То есть переместите их все, но оставьте папку XR в корне.

    2. Щелкните правой кнопкой мыши папку ARF-samples и выберите Экспорт пакета.

    3. Откроется окно Экспорт пакета. Щелкните Экспорт.

    4. Выберите каталог вне корня этого проекта, назовите файл (например, arf-samples) и нажмите «Сохранить».

    Папка Assets/ARF-samples/ в окне Проекта показана на следующем снимке экрана:



    Рисунок 2.2 – Папка ресурсов Samples экспортируется в

    файл.unitypackage

    Вы можете закрыть проект arfoundation-samples, если хотите. Теперь у вас есть пакет активов, который вы можете использовать в других проектах.

    Далее мы собираемся импортировать активы Samples в ваш проект Unity и построить заданную сцену SimpleAR.

    Создание сцены SimpleAR в собственном проекте

    Как вы увидите позже в этой главе, проект Samples включает в себя некоторые активы, которые мы можем использовать в ваших собственных проектах, экономя ваше время и усилия, особенно на начальном этапе. Мы импортируем пакет unitypackage, который мы только что экспортировали, а затем создадим данную сцену SimpleAR в качестве еще одного теста, чтобы убедиться, что вы настроены для создания и запуска приложений AR.

    Если у вас уже есть проект Unity, настроенный для разработки дополненной реальности, как подробно описано в главе 1 «Настройка для разработки дополненной реальности», вы можете открыть его в Unity и пропустить этот раздел.

    Если нет, выполните следующие шаги, которые были упрощены для вашего удобства. Если вам потребуются дополнительные сведения или пояснения, обратитесь к Главе 1, Настройка для Развитие дополненной реальности.

    Чтобы создать и настроить новый проект Unity с AR Foundation, Universal Render Pipeline и новой системой ввода, выполните следующие сокращенные шаги:

    1. Создайте новый проект, открыв Unity Hub и выбрав Projects | New, выбрав Universal Render Pipeline, указав имя проекта, например MyARProject, и нажав Create.

    2. Откройте свой проект в редакторе Unity, выбрав его из списка проектов Unity Hub.

    3. Установите целевую платформу, выбрав File | Настройки сборки, выбрав Android или iOS из списка «Платформа» и нажмите «Переключить платформу».

    4. Настройте параметры проигрывателя в соответствии с главой 1 «Настройка для разработки дополненной реальности» и/или документацией по вашему устройству, выбрав «Правка | Настройки проекта | Окно плеера. Например, Android ARCore не поддерживает графику Vulcan и требует Nougat (уровень API 24) в качестве минимального требования.

    5. Установите подключаемый модуль XR, выбрав «Правка | Настройки проекта | XR-менеджер плагинов

    | Установите управление плагинами XR. Затем установите флажок для вашего устройства

    Провайдер плагинов.

    1. Установите AR Foundation, выбрав «Окно | Диспетчер пакетов, выбрав Unity Registry из списка фильтров в левом верхнем углу, выполнив поиск ar с помощью поля ввода поиска, выбрав пакет AR Foundation и нажав

    «Установить».

    Создание сцены SimpleAR в собственном проекте 49 7. Установите пакет Input System, выбрав Window | Диспетчер пакетов, выбрав Unity Registry из списка фильтров в левом верхнем углу, выполнив поиск входных данных с помощью поля ввода поиска, выбрав пакет Input System и нажав «Установить».

    Когда будет предложено включить серверную часть ввода, вы можете сказать «Да», но на самом деле мы изменим этот параметр на «Оба» в следующем разделе, когда будем импортировать ресурсы Sample в проект.

    8. Добавьте средство фоновой визуализации AR в средство визуализации URP Forward, найдя ресурс данных ForwardRenderer, обычно в папке Assets/Settings/. В его окне Inspector щелкните Add Renderer Feature и выберите AR Background Renderer Feature.

    Возможно, вы захотите добавить эти шаги в закладки для дальнейшего использования. Далее мы импортируем активы Sample, которые мы экспортировали из проекта AR Foundation Samples.

    Теперь, когда у вас есть проект Unity, настроенный для разработки дополненной реальности, вы можете импортировать образцы ресурсов в свой проект. Открыв проект в Unity, выполните следующие шаги:

    1. Импортируйте пакет из главного меню, выбрав Assets | Импорт пакета | Пользовательский пакет.

    2. Найдите в своей системе файл arf-samples.unitypackage и нажмите «Открыть».

    3. Откроется окно Импорт пакета Unity. Щелкните Импорт.

    4. Если вы создали свой проект с помощью универсального конвейера рендеринга (или HDRP), а не с помощью встроенного конвейера рендеринга, как мы, вам необходимо преобразовать импортированные материалы. Выберите Редактировать | Конвейер рендеринга | УРП | Обновите материалы проекта до материалов URP. Затем при появлении запроса нажмите «Продолжить».

    5. Затем перейдите в «Настройки проигрывателя» с помощью «Правка | Настройки проекта | Плеер, выберите Конфигурация | Активная обработка ввода и выберите Оба. Затем при появлении запроса нажмите «Применить».

    6. В этой книге мы будем использовать новую систему ввода для проектов. Однако некоторые демонстрационные сцены в проекте Samples используют старый диспетчер ввода. Если вы выберете

    Пакет системы ввода (новый) для активной обработки ввода, то эти демонстрационные сцены могут не запускаться.

    Надеюсь, все активы будут импортированы без проблем. Однако при компиляции сценариев Samples могут возникнуть некоторые ошибки. Это может произойти, если проект Samples использует более новую версию AR



    Foundation, чем ваш проект, и ссылается на функции API для функций, которые не установлены в вашем проекте. Самое простое решение - обновите версию AR Foundation до той же или более поздней версии,

    что и проект Samples. Для этого выполните следующие шаги:

    1. Чтобы просмотреть сообщения об ошибках, откройте окно Консоли на его вкладке или выбрав

    Окно | Общие | Приставка.

    1. Предположим, что в моем проекте есть дополнительные ошибки, потому что я установил AR Foundation 4.0.12, но в проекте Samples используются функции версии 4.1.3, которых нет в моей версии. Здесь я пойду в окно | Диспетчер пакетов, выберите пакет AR Foundation, нажмите «Просмотреть другие версии», выберите версию 4.1.3, а затем нажмите

    «Обновить до 4.1.3 бу».

    Теперь мы можем более подробно рассмотреть только что добавленные объекты, начиная с объекта AR Session.

    8VLQJ $5 6HVVLRQ

    Объект AR Session отвечает за включение и отключение функций дополненной реальности на целевой платформе. Когда вы выбираете объект сеанса AR в иерархии вашей сцены, вы можете увидеть его компоненты в окне инспектора, как показано на следующем снимке экрана:



    Рисунок 2.4 – Окно инспектора объекта AR Session

    Каждая сцена дополненной реальности должна включать один (и только один) сеанс дополненной реальности. Он предоставляет несколько вариантов. Как правило, вы можете оставить их как значения по умолчанию.

    Параметр «Попытка обновления» указывает сеансу AR попытаться установить базовое программное обеспечение поддержки AR на устройстве, если оно отсутствует. Это не требуется для всех устройств. iOS, например, не

    требует никаких дополнительных обновлений, если устройство поддерживает AR. С другой стороны, для запуска приложений AR на Android на устройстве должны быть установлены службы ARCore.

    Большинство приложений AR сделают это за вас, если они

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

    Google Play Services для AR (см.



    https://play.google.com/store/apps/details?id=com.google). .ар.ядро). Если необходимое ПО не установлено, то AR на устройстве будет недоступен. Вы можете отключить автоматические обновления и реализовать их самостоятельно, чтобы настроить процесс адаптации пользователей.

    Что касается режима отслеживания, вы, как правило, оставляете его установленным на положение и вращение, так как это указывает, что ваше устройство VR отслеживает в физическом мире 3D-пространство, используя как его положение XYZ, так и его вращение вокруг каждой оси. Это называется 6DOF для отслеживания шести степеней свободы и, вероятно, является ожидаемым поведением. Но, например, для отслеживания лица мы должны установить только вращение, как вы увидите в главе 9 «Селфи: создание забавных рожиц».

    Игровой объект AR Session также имеет компонент AR Input Manager, который управляет нашей подсистемой ввода XR для отслеживания положения устройства в физическом трехмерном пространстве. Он считывает входные данные из драйвера AR Pose камеры AR (которое вскоре обсуждается). Для компонента нет опций, но это необходимо для отслеживания устройства.

    Мы также добавили в иерархию игровой объект AR Session Origin.

    Давайте посмотрим на это дальше.

    8VLQJ $5 6HVVLRQ 2ULJLQ

    Источник сеанса AR будет корневым объектом всех отслеживаемых объектов. Наличие корневого источника удерживает камеру и любые отслеживаемые объекты в одном и том же пространстве и их положения относительно друг друга. Это пространство сеанса (или устройства) включает в себя камеру дополненной реальности и любые отслеживаемые функции, которые были обнаружены в реальной среде программным обеспечением дополненной реальности. В противном случае обнаруженные объекты, такие как самолеты, не будут отображаться в правильном месте относительно камеры.



    Когда вы выбираете объект AR Session Origin в вашей иерархии сцены, вы можете видеть его компоненты в окне инспектора, как показано на следующем снимке экрана:

    Рисунок 2.5 – Окно инспектора объекта AR Session

    На момент написания статьи объект AR Session Origin по умолчанию просто имеет AR Session Origin.

    составная часть. Мы хотим построить его поведение, добавив больше

    компонентов через мгновение.

    Свойство Camera объекта Session Origin ссылается на собственный дочерний объект AR Camera GameObject, который мы рассмотрим далее.

    8VLQJ WKH $5 &DPHUD

    Объект AR Camera является дочерним элементом AR Session Origin.

    Его окно Inspector показано на следующем снимке экрана:

    Рисунок 2.6 – Окно Инспектора объекта AR Camera

    Во время настройки мы пометили камеру дополненной реальности как нашу основную камеру. Это не обязательно, но рекомендуется иметь одну камеру в сцене, помеченную как MainCamera, например, для любого кода, который может использовать Camera.main, который является ярлыком для поиска по имени тега.

    Как следует из названия, объект AR Camera включает в себя компонент Camera, необходимый во всех сценах Unity, который определяет, какие объекты отображать на экране. AR имеет в основном значения по умолчанию. Плоскости ближнего и дальнего отсечения были скорректированы для типичных приложений дополненной реальности до (0,1, 20) метров. В приложениях AR нет ничего необычного в том, чтобы разместить устройство в нескольких дюймах от виртуального объекта, поэтому мы бы не хотели, чтобы оно было обрезано. И наоборот, в приложении дополненной реальности, если вы проходите более 20 метров от объекта, который вы разместили в сцене, вам, вероятно, вообще не нужно его визуализировать.

    Важно отметить, что вместо использования Skybox, как можно было бы ожидать в сценах без дополненной реальности, для фона камеры установлен сплошной черный цвет. Это означает, что фон будет отображаться с использованием видеопотока камеры. Это управляется с помощью компонента «Фон камеры AR» камеры AR. В расширенном приложении вы даже можете настроить способ рендеринга видеопотока, используя собственный видеоматериал (эта тема выходит за рамки данной книги). Точно так же на носимом устройстве AR требуется черный фон камеры, но без видеопотока, чтобы смешивать виртуальную 3D-графику поверх визуального прозрачного изображения.

    Видеопоток


    написать администратору сайта