《AR与VR开发实战》——2.6 立方体识别

本节书摘来自华章出版社《AR与VR开发实战》一书中的第2章,第2.6节,作者 张克发 赵兴 谢有龙,更多章节内容可以访问云栖社区“华章计算机”公众号查看。

2.6 立方体识别

Vuforia SDK提供了立方体识别功能,该功能可以识别被图案包裹的立方体,常用于产品包装盒等物体的AR展示效果,本节我们将介绍通过Unity以及Vuforia SDK制作立方体识别的步骤和方法。
1.下载并导入插件
登录官网,点击下载如下插件并解压。


《AR与VR开发实战》——2.6 立方体识别

在解压完成后找到Multi Targets包并导入Unity工程。


《AR与VR开发实战》——2.6 立方体识别

在工程视图Project中的Vuforia目录下找到ARCamera和MultiTargets两个预制件,将其拖到层级视图Hierarchy中,同时删除场景中的Main Camera。


《AR与VR开发实战》——2.6 立方体识别

2.创建数据库
在官网的Develop页面下选择Target Manager并创建一个新的Database,命名为MultiTarget。点击新建的MultiTarget数据库,在弹出的文件选项面板中选择Cuboid。


《AR与VR开发实战》——2.6 立方体识别

上图中,Dimension中的属性是为了确定立方体的尺寸,分别为宽、高、长三个维度的尺寸。相应的,物体的长度对应Front、Bottom、Top和Back识别图的长度,宽度对应Left、Top、Right和Bottom识别图的宽度,高度则对应Front、Left、Right和Back识别图的宽度。遵循上述步骤,各识别图上传时相对应位置的尺寸必须一致,否则会出现识别图无法上传的问题。


《AR与VR开发实战》——2.6 立方体识别

3.实现立方体识别功能
这里我们使用官方自带的MultiTarget,选中MultiTarget,调节下图所示属性。


《AR与VR开发实战》——2.6 立方体识别

在MultiTarget下创建一个扫描后要显示的模型,我们可以创建一个Unity自带的Cube来显示识别之后的物体,调整好对应关系后点击运行即可实现立方体识别效果。