Javascript 对于Wikitude中的多个目标图像,图像识别无法正常工作
我正在使用Wikitude SDK制作一个增强现实应用程序。图像识别后,我在扫描图像的顶部显示2D图像。对于需要扫描的多个图像,需要重复此过程 我尝试了以下方法,但没有得到结果。 方法1: 我将需要扫描的所有图像(目标图像)的名称存储在一个数组中,并将该数组作为参数传递给aurmentized reality函数 AR.Trackable2DObject如下所述: var arr1=[“芒果”、“番石榴”、“木瓜”、“香蕉”]Javascript 对于Wikitude中的多个目标图像,图像识别无法正常工作,javascript,android,wikitude,Javascript,Android,Wikitude,我正在使用Wikitude SDK制作一个增强现实应用程序。图像识别后,我在扫描图像的顶部显示2D图像。对于需要扫描的多个图像,需要重复此过程 我尝试了以下方法,但没有得到结果。 方法1: 我将需要扫描的所有图像(目标图像)的名称存储在一个数组中,并将该数组作为参数传递给aurmentized reality函数 AR.Trackable2DObject如下所述: var arr1=[“芒果”、“番石榴”、“木瓜”、“香蕉”] 对于(var i=0;i当您的目标存档中有多个目标图像,并且只有一个
对于(var i=0;i当您的目标存档中有多个目标图像,并且只有一个覆盖图像时,您不会将整个存档作为参数传递,您会传递第二个参数,如:“*”。这意味着在目标存档显示覆盖的任何图片上
var pageOne = new AR.Trackable2DObject(this.tracker, "*", {
drawables: {
cam: overlayOne
}
});
如果您只想在某些图像上而不是在所有图像上构建此覆盖,请在wtc文件中建立命名约定。例如,将它们命名为“word_apple”和“word_banana”,而不是“apple”和“banana”。在AR.Trackable2DObject中,将其作为第二个参数传递为“word_*”
另外,它不适用于数组。感谢您的回复。我尝试过使用“*”并且它可以工作。但是,我尝试显示一个单独且唯一的叠加(2D可绘制)对于wtc文件中的每个目标图像。例如,目标图像1的覆盖图,目标图像2的覆盖图。就像这样,我有多个目标图像。你能建议一种有效的方法来处理它吗?两种方法既高效又简单。在打开cam view时轻松创建一堆AR.ImageResource,并为每个目标图像创建一个n AR.Trackable2DObject(不要忘了将*更改为目标图像的名称)。在识别图像之前,您不会创建任何内容。在识别内部,检查“response.targetInfo.name”或元数据,您预先将其设置为每个目标图像。根据该板条箱,您的ImageResource和2DObject。
drawables: {
cam: [new AR.ImageDrawable(new
AR.ImageResource("assets/"+arr1[i]+".png"), 1, {
offsetX: -0.15,
offsetY: 0,
onClick:function(arObject)
{
}
})]
},
onEnterFieldOfVision:function(targetName)
{
// arr.push(targetName);
alert(targetName);
//alert("assets/"+targetName+".png");
},onExitFieldOfVision: function onExitFieldOfVisionFn() {
}
});
}
var pageOne = new AR.Trackable2DObject(this.tracker, "*", {
drawables: {
cam: overlayOne
}
});