2019/7/15随笔 关于AR高通插件Vuforia图片扫描生成模型
步骤:
1.确保Unity在安装的时候勾选了Vuforia选项,具体如何确定是否安装,可在GameObject下拉选项可以看到Vuforia
2.删除场景中的MainCamera,创建Vuforia中的ARCamera
3.创建一张ImageTarget,步骤同2,将要生成的目标模型作为子物体挂在改ImageTarget下,可以按照自己的喜好或者项目的要求调整模型的位置及旋转角度或添加动画等
4.Vuforia注册可前往官网注册(https://developer.vuforia.com),注册成功后,在Vuforia的网站目录Develop -->LicenseManager,添加开发许可证,后箭头指向的地方一会要到,可以先复制
5.Develop -->TargetManager,点击AddDatabase,创建一个device,然后勾选你所创建的Device,点击AddTarget,上传的图片会有评分,评分越高越容易识别
Tip:图片层次越复杂,填充的颜色越交错评分会越高,越容易识别,最好不要单色或者相近颜色一大片,图片识别在Vuforia系统是将图片处理成黑白
6.上传完图片之后然后选择所有的target,点击downloadDatabase,获得imagetarget数据库包,选择UnityEditor将它导入到Unity,里层的三个文件夹名字不能修改
7.选中ARCamera组件,VuforiaBehaviour脚本点击OpenVuforiaconfiguration,在ApplicenseKey中填入第4步复制的内容,然后勾选下面的Databases里的选项:LoadxxxDatabase和Activete,xxx指的是你所创建的TargetManager的名字
8.选中ImageTarget组件,在脚本ImageTargetBehaviour中的Type选项选择Predefined,Database选中你所创建的名字,ImageTarget选中你所要扫描的图片
Tip:扫描多张图片生成相同的模型应该是修改OpenVuforiaconfiguration里的MaxSimultaneousTrackedImages的值,本人第一次用,比较菜,还没研究出怎么实现,希望看到本文的大佬能给出具体如何做,目前的做法是几张图新建几个ImageTarget然后下面挂模型(菜死了)
9.File -->BuildSetting–>Androi–>PlayerSetting–>XRSetting–>勾选–>>VuforiaAugmentedRealit
10.识别图片成功和丢失识别图片,Vuforia封装了2个方法可以拓展,在ImageTaeget组件上,DefaultTrackableEvenHandle脚本里,方法OnTrackingFound()是识别到了图片,方法OnTrackingLost()是未识别到图片,这个脚本可以扩展,自行发挥,比如说你要做一个像微信二维码扫描那样的框框,识别成功了隐藏框框显示模型,在可以OnTrackingFound()里进行扩展
11.如果需要做场景跳转,你会发现,跳转了场景,摄像机仍然调用的是高通的AR相机,那是因为在跳转场景后,插件会自动修改当前场景相机的属性,如果你想在跳转场景后做正常的交互,不希望相机还出现只需要把相机的ClearFlags属性改为SkyBox就行
12.参考链接①(https://mp.weixin.qq.com/s?src=3×tamp=1561430304&ver=1&signature=fD24DThycWD-Qt0OBONGKBR6az1PBob6blfdaOkJyYiWtdD-x3CHmF0JPQTHswTHAL58XCMHiW0uaCtkRHXOY4MxTdsZE4GBxhToSbOP56NUAak1CZQQKr0LJBKkLbP63NHbAuQxsxgOTk8a-mVeal-2EhPxa6FzUJGK0ZfHAMo=)
13.参考链接②(https://www.jianshu.com/p/5871935aba02)