Искать

Creating AR apps in Unity: the latest tips and resources

Last updated: November 2018

With AR Foundation and the software architecture it leverages, Unity developers now have a common API which supports core functionality for ARCore, ARKit, and future platforms. ARCore and ARKit each offer a mix platform-unique features, as well as common ones. With AR Foundation and the platform-specific SDKs, you have everything you need in Unity to author AR content, plus and an expanding collection of in-depth learning resources.

ARCore

ARCore is the plugin developed and maintained by Google. You can download the Unity SDK for it сюда. ARCore is directly integrated into the engine–there’s a little checkbox for it in the XR settings–and it’s compatible with versions 2017.1 or later.

Wizard of Oz

Приложение Wizard of Oz для ARCore от Google

The ARCore SDK provides sample scene HelloAR that showcases features such as Augmented Images, Cloud Anchors and Computer Vision. Other unique features included in ARCore are Feature Points and Instant Preview.

HelloAR is pre-configured to find both horizontal and vertical planes. It includes a prefab of Andy the Android that is spawned every time the user taps the scene, but you can easily replace this with your own 3D models. One point to note when building on top of the HelloAR scene is that ARCore handles its sessions as scriptable assets. So if you are trying to use certain features on ARCore, you need to make sure that you're using the right session data, and that you've configured your session through there.

The Augmented Image database is an example of a scriptable asset that you assign specifically in your session. Augmented Images enables you to multi-select any images within your project, right-click on them and create a sub-menu inside the Create menu. It then packages up all of those images into a single scriptable asset, and scores the images based on how easy the computer vision can recognize and track those objects (a score of 85 or higher is recommended).

ARKit

Unlike ARCore, this SDK is developed and maintained by Unity. It works with versions 2017.1 and later, and on Apple devices running iOS 11.3 and later. You can get it сюда. The sample scenes that come with the SDK include all the key ARKit features, including Focus Square, Shadows and Occlusion, Image Anchor, Plane Mesh, Relocalize and Face Tracking. Other features unique to ARKit are Environment Probes, World Maps and Trackable Images. You can learn more about these in ARKit docs.

AR Foundation

AR Foundation is our solution that brings the core functionality from ARKit and ARCore into a common abstracted API inside of Unity. Note that currently, it covers only some of the core functionality. If you want to use platform-specific features such as Environment Probes in ARKit or Instant Preview in ARCore, those are available through the specific SDKs only. New features, however, will be continuously added to AR Foundation. For now, it supports features such as vertical and horizontal plane detection, light estimation, feature points, AR scaling and AR anchors.

AR Foundation is available in versions 2018.1 and later, and can be installed via the менеджера пакетов.

Dan Miller, an XR evangelist at Unity, shows how to install AR Foundation step by step at the 17:30 mark in his Unite session.

GNOG

GNOG, by KO_OP, created with ARKit

Проблема масштаба в AR и как ее решить

Простое мастштабирование ассетов в AR-приложении весьма рискованно. Например, если игровой объект имеет физические компоненты, то масштабирование изменит поведение объекта и сделает его нестабильным. В сложных сценах этот подход неприменим. Кроме того, некоторые системы в Unity, такие как навигационная сетка, карты освещения или системы частиц после запекания изменить невозможно.

preview table city

Вместо этого можно воспользоваться возможностями камеры, способными придать объектам нужные размеры. Это можно реализовать изменением положения одной камеры или использованием несколько камер для создания эффекта масштабирования. Чтобы лучше понять этот метод, прочтите статьюв блоге by Unity engineer Rick Johnson. You can also see a demo of these scaling tips from the 42:05 mark in Jimmy's and Tim’s talk.

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

developemnt in unity dots

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

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

Интерфейс в AR-приложении должен быть простым, чистым и гибким. Не перегружайте его текстом, элементами, символами, взрывами и так далее. Старайтесь ограничить зону появления интерфейса и элементов одной основной зоной.

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

Семь крупнейших наборов инструментов, которые вам понадобятся в разработке AR-контента

Vuforia AR Toolkit: Vuforia’s AR toolkit, which is available in versions 2017.2 and up, can be used on top of ARCore, ARKit and Microsoft Hololens, providing additional features for AR content.

Vuforia

Изображения от Vuforia

Facial AR Remote: Facial AR Remote is a low-overhead way to capture performance using a connected device directly into the Unity editor. It’s useful not just for animation authoring, but also for character and blend shape modeling and rigging, creating a streamlined way to build your own animoji or memoji type interactions in Unity. This allows developers to be able to iterate on the model in the editor without needing to build to the device, removing time-consuming steps in the process. For more details see the docs.

Unity ARKit Remote: This is a feature that can be used with Unity’s ARKit Plugin. Unity ARKit Remote allows you to run a special app on the iOS device which feeds ARKit data back to the Unity Editor, so you can respond to that data in realtime.

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

Документация по Unity UI

Лучшие советы по оптимизации Unity UI

Наилучшие методики: оптимизация Unity UI

Профилировщик UI

Text Mesh Pro: Text Mesh Pro is a great tool to use together with Unity UI to give yourself more flexibility to make rich and dynamic UIs. It’s available бесплатно в Asset Store.

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

Text Mesh Pro

Timeline: Timeline is a full, multi-track sequencer natively integrated in Unity. It gives you control over every element for creating cutscenes and sequences, without the need for complex coding. You can sequence animation clips, key frames, audio and more. Here’s a обзор of the latest learning resources for Timeline.

Timeline multitrack sequencer

Particle Systems: Unity provides an extensive list of modules for creating myriad particle systems. Start with this overview of the latest features for Particle Systems. Particle Systems docs are сюда.

Analytics: Unity Analytics is not just for when your game goes live: use it when you are conducting testing, for example, to see how players experience and understand the UI of your app. Подробнее about using Analytics before, during and after you launch.

Не перегревайте: советы по оптимизации для AR

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

По этой ссылке are three handy optimization tips to help you keep things cool in your AR apps.

Дополнительные ресурсы

Мы очень хотим знать, нравится ли вам наш контент.

Да, хочу больше Нет, могло быть и лучше
Согласен

Мы используем cookie-файлы, чтобы вам было удобнее работать с нашим веб-сайтом. Чтобы узнать больше, щелкните здесь.