似乎带有配置对象的本地存储项的名称在这里是硬编码的。
我能够获得多个标记区域,但我必须修改 ar.js 代码。结果出现在这个故障中,标记在资产中。
首先,我必须创建并保留多标记配置对象(参见这个SO 线程,或者这个关于自定义区域标记的 ar.js 问题)。在创建场景之前,我设置了配置:
// the name will correspond to the marker id
var oneMarker = { /* paths, pose matrices, etc. */ }
localStorage.setItem("oneMarkerFile", JSON.stringify(oneMarker));
第二- 我修改了Arjs.Anchor 对象- 所以它不会读取预定义的 localStorageObject:
// originally ARjsMultiMarkerFile
let markerId = markerParameters.markerName + "MarkerFile"
第三- 我必须以markerParameters.markerName
某种方式通过。Arjs.Anchor 对象是在arjs-anchor 组件初始化函数中创建的。只需一行,您就可以设置上述markerName
属性:
markerParameters.markerName = _this.el.id
// anywhere before instantiating the anchor (new ARjs.Anchor(arSession, markerParameters))