是否可以使用自定义标记?

时间:2017-08-22 14:17:53

标签: javascript three.js augmented-reality aframe

是否可以使用与下面的“Hiro”标记不相似的定制标记。我可以使用随机形状(例如红色椭圆形)作为标记吗?

如果目前不支持此功能,是否有人可以指出我可以开始构建此功能的正确方向?

enter image description here

3 个答案:

答案 0 :(得分:7)

AR.js支持自定义标记。 使用marker generator制作任何愚蠢的图像。

让ar.js知道你想要使用你的标记:

<a-marker type="pattern" url="patterns/mypattern.patt">
      <a-entity myobject></a-entity>
</a-marker>
瞧,瞧。您可以使用glitch图片在此this中查看。

答案 1 :(得分:4)

<强> 1。预设=&#34;模式&#34;

首先,如果您查看原始js脚本:https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js,您会注意到preset="custom"中没有else if。例如,搜索else if( _this.data.preset === 'kanji' ){

但是有一个preset="pattern"。因此,请忽略文档并设置preset="pattern"例如:

<a-marker preset="pattern" type="pattern" url="img/pattern-marker.patt"> <a-box position='0 0.5 0' material='color: black;' soundhandler></a-box> </a-marker>

<强> 2。将.patt上传到您的GitHub,以便它可以解析文件

其次,我的.patt并未在本地获取,因此url="img/pattern-marker.patt"可能无效。将此.patt文件推送到GitHub,然后使用raw.githubusercontent引用它。

示例

您可以使用我的模式进行测试。 https://raw.githubusercontent.com/lbelfield/augmented-reality/master/src/components/trainTicket/train-ticket.patt

标记的图像如下: https://github.com/lbelfield/augmented-reality/blob/master/src/components/trainTicket/train-ticket.png

<强>阵营的Web-AR: 这不适用于你,但如果有人像我一样使用React-Web-AR,请使用:

<Marker parameters={{ preset: 'pattern', type: 'pattern', patternUrl: 'https://raw.githubusercontent.com/lbelfield/augmented-reality/master/src/components/trainTicket/train-ticket.patt', url: 'https://raw.githubusercontent.com/lbelfield/augmented-reality/master/src/components/trainTicket/train-ticket.patt' }}>

答案 2 :(得分:0)

第 1 步:首先,通过访问 this page

创建自定义标记

第 2 步:将下载的模式(从上面的链接)放到您的根目录或上传到您的服务器

第 3 步:复制粘贴以下代码

 <a-scene embedded arjs='sourceType: webcam;'>
    <a-box position='0 0.5 0' material='opacity: 0.5;'></a-box>
    <a-marker-camera preset='custom' type='pattern' url='PATH_TO_DOWNLOADED_PATTERN'></a-marker-camera>
    <a-entity myobject></a-entity>
    </a-marker>
</a-scene>