Категории
Уведомление: Заходите к нам в Telegram-чат

AR.js

SaNcHeS
Опубликовано 14-01-2021, 12:46
AR.js

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

Для обнаружения и отображения объекта, используются специальные маркеры, а для полноценного использования достаточно просто вставить готовый код. Скачивать приложения при этом не потребуется, а все задачи будут осуществляться в интернет пространстве, одинаково корректно функционируя на любых моделях смартфонов. В основе AR.js лежат принципы построения jsartoolkit и three.js, которые прекрасно сочетаются с  A-frame.

  1. Для начала работы нужно позаботиться о нескольких вещах. В первую очередь важно настроить веб-сервер, на котором будет размещен код. Для этого можно создать песочницу на codepen.io или разместиться на любом шаред/vds хостинге
  2. Вторым шагом будет вставка в свой файл index.html данного кода:

<!doctype HTML>

<html><script src="https://aframe.io/releases/0.9.2/
aframe.min.js"></script>

<script src="https://raw.githack.com/jeromeetienne/AR.js/2.0.5/
aframe/build/aframe-ar.js"></script><body style='margin : 0px; 
overflow: scroll;'>

  <a-scene embedded arjs>

    <a-box position='0 0.5 0' material='opacity: 0.5;'></a-box>

    <a-marker-camera preset='hiro'></a-marker-camera>

  </a-scene>

</body></html>

     3. Ну, и, наконец, открыть полученную ссылку на своем устройстве и навести камеру на картинку.

Если присмотреться к коду, то становится понятно, что два начальных скрипта отвечают за импорт библиотек A-frame и AR.js, а команда <a-scene> сообщает первой из них об инициализации embedded arjs с AR.js. То есть фактически A-frame отвечает за работу в веб-пространстве, а AR.js – преобразует готовую веб-сцену в AR-пространство.

Для того чтобы добавить объект, который будет включен в <a-scene>, можно использовать примитивы A-frame, и менять их по желанию. А финальный <a-marker-camera>, позволит инструменту управлять камерой телефона.
Для продвинутых пользователей, существует возможность добавления анимации, авторской 3д модели или взаимодействия между ними.

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

    Фон не должен быть прозрачным или белым

    Ассиметричные маркеры работают эффективнее

 
Подготовленное изображение нужно загрузить с помощью кнопки «Upload», перейдя по ссылке 


Обратите внимание, что оптимальным дефолтным значением для рисунка является 0,50. Его можно изменить, но это может привести к необходимости внесение дополнительных строчек в код, в частности отметить это в embedded arjs, указав значение.
<a-scene embedded arjs='patternRatio: 0.7'>

После этого результат можно скачать в виде .patt файла и сохранить его в тот же каталог, где находится index.html.
 
Теперь нужно сделать изменения в <a-marker-camera>

<a-marker-camera preset='hiro'></a-marker-camera>

И добавить отдельную a-entityкамеру, на освободившееся место
<a-entity camera></a-entity>
Теперь код выглядит так:
<!doctype HTML>
<html><script src="https://aframe.io/releases/0.9.2/aframe.min.js"></script>
<script src="https://raw.githack.com/jeromeetienne/AR.js/2.0.5/aframe/build/aframe-ar.js"></script><body style='margin : 0px; overflow: scroll;'>
  <a-scene embedded arjs='patternRatio: 0.7'>
    <a-marker type=’pattern’ url=’path/to/pattern-marker.patt’>
       <a-box position='0 0.5 0' material='opacity: 0.5;'></a-box>
    </a-marker>    
    <a-entity camera></a-entity>
  </a-scene>
</body></html>

На самом деле не так уж и сложно в этом разобраться! Технология AR-пространства только набирает обороты и продолжает стремительно развиваться. Так что самое время вникнуть и начать с помощью AR.js
Понравилось?
0
0
1
134
0