3D游戏——AR图片识别与建模
程序员文章站
2022-03-20 11:21:24
...
AR技术
增强现实(Argumented Reality (AR)) 是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术,是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验
AR图片识别与建模
要在Unity3D中实现图片的识别与建模,需要安装Unity拓展包Vuforia,安装步骤如下:
安装Vuforia
- 在Unity中打开Build Settings, 点开Player Settings。在没有安装Vuforia时,XR Settings处有 XR Support Installer 点击就会开始下载Vuforia安装包
- 下载完成后,根据提示,将Vuforia安装在Unity的安装目录下
- 安装完成后,再次打开Build Settings -> Player Settings,勾选第二项
获取开发者证书
- 在Vuforia 上注册一个账号并登陆
- 在Develop -> License Manager 中新建一个 License,并复制**到剪贴板
- 返回Unity 3D,点击Game Objects, 发现新增了Vuforia Engine选项,在场景中加入一个AR Camera,同时会导入一些相关的包
- 在AR Camera中,点开Vuforia Configuration,在App License Key中粘贴复制好的密匙
创建Target
- 回到Vuforia官网,在Target Manger中新建一个Database
- 在数据库中Add Target,选择Simple Image并上传图片:
- 然后Download Database,选择Unity Editor
实现图片识别
- 把刚刚下载的Package导入项目中
- 删除main Camera,为Game Object 新建一个Image Target,选择相应的Database和Target
- 把扫描后要显示的模型放在Image Target下,并调整好位置:
- 点击运行,在手机中打开这张图片,对准电脑摄像头:
虚拟按键小游戏
添加虚拟按钮
- 点开Image Target,在Advanced中点击Add Virtual Button
- 调整按钮的大小和位置
- 给按钮加入动作,如,点一下按钮雪人旋转90度:
if (vb.VirtualButtonName == "VirtualButton")
{
Ani.gameObject.transform.Rotate(Vector3.up * 90);
}
和普通按钮一样,可以为其设计其他动作。可以将游戏编译为apk,在手机运行,方便测试~
推荐阅读