【问题标题】:AR.js help/trouble using custom AR markers使用自定义 AR 标记的 AR.js 帮助/问题
【发布时间】:2018-10-27 22:40:55
【问题描述】:

在使用带有 AR.js 的自定义 AR 标记时,我需要一些帮助。在从自定义标记生成器页面下载 .patt 文件后,我们在让对象初始化标记时遇到了一些问题。一切都在 Node.js 服务器上的客户端进行测试,但每次打开网络摄像头时,python 徽标的图像上都不会出现任何内容。

代码如下:

<html>
  <head>
  <script src="https://aframe.io/releases/0.8.0/aframe.min.js"></script>
<!--   <script src="https://cdn.rawgit.com/jeromeetienne/AR.js/1.5.0/aframe/build/aframe-ar.js"> </script> -->
  <script src="aframe-ar.js"></script>

  </head>  
<body style="margin : 0px; overflow: hidden;">
<a-scene embedded arjs="sourceType: webcam;">
<a-marker preset="custom" type="pattern" url="pattern-marker.patt">
<a-box position="0 0.5 0" material="opacity: 0.5;"></a-box>
</a-marker>
</a-scene>
</body>
</html>

此条件位于本地的 aframe-ar.js 文件中,用于为 python 图像标记添加自定义预设。我们正在使用谷歌浏览器。

else if( _this.data.preset === 'custom' ){
  markerParameters.type = 'pattern'
  markerParameters.patternUrl = _this.data.patternUrl;
  markerParameters.markersAreaEnabled = false
}

我刚刚使用本地 Node.js 服务器进行测试,另外我应该提一下,默认的 Hiro 标记有效,但自定义图像标记无效。

如果有人能指出我正确的方向,那就是奖励!联系我了解详情。干杯。

【问题讨论】:

标签: html web augmented-reality aframe ar.js


【解决方案1】:

AR.js 支持自定义标记。您只需:
1) 使用 this 生成器创建您自己的标记。
2) 让 ar.js 知道您想使用您的标记:

<a-marker type="pattern" url="mypattern.patt">
  <a-entity myobject></a-entity>
</a-marker>

故障here.

原始答案(已过时)
当前的 ar.js 版本无法正确管理自定义标记。

有多个 github issuesfixes,但据我所知,它们都没有被官方 master 分支接受。

我已经设法让自定义标记与build 一起使用,由wimvdc 制作。


您可以尝试通过在init 函数中添加自定义标记的特殊情况来修改anchor-component.js 文件(或主构建中的arjs-anchor 组件),从而使自己成为一个工作构建:

if( _this.data.preset === 'hiro' ) {

(...)

} else if ( _this.data.type === 'pattern' ) {
        arProfile.defaultMarkerParameters.type = 'pattern'
        arProfile.defaultMarkerParameters.patternUrl = _this.data.patternUrl;
        arProfile.defaultMarkerParameters.markersAreaEnabled = false
}

然后像这样使用它:

<a-marker type='pattern' url='patterns/w.patt'>
</a-marker>

这正是 wimvdc 所做的,在他的 commit + refactor 中查看。

【讨论】:

    【解决方案2】:

    在没有 AFrame 的情况下使用 AR.js 时(例如在此 basic example 中),我已成功使用自定义标记使用 custom marker generator page 并关注 this procedure .

    确保您上传到生成器的PNG文件不包含任何透明像素,否则生成的.patt文件会包含错误值,您的标记将不会被识别。

    【讨论】:

      猜你喜欢
      • 2019-05-11
      • 2020-01-19
      • 1970-01-01
      • 2018-05-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      相关资源
      最近更新 更多