Если вы программист на JavaScript и все еще опаздываете с составлением окончательного списка решений на 2019 год, позвольте мне помочь вам: начните выяснять, как попасть в дополненную реальность (AR).

Комбинация дополненной / смешанной / виртуальной реальности (AR / MR / VR) с 2016 года быстро росла, начиная с предельной рыночной стоимости чуть более 6 миллиардов долларов до такой, которая может достичь 210 миллиардов долларов продаж (включая оборудование). к 2022 году. Из всех дополненная реальность стабильно растет.

Сначала разработчик JavaScript (веб), желающий освоить AR-лодку, может почувствовать разочарование, обнаружив обычные требуемые навыки; а есть те, кто спрашивает Машинное обучение или Интернет вещей. Однако, если вы в основном разработчик JavaScript, считайте себя счастливым: этот язык постоянно упоминается, поскольку вы должны знать его, чтобы войти в этот сектор. Причина? Сейчас большая часть разработки AR идет в Интернете. И здесь царит JavaScript.

Расширенные вакансии для поклонника JavaScript - правда?

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

Для некоторых аналитиков ожидается, что AR окажет наиболее всеобъемлющее влияние, отчасти потому, что для реализации не требуются определенные устройства и условия, как это требуется для VR.

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

- Дэвид Маккуин -Strategy Analytics- из интервью на Twice

Задача отрасли - сделать дополненную реальность технологией повседневной жизни. По мнению некоторых компаний, особенно в области мобильных телефонов, более эффективное использование потенциала AR сводится к хорошо известному правилу: ПРОСТОТА.

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

- из статьи Бенджамина Девайна, Homestory AR

Во многих случаях использование ведущих инструментов AR может оказаться излишним. Вместо этого набора хороших функций, управляемых UX, над некоторыми 2D / 3D-активами может быть более чем достаточно для создания потрясающих продуктов. То, что регулярно делает разработчик JavaScript.

Тогда возможно, что любой разработчик JavaScript будет встраивать (нестандартные) функции AR / VR в качестве расширения своих традиционных обязанностей в будущем. А при необходимости JavaScript достаточно надежен для более сложных задач. Небо это предел.

Расширение JavaScript

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

Например, существует несколько платформ, по одной для каждой Big Tech (Google = ARCode, Apple = ARKit, MS = ChakraCore, Facebook = AR Studio, React 360, Mozilla = aframe) .

После беглого ознакомления с вариантами относительно легко запустить полностью JavaScript-проект дополненной реальности. Вы можете начать с использования любого фреймворка для разработки веб-приложений или приложений, такого как Cordova, Ionic, React Native или Vue Native, чтобы встроить выбранный вами фреймворк AR - и развернуть 3D-ресурсы поверх реального мира.

Если вы хотите развернуть в Интернете, используя в основном AR на основе маркеров, вы можете использовать репозитории GitHub, такие как AR.js (бесплатно), argon.js (бесплатно, но с ограничениями) или awe.js (платно). PaaS, но со старым репозиторием GitHub все еще доступен). Есть несколько специализированных, которые сложнее для новичка, многие из них ориентированы на такие вещи, как распознавание лица / головы (например, tracking.js и headtrackr).

Или вы можете расширить возможности своего проекта, если у вас есть возможность портировать доступные SDK, сделанные компаниями, связанными с AR. Есть много API-интерфейсов, которые также отображаются в браузере как AR. Например, Mapbox следует по этому пути и разработан на JavaScript.

Я бы посоветовал вам сделать его простым, но интерактивным.

Однако, если ваши амбиции направлены на освоение дизайна и анимации на JavaScript, вам обязательно нужно изучить хотя бы один пакет 3D Javascript, и самый популярный - THREE.js. Подождите, однако, пока вы не приобретете хорошую базу JavaScript и OpenGl, а также геометрии, тригонометрии, линейной алгебры или физики. И не ждите дополнительной помощи от существующих графических интерфейсов 3D JS; в частности, у THREE.js его нет. Сложно, но увлекательно!

Бонусный пример

Я хотел подготовить быструю демонстрацию только для изучения технологии, поэтому я взял хороший CodePen и модифицировал его, чтобы он соответствовал рендерингу AR-анимации на основе маркеров, перенесенной в клон отличной работы Stemkoski с AR.js.

Чтобы увидеть пример, вам понадобится мобильное устройство с камерой и Интернетом (телефон или планшет), а также либо распечатанная копия маркера, либо другое устройство для его отображения. на экране.

Готовый? Теперь откройте эту ссылку в браузере своего мобильного устройства:

Https://evaristoc.github.io/ARexample/

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

ПРИМЕЧАНИЕ. работает на Android и Chrome - может не работать на других устройствах и в браузерах 😞.

С Новым Годом!

Я надеюсь, что вы найдете эту технологию столь же увлекательной, как и я. В таком случае не оставайтесь в одиночестве: свяжитесь с нами на форуме freeCodeCamp и поделитесь своими вопросами и идеями.

И если вам понравилась эта статья, не забудьте поставить ей и поделиться ею в социальных сетях.

Спасибо за чтение, наслаждайтесь AR и Happy Coding !!