google-ar / three.ar.js

A helper three.js library for building AR web experiences that run in WebARonARKit and WebARonARCore
https://developers.google.com/ar/develop/web/getting-started
Apache License 2.0
2.91k stars 365 forks source link

QUESTION: Extended tracking w or w/o SLAM #106

Closed jgwinner closed 6 years ago

jgwinner commented 6 years ago
Description:

Hello! Fantastic library. I have a question:

Is it possible to do 'extended tracking' meaning:

1) Scan a marker 2) Display some content 'behind' the user or around them. 3) User turns to look at the Augmented content, tracking continues.

I'm looking for something similar to this:

https://samples.argonjs.io/directionswebgl/

with the wrinkle that in my code, instead of "North" etc. there would be arrows; the arrows would direct users to other locations based on the marker that had been scanned.

Thank you,

== John ==

jsantell commented 6 years ago

You get full 6DOF tracking, and there is support for getting the position of a marker, such that you'll always have the pose of the camera, and the marker, and then it's just a matter of positioning something behind the camera pose

jgwinner commented 6 years ago

Sure, but if when the marker is out of view, typically the augmented objects disappear.

In other words, when the AR camera looses track of the makers, any objects attached disappear without "Extended tracking".

Is that a feature?

jsantell commented 6 years ago

You get 6DOF tracking without markers via SLAM in ARCore/ARKit, so the above scenario is still possible even with no markers

jgwinner commented 6 years ago

Perfect, thank you!

Odd, Vuforia and Wikitude don't work that way at all, so this is great to know.

== John ==

jsantell commented 6 years ago

An advantage of marker localization is it works anywhere getUserMedia exists, but has downsides like you mentioned. An advantage of AR specific browsers is leveraging ARCore/ARKit, but unfortunately needs a separate browser. You can follow along the status of standardizing the AR features to land in production browsers over at https://github.com/immersive-web. Hope this helps!