转载:http://bbs.csdn.net/topics/390684909
最近,在做一个房地产的AR解决方案!在过程中,就遇到了这个VB的问题!同时,也有一些人问我,我也一一作了解答,在一同思考和探索的过程中,发现一些问题,现在为众人一一分析。看过高通茶壶的例子的人,都知道虚拟按钮的交互性不错,很想借鉴!可是在开发的过程中,又遇到不少问题,而且是不报错,不仅不显示错误,但是,执行起来,并非是自己的结果!好吧,为了节约大家放在这个VB上面的时间,我提示几点:
(1)官方文档:对于VB的说明
一般人会忽略,但是,看过才知道!官方网站写得很清楚,VB对于其附着的IMAGETARGET要求很高!第一步不满足的话,
后面第二,第三步做了也没多大意义,最终,VB创建,但是,不能很好监听;
(2)在高要求下,如果完成,那么,进行下一步。
在你所在的DATASET文件中添加这几个VB按钮,像官方例子里面的Released Notes一样,添加在附着的IMAGETARGET下面;
位置貌似可以随便写,因为,导入执行的时候,会更新的哦!注意看Unity下面输出!比如,楼主的3个VB,先写在那个Imagetarget下面,然后,定义好名字,一定要哦!同时,XML文件中修改配置也是需要的!
XML文件修改,在相应的IMAGETARGET下,添加
<VirtualButton name = "" rectangle = "" enabled = true sensitivity = "">;
如下所示,新版的加了sensitivity
3)按照以上要求修改,之后,添加VBHandler给其附着的Imagetarget上,
之后,进入,OnButtonReleased方法,添加如下代码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
public void OnButtonPressed(VirtualButtonBehaviour vb)
{
switch(vb.VirtualButtonName)
{
case "ChineseStyle":
bigMaterial.mainTexture = chinTexture1;
smallMaterial.mainTexture = chinTexture2;
break;
case "EuropeanStyle":
bigMaterial.mainTexture = euroTexture1;
smallMaterial.mainTexture = euroTexture2;
break;
case "SimpleStyle":
bigMaterial.mainTexture = simTexture1;
smallMaterial.mainTexture = simTexture2;
break;
}
Debug.Log (""+vb.VirtualButtonName+" is Found");
}
|
具体怎么操作,你说了算,楼主只是换换材质贴图等等。
(4)编译,看着Unity的输出,查看,是否更新了三个按钮的位置,是否创建成功
最后看看是否生效,是否触发正常。
转载:http://qualcomm.arinchina.com/forum.php?mod=viewthread&tid=537&extra=page%3D1