Дополненная реальность на некоторое время существует вокруг, но при поддержке WEBRTC (коммуникация в реальном времени) возможно для пользователей на устройств Android и Desktop для доступа к камере телефона.
В настоящее время iOS не может поддерживать это, так как оно не было реализовано в браузере WebKit, которая включает в себя Safari, но он в разработке, и вы можете проверить статус здесь Отказ Если у вас есть устройство iOS, вам не нужно пропустить, как вы все равно можете использовать веб-камеру на вашем настольном компьютере.
Примечание: Чтобы получить эту работу над мобильным браузером Chrome, содержимое должно обслуживаться безопасным слоем сокета (то есть через https, а не стандартные http). Рабочий стол в настоящее время работает с регулярными http, хотя.
В этом руководстве я собираюсь показать вам, как разместить маркер дополненной реальности перед камерой телефона. Это будет поднято браузером и Ar.js. И контент будет сопоставлен на вершину в 3D, придерживаясь маркера AR.
Есть много возможных применений для этой техники. Например, вы можете создать простое 3D
творческое резюме
, а затем маркер AR может быть напечатан на вашей визитной карточке. Поскольку вы можете ходить по маркеру, это здорово для содержания, что вы можете увидеть из разных углов - подумайте о определенной шведской мебели, предоставляя вам анимированные шаги, которые можно просмотреть с любого угла! Есть так много возможностей, которые это может быть полезно.
Как только вы скачал файлы учебников Перейдите в папку «Проект», откройте папку «Пуск» в редакторе кода, а затем откройте index.html. Файл для редактирования. На этом этапе библиотеки должны быть связаны - и для этого проекта довольно много! Библиотеки находятся в трех разделах: Three.js, jsartoolkit и расширение Three.js для Artoolkit и Marker.
& lt; скрипт src = 'js / three.js' & gt; & lt; / script & gt;
& lt; script src = "js / colladaloader.js" & gt; & lt; / script & gt;
& lt; script src = "поставщик / jsartoolkit5 / build / artoolkit.min.js" & gt; & lt; / script & gt;
& lt; Script SRC = "Vendor / jsartoolkit5 / js / artoolkit.api.js" & gt; / lt; / script & gt;
& lt; script src = "Trix-Artoolkitsource.js" & gt; & lt; / script & gt;
& lt; script src = "threx-artoolkitcontext.js" & gt; & lt; / script & gt;
& lt; скрипт src = "threx-armarkercontrols.js" & gt; & lt; / script & gt;
& lt; script & gt; threx.artoolkitcontext.baseurl = '/' & lt; / script & gt;
в голова Раздел страницы, добавьте некоторые скрипт Теги и падение в правилах стиля для тело и то холст элемент. Это гарантирует, что они установлены правильно на странице без портировки по умолчанию, добавленной браузером.
Тело {
маржа: 0px;
Переполнение: скрыто;
}
холст {
Должность: абсолютный;
Вершина: 0;
Слева: 0;
}
в тело Раздел страницы, добавьте некоторые скрипт Теги, где пройдет оставшийся код JavaScript для этого руководства. Существует несколько переменных, необходимых: первая строка предназначена для трех.js, вторая для AR.JS, третий для модели, а затем переменной для загрузки модели.
var redener, сцена, камера;
var artoolkitcontext, onrenderfcts, artoolkitsource, markerroot, artoolkitmarker, lasttimemsec;
модель var, tube1, tube2, mid, детали, импульс;
VAR Loader = New Three.colladaloader ();
Перед настройкой сцены будет загружена модель, так что она может отображаться, когда обнаружены маркеры. Это масштабируется на 10, чтобы точно соответствовать маркеру AR. Модель составляет 10см для ширины и высоты, поэтому маркер 1см, который переводит на 1 приращение в три.
loader.load ('model / case.dae', Функция (Collada) {
модель = коллада .scene;
Model.Scale.x = Model.Scale.y = model.scale.z = 0,1;
подробности = model.getobjectbyname («Детали», правда);
Тем не менее внутри загрузки загрузки коллада, как только модель будет загружена, будет пара трубок, которые вращаются, чтобы они были найдены в сцене коллады. Первая трубка найдена, и его материал схвачен. Здесь материал установлен, чтобы просто рендер на внутренней стороне модели, а не снаружи.
TUBE1 = Model.getObjectByname («TUBE1», TRUE);
var a = tube1.children .material;
A.TransParent = True;
А.Ссайса = три [«задняя сторона»];
A.Blending = три [«добавка»];
A.Opacity = 0,9;
Как и на последнем шаге, этот же принцип повторяется для второй пробирки и режима смешивания, аналогично тем, которые были обнаружены в последующих эффектах и Photoshop, установлено, что является добавочной смесью. Это позволяет внешне пиксели иметь более мягкий переход к изображению камеры.
TUBE2 = Model.getObjectByname («TUBE2», TRUE);
C = Tube2.Children .material;
C.TransParent = True;
C.йдь = три [«обратная сторона»];
C.Blending = три [«присещение»];
C.Opacity = 0,9;
Последняя модель - это прядильный круг только в середине дизайна. Это следует тем же правилам, что и раньше, но не отображает заднюю часть объекта, просто спереди. Непрозрачность каждого из этих материалов было установлено на 90%, чтобы сделать его немного мягче. После того, как модель загружается функция init.
mid = model.getobjectbyname («середина», правда);
B = Mid.Children .material;
b.transparent = true;
B.Blending = три [«присещение»];
B.Opacity = 0,9;
в этом();
});
Функция init устанавливается и внутри здесь создаются настройки рендерера. Рендерер использует WebGL, чтобы дать максимальную скорость рендера к содержимому, и фоновое альфа-значение устанавливается на прозрачный, так что изображение камеры можно увидеть за этим.
Функция init () {
Renderer = New Three.webglrenderer ({{
Альфа: правда
});
Renderer.SetClearColor (New Three.Color («LightGrey»), 0);
renderer.setsize (window.innerwidth, window.innerheight);
Document.body.appendChild (Renderer.domelement);
Рендерер должен быть одинаковым размером, что и окно браузера и добавляется к модели объекта документа страницы. Теперь создается пустой массив, который будет хранить объекты, которые должны быть отображены. Новая сцена создана так, чтобы содержимое можно было отобразить внутри этого.
onrenderfcts = [];
сцена = новые три.scene ();
Чтобы иметь возможность увидеть содержание в сцене, как и в реальном мире, нужны огни. Один из них является окружающей средой серого света, в то время как направленный свет является приглушенным синим цветом, просто чтобы дать небольшой оттенок в 3D-контент на дисплее в сцене.
var ambient = new three.ambientlight (0x666666);
Case.add (Ambient);
var pirellight = new trey.directionallight (0x4e5ba0);
PITELLAGES.POSION.SET (-1, 1, 1) .NOMALIZE ();
Scene.Add (Направленность);
Далее: Завершите свой маркер AR Marker
Текущая страница: Страница 1
Следующая Страница Страница 2(Образ кредита: Jonathan Harresty) Страница 1 из 2: Страница ..
Глаза являются самым важным элементом любого успешного портрета, но м�..
CSS должен пройти через относительно сложный трубопровод, как HTML и JavaScrip..
Страница 1 из 5: Просмотр и изменение HTML, CSS & AMP; Js. ..
Отличный способ улучшить Пользовательский опыт На вашем сайте есть добавление меню выс�..
Страница 1 из 4: Инструмент Magic Wand Инструмент Magic Wand Быстр�..
Используя узел, на основе узла процедурного подхода, 3D программное обе..
Хотя невозможно показать звук в обычном, неподвижном изображении (в ст..