查看原文
其他

程序丨在AR的应用场景中,如何识别3D模型?

ArtStealer 腾讯GWB游戏无界 2022-08-30

AR应用场景中识别3D物体,大多使用基于特征点匹配的方案。


今天分享一下用Vufuria来扫描识别3D物体。


01

准备工作


先下载Vufuria给我们提供的Scanner工具,下载下的包里有一个apk和一个标定图片,我们需要把这个把这个图片按原比例打印出来。


Vufuria提供的标定图:



02

扫描物体


把要扫描的物体放到标定纸的右上角灰色格子区域,打开扫描App开始扫描。



识别出标定纸后会在平面上出现 红绿蓝 三个坐标轴,如上图所示。



点击开始扫描,就会看到一些对物体提取出的特征点(上图绿色小点)。



绕着物体扫描完一圈,对一些已经提取完成的面会入上图绿色的罩子,绿色全部覆盖后整个物体的所有面就都提取完毕了。当然你也可以只识别其中某个角度下的,根据应用需求而定。


03

添加Target


扫描结束后,可以把我们的扫描结果保存到手机本地,然后需要将这个文件导入到Vufuria的开发者账号下。在TargetManager页签下增加一个Target,Type 选择 3D Object,File项将我们扫描的od文件上传上去,取一个Name就OK了。



04

导入Unity


首先将这个Target下载下来,选择开发平台为 Unity Editor,如下图:



在Unity中添加Vuforia对象:GameObject/Vuforia/3D Scan。如下图:



导入后Hierarchy中增加一个ObjectTarget,点击选中,在其Object Target列表中会看到我们前面从Vufuria下载导入的Target对象,选中后效果如图:



然后导入我们在识别完物体后需要展示的模型:Mario



挂载到ObjectTarget下,如下图结构:




05

真机测试


剩下就是打包出apk在真机上测试一下,马里奥出现了,说明我们的酸奶已经识别出来了。


这样就大功告成了。



另外Vufuria还提供了一个直接识别3D模型文件的工具,有兴趣的同学可以自己下载下来体验一下,这里就不再介绍了。



今日推荐  

·Android&iOS支付验证及提测流程

·从零点五开始用Unity做半个2D战棋小游戏(一)

·游戏创业团队如何吸引投资?谈投资的过程中,哪些坑千万不要踩?

↓↓↓点击阅读原文,了解更多。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存