如何在 ar.js 中不使用任何标记插入对象

How to insert object without using any marker in ar.js

在 ar.js 中是否可以在不使用标记的情况下在地板(或任何表面)上添加对象?

不知道有没有工具可以检测地板,然后我可以触发一个物体到它上面!到目前为止,可以使用这样的标记图像:

<!doctype HTML>
<html>
<script src="https://aframe.io/releases/0.6.1/aframe.min.js"></script>
<script src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.5.0/aframe/build/aframe-ar.js"> </script>
  <body style='margin : 0px; overflow: hidden;'>
    <a-scene embedded arjs>
    <a-marker preset="hiro">
            <a-box position='0 0.5 0' material='color: black;'></a-box>
    </a-marker>
    <a-entity camera></a-entity>
    </a-scene>
  </body>
</html>

简单回答:不,AR.js 仅适用于基于标记的 AR。标记的位置是 AR.js 如何找到 "plane" 可以用来放置东西的位置,标记的大小定义了应该显示多大的东西(尝试显示标记在网站中,然后放大和缩小以查看对象的大小变化)。

有点复杂的答案:但是前段时间有一些来自 Google(我认为现在称为 ARCore)的 Tango 设备的实验,这给了 AR.js 一些关于地板和其他表面。您仍然可以找到 parts of that in the repository of AR.js.

有一种商业产品,"8thwall web"(除了我自己测试过他们的产品外,我与他们没有任何关系。)提供基于网络的表面检测。但它只直接使用 Aframe,而不是 AR.js - 所以我不确定这是否是你要找的。但绝对值得一看。