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

Posted

技术标签:

【中文标题】是否可以使用自定义标记?【英文标题】:Is it possible to use custom markers? 【发布时间】:2018-01-30 21:21:15 【问题描述】:

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

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

【问题讨论】:

确保您的标记 PNG 文件不包含任何透明度。 .patt 生成的文件不会正常,并且不会检测到您的打印标记。 【参考方案1】:

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

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

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

瞧。您可以使用this 图像在此glitch 中查看它。

【讨论】:

这仍然是最新的吗?因为它似乎对我不起作用。 @Blinxen 上次我检查时,ar.js 中有一个错误,并在这里找到了解决方案github.com/jeromeetienne/AR.js/issues/…。我会把它添加到 anwser 我克隆了 ar.js 主分支并对文件进行了更改,但是当我打开 html 时,我在一些随机行上收到两个文件的引用错误。它只是显示一个空白页。 @Blinxen 我会在 3 小时后试一试 好的,但是请克隆master分支,所以我们有相同的git repo并尝试一下。谢谢。【参考方案2】:

1.预设=“模式”

首先,如果您查看原始 js 脚本:https://jeromeetienne.github.io/AR.js/aframe/build/aframe-ar.js,您会注意到 else if 中没有 preset="custom"。例如,搜索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

React-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' >

【讨论】:

+1 更彻底:)。最近的版本肯定有一些变化,因为它就像我一开始描述的那样工作(你不需要preset="pattern" 【参考方案3】:

第 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>

【讨论】:

以上是关于是否可以使用自定义标记?的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 django 的自定义模板标签在模板的其他块中插入代码?

是否可以在 Google Maps API v3 上编写自定义文本?

如何创建自定义 Facelets 标签?

谷歌地图如何在自定义地点显示我的位置标记?

传单:如何将文本标签添加到自定义标记图标?

标记点击;用户将自定义信息添加到 infoWindow