我正在尝试检测不同的标记。一个是名为and1painting.patt的模式,另一个是预设的'hiro'
当我显示hiro模式时,它会被and1painting.patt标记检测到。例如。在下面的代码中,当我显示hiro标记时,它总是显示蓝色框而不是红色。思考为什么?我尝试使用已存在于repo中的sample1.patt,但它也不起作用。
<!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='sourceType: webcam;'>
<a-marker type='pattern' patternUrl='Data/and1painting.patt'>
<a-box position='0 0.5 0' material='opacity: 0.5; side:double; color:blue;'>
</a-box>
</a-marker>
<!-- handle marker with hiro preset -->
<a-marker preset='hiro'>
<a-box position='0 0.5 0' material='opacity: 0.5; side:double; color:red;'>
</a-box>
</a-marker>
<a-entity camera></a-entity>
</a-scene>
</body>
</html>
答案 0 :(得分:1)
不幸的是,AR.JS目前仍然严重受损: https://github.com/jeromeetienne/AR.js/pull/236
如果您按照问题中的评论进行操作,就可以破解自己的工作方式。
答案 1 :(得分:0)
实际上,ar.js完全没有问题。上面的代码中有语法错误,这就是它不起作用的原因。调用模式文件的正确语法就是'url ='而不是'patternUrl =''。
尝试一下:
a-marker type ='pattern'url ='Data / and1painting.patt'
我知道它是可行的,因为花了我很长时间才弄清楚。