首页 > 编程知识 正文

vuforia识别3D物体

时间:2023-05-03 15:39:21 阅读:229527 作者:1725

先纠正上一篇博客中的一个错误


上一篇中说道Database可以修改,但不能删除,这个是错误的,因为自己也是第一次做,网上也搜了很多资料,有一个说不能删除,只能修改,自己上传的也很少就没有考虑去做删除的操作,项目中需求用到了这。所以删除的操作如下:


点击其中一个Target(例如:AR1)


选择需要删除的Target


点击Remove即可移除



即可看到Img1已经被移除

好了,开始进行识别3D物体

这篇主要讲利用高通插件识别3D物体

就是下面这个盒子


高通默认识别这种物体,识别后的标识是一个绿色的长方体标识物体的原点

准备工作:

首先要在手机上装一个扫描程序,扫描现实中的三维物体,然后上传高通官网,在下载成UnityPackage类型让Unity能够使用

这个扫描程序可以从高通官网上进行下载,是一个安卓程序


点到Tools往下滑,找到Vuforia Object Scanner


下载后解压


数据线连接手机,将apk文件拷入手机安装


然后刚才解压文件中的Media文件夹打开,两个PDF图

打印第一张A4-ObjectScanningTarget.pdf,主要是用来辅助扫描的。


好了,接下来就是扫描三维物体。

将盒子放到纸上的灰色部分,它上面有个坐标系,盒子大致位置放好就可以,


点击手机上安装好的Scanner


对准盒子会出现


三条线就是高通做的一个坐标系,点击红色录像按钮

即可看到盒子上有很多绿色的识别点,识别点越多,越容易比识别,还有一个有线框的遮罩,转动纸,使手机能够一圈扫描盒子,扫描识别到后,遮罩就会编程绿色,尽可能多识别点。


注意:识别的目标尽可能大点,我之前用笔测试,虽然识别点很多,但是测试还是很难识别,还有就是转动纸,尽可能从各个方向识别,做多个识别点

另外,物体的识别难易程度和颜色深浅没有关系,但和物体上的简易程度有关系,越复杂就越容易被识别

例如:我用一张写满字的纸张比一个有几个对比鲜明色彩的纸张更容易识别。

还有就是不要用圆形的东西,例如杯子,我测试了好几个圆形的东西,都不太容易识别

识别完成之后,点击对勾,取个名字Cube


保存之后


点击Test,将盒子从A4纸上拿下来,扫描盒子,即可看到盒子的原点

我是刚才测试截图用了两次扫描,绿色立方体有点歪,正常是直立在原点的

好了,测试成功,点击上传到电脑上


导入电脑后是一个.od文件


好了,此处扫描三维物体的步骤就完成了,接下来和之前的上传图片类似,将该.od文件上传到高通官网


这次选择的3Dobject


将刚才上传的Cube.od文件上传即可创建完成

创建好下载就是UnityPackage文件


导入Unity中


正式开始

Unity中新建场景将Vuforia高通插件中的ARCamera,ObjectTarget拖入场景中


选择ObjectTarget,Inspector界面进行设置


因为这次识别的就是三维物体,所以就不用修改导入的物体的Texture Shape,如果是图片就需要修改为2D


注意:ARCamera预制体中设置


和上一篇一样,在ObjectTarget下面创建一个子物体,球体


好了保存场景运行就可以,运行结果,识别到盒子之后在原点出现球体





版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。