unity3D-AR技术
任务内容
- 图片识别与建模
- 虚拟按键小游戏
图片识别与建模
vuforia上的准备工作
在 vuforia 上注册一个账号,登录账号,先后点击菜单栏的 Develop、Target Manager 和 Add Database,创建一个数据库。
按要求命名,Type保持默认的Device即可。
点击创建的数据库
点击Add Target,Type保持默认的Single Image不变,在File栏目添加一张图片,尽可能颜色鲜艳,便于识别。设置Width和name,点击Add。
这时数据库就添加了刚才选的图片,可以看到有五颗星,说明识别效果很好。勾选这张图片,点击右上角的Download Database,下载一个数据库模型package,在后面会使用到这个package。
选择Unity Editor,点击Download。
点击Develop栏目下的License Manager,选择Get Development Key。
按要求填写信息,点击Confirm。
返回如下结果:
点击建立的证书名称,可以得到如下界面。点击下面的license key即可复制**,用于后面的配置。
安装vuforia扩展包
新建一个unity项目,选择File->Build Settings,弹出如下窗口,选择Player Settings。
关闭该窗口,在右边的栏目中,点击最下面的Vuforia Augmented Reality,这时会跳转出一个网页,下载与该unity版本一致的vuforia。
这时需要将所有unity项目关闭,然后按照默认安装程序即可,但是要确保安装路径下可以找到unity.exe,以便安装正常进行,如果默认安装路径不对则需要手动修改。
安装完成后,重新打开PlayerSettings,可以看到XR Settings下多了一个Vuforia Augemented Reality的选项,勾选该选项。
分别选择GameObject->Vuforia Engine->AR Camera,按照默认导入一个AR Camera。
点击新添加的AR Camera,在下方选择Open Vuforia Engine configuration。
可以看到如下界面:
在App License Key处粘贴刚才在Vuforia网站上复制的Lincense Key,这时我们才可以开始使用Vuforia。
建模
删除原来的Main Camera,分别选择GameObject->Vuforia->Camera Image->Camera Image Target,添加一个Image Target。导入刚才在Vuforia网站上下载的数据库package,点击Image Target,将Database和Image Target分别配置成package的数据库名称和照片名称。
在Asset Store上下载好一个模型场景,选择其中的模型拖放到Image Target下成为子物体,调整模型与照片的位置。
点击运行,在手机上打开该图片,对准电脑摄像头,识别效果如下:
可以看到识别成功。
虚拟按键小游戏
准备工作
点击Image Target,在组件Image Target Behaviour(Script)下找到Advanced,将其展开,点击Add Virtual Button,添加一个虚拟按钮。
在该虚拟按钮下添加一个plane,调整虚拟按钮和plane的位置,设置plane的大小和位置与虚拟按钮相同,以便显示虚拟按钮。
控制设计
点击添加的模型,在下方的在Add Component里面选择Animator,添加组件。
完成控制代码,我的实现是按下虚拟按钮后树会转向,松开之后恢复原样。具体代码详见项目。
将代码文件添加到Image Target的组件中,在该组件的Ani处选择刚才添加的模型Animator。
至此,控制设计完成。
完整项目与演示视频
项目地址:https://github.com/Boyzf/unity3D-AR
演示视频:https://www.bilibili.com/video/av80575834/