【发布时间】:2018-01-30 21:21:15
【问题描述】:
【问题讨论】:
-
确保您的标记 PNG 文件不包含任何透明度。 .patt 生成的文件不会正常,并且不会检测到您的打印标记。
标签: javascript three.js augmented-reality aframe
【问题讨论】:
标签: javascript three.js augmented-reality aframe
AR.js 支持自定义标记。 使用marker generator 制作任何愚蠢的图像。
让 ar.js 知道你想使用你的标记:
<a-marker type="pattern" url="patterns/mypattern.patt">
<a-entity myobject></a-entity>
</a-marker>
【讨论】:
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。
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'
}}>
【讨论】:
preset="pattern" )
第 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>
【讨论】: