AR.js 多个标记失败
AR.js multiple markers failure
我正在使用 2 个自定义模式并试图让 AR.js 识别它们。这两个标记都是我使用 AR.js Marker Training 制作成图案的 6x6 条形码,并将下载的图案放入文件夹中(如 500.patt 和 600.patt)。如图所示,当我向它展示一个标记时,结果是两个标记都被识别出来。
此外,我希望在识别标记时得到反应(这就是控制台打印在那里的原因),但是虽然绘制了两个标记的形状,但控制台中没有打印。
我的代码:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ar.js</title>
</head>
<!-- include A-Frame obviously -->
<script src="https://aframe.io/releases/0.6.0/aframe.min.js"></script>
<!-- include ar.js for A-Frame -->
<script src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js"></script>
<body style='margin : 0px; overflow: hidden;'>
<a-scene embedded arjs="patternRatio: 0.90">
<!-- create your content here. just a box for now -->
<!-- define a camera which will move according to the marker position -->
<a-marker-camera type='pattern' url='500.patt'>
<a-box position='0 0.5 0' material='opacity: 0.5; color: red;'></a-box>
console.log(500);
</a-marker-camera>
<a-marker-camera type='pattern' url='600.patt'>
<a-sphere position='0 0.5 0' material='opacity: 0.5; color: blue;'></a-sphere>
console.log(600);
</a-marker-camera>
</a-scene>
</body>
</html>`
结果:
如何让模式识别只显示一项并打印识别出的正确模式?
谢谢
如何在识别标记时将某些内容记录到控制台:
AFRAME.registerComponent('registerevents', {
init: function () {
var marker = this.el;
marker.addEventListener('markerFound', function() {
var markerId = marker.id;
console.log('! markerFound', markerId);
// do additional things you want to do
});
marker.addEventListener('markerLost', function() {
var markerId = marker.id;
console.log('! markerLost', markerId);
// do additional things you want to do
});
}
});
然后将 registerevents
组件添加到您的标记中:
<a-marker id="marker" preset='hiro' registerevents>
应该可以了。
我正在使用 2 个自定义模式并试图让 AR.js 识别它们。这两个标记都是我使用 AR.js Marker Training 制作成图案的 6x6 条形码,并将下载的图案放入文件夹中(如 500.patt 和 600.patt)。如图所示,当我向它展示一个标记时,结果是两个标记都被识别出来。
此外,我希望在识别标记时得到反应(这就是控制台打印在那里的原因),但是虽然绘制了两个标记的形状,但控制台中没有打印。
我的代码:
`<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>ar.js</title>
</head>
<!-- include A-Frame obviously -->
<script src="https://aframe.io/releases/0.6.0/aframe.min.js"></script>
<!-- include ar.js for A-Frame -->
<script src="https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js"></script>
<body style='margin : 0px; overflow: hidden;'>
<a-scene embedded arjs="patternRatio: 0.90">
<!-- create your content here. just a box for now -->
<!-- define a camera which will move according to the marker position -->
<a-marker-camera type='pattern' url='500.patt'>
<a-box position='0 0.5 0' material='opacity: 0.5; color: red;'></a-box>
console.log(500);
</a-marker-camera>
<a-marker-camera type='pattern' url='600.patt'>
<a-sphere position='0 0.5 0' material='opacity: 0.5; color: blue;'></a-sphere>
console.log(600);
</a-marker-camera>
</a-scene>
</body>
</html>`
结果:
如何让模式识别只显示一项并打印识别出的正确模式?
谢谢
如何在识别标记时将某些内容记录到控制台:
AFRAME.registerComponent('registerevents', {
init: function () {
var marker = this.el;
marker.addEventListener('markerFound', function() {
var markerId = marker.id;
console.log('! markerFound', markerId);
// do additional things you want to do
});
marker.addEventListener('markerLost', function() {
var markerId = marker.id;
console.log('! markerLost', markerId);
// do additional things you want to do
});
}
});
然后将 registerevents
组件添加到您的标记中:
<a-marker id="marker" preset='hiro' registerevents>
应该可以了。