【发布时间】:2015-11-17 19:55:28
【问题描述】:
我正在使用 Wikiitude SDK 制作增强现实应用。图像识别后,我在扫描图像的顶部显示 2D 图像。对于需要扫描的多张图像,需要重复此过程。
我尝试了以下方法,但未能获得结果。 方法一:
我将所有需要扫描的图像(目标图像)的名称存储在一个数组中,并将该数组作为参数传递给增强现实函数 AR.Trackable2DObject 如下所述:
var arr1=["Mango", "Guava","Papaya","Banana"];
for(var i=0;i
{
var getTargetName1= new AR.Trackable2DObject(this.tracker, arr1[i],
{
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() {
}
});
}
在上述情况下,对象 AR.Trackable2DObject 被创建,在图像识别时,数组的元素与跟踪器的元素进行比较(两者都作为参数传递给上述 AR 对象),并根据任何匹配叠加一个 2D 可绘制对象使用 AR.ImageDrawable 对象。 上述方法的问题是 AR.Trackable2DObject 在将其与跟踪器进行比较时无法读取数组中的所有元素。因此,在图像识别成功后,它不会覆盖任何 2D 可绘制对象。 如果有人可以解释对 AR.Trackable2DObject 的函数调用如何与数组一起使用?
请回复我可以为您的回复提供更多输入。
【问题讨论】:
标签: javascript android wikitude