飘渺九月 发表于 2021-1-27 09:34

Unity AR - Vuforia初探

前言
这篇文章是用来记录我对Vuforia在Unity中提供的功能的探索,因为他不是教程,所以可能很多地方不严谨,但也希望给同样遇到问题的朋友一点小小的帮助。
遇到的坑
高通的AR插件Vuforia在2017以后版本已经内置了,网上说可以通过安装包安装,反正我在安装的时候是没找到这个选项,感觉Unity官方对引擎的迭代速度太快了,以前的好多资料都不适用了。
但是我在PlayerSetting里找到了,大概在这个地方,点一下什么东西就开始安装了
我已经点过安装了,可能界面不一样,别忘了勾选图片里最后一个选项,不然后面会报错。
然后去资源商店里下载官方示例
开始研究都有什么功能~
1、单图识别
DefaultTrackableEventHandler这个脚本的作用是控制目标图片下的子物体显示与隐藏,包括网格和碰撞的开启关闭。
在ImageTarget下面添加子对象,在运行的时候会隐藏子对象,当扫描到的目标图片的时候会出现。
2、多图识别
需要设置同时识别数量。如果不设置,默认是1的话就只能同时识别一张图片。
3、扫图放视频
看了一下案例,感觉效果还不。尝试了一下自己做播放视频功能,感觉稍有些繁琐,既然有轮子了,索性直接把它做成预制体,到时候换视频文件就好了。
视频文件在这里换
4、虚拟按钮
可以通过在现实世界中的点击操作(不是点击屏幕),来触发按钮效果
虚拟按钮的创建方式是先添加一个组件
其中SensitivitySetting是触碰的灵敏度
然后创建一个脚本继承一个接口,然后把自身注册进去,在接口提供的两个方法里写按钮点击的逻辑。把脚本挂到虚拟按钮上。
using UnityEngine;
using Vuforia;

public class VirtualButtonCtrl : MonoBehaviour, IVirtualButtonEventHandler
{
        private void Awake()
        {
                // 把按钮触发事件注册进去
                GetComponent<VirtualButtonBehaviour>().RegisterEventHandler(this);
        }

        public void OnButtonPressed(VirtualButtonBehaviour vb)
        {
               
        }

        public void OnButtonReleased(VirtualButtonBehaviour vb)
        {
               
        }
}5、地平面识别
首先创建地平面识别器Plane Finder
然后创建Ground Plane Stage,就是上图的第二个选项,然后在Ground Plane Stage下面添加一个子物体,这些都做完后,如下图所示
然后我们需要把地平面引入到地平面查找器中,也就是把Ground Plane Stage引入Plane Finder中的Anchor Stage。
如果想监听地面识别的相关信息,在这里添加方法就行了,可以获取到地面信息
如果想改变识别地面后生成物体的数量,在这里改变,勾选是生成多个,反之只能生产一个
如果想监听生成物体的相关信息,在这里添加方法就好了


// TODO 下次探索的时候再补充
6、悬空放置
7、立方体识别
8、圆柱体识别
9、模型目标识别
8、VuMark识别(下一代条形码)
页: [1]
查看完整版本: Unity AR - Vuforia初探