【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12

Unity平台 + Vuforia SDK实现的AR程序开发

  • MikuAR程序实现功能及设计思路
  • 基于Vuforia制作AR程序准备及步骤
  • 1.注册Vuforia开发者账号并获取许可码
      • 1.1 Vuforia开发者中心邮箱注册,选择个人开发者
      • 1.2 登录后,获取开发者许可密钥
  • 2.新建Unity 3D 工程
  • 3.更换新建项目自带的Main Camera
      • 3.1删除Main Camera组件
      • 3.2 更换为 Vuforia 的 AR Camera
  • 4.开启Vuforia AR support功能
  • 5.在AR Camera组件中填写许可码
  • 6.选择正确的Webcam(Web Camera)
  • `*******第一部分"Vuforia环境"到此完结*******`
  • `***********第二部分"Vuforia使用"***********`
  • 1.Vuforia AR识别图
      • 1.1构建Vuforia Database
      • 1.2下载Vuforia官方处理完后的识别物数据库
  • 2.Vuforia Target组件
      • 2.1 选择数据库及识别图像
      • 2.2 在ImageTarget下生成新的子物体/拖拽已有模型
  • 基本篇总结

作者写在前面的话:
***本开发实践目的——快速掌握开发技巧,对背后AR原理只求了解名称概念。
***本写作文章目的——让小白通过项目实践快速获取作者所习得内容达到作者所在高度,并了解需要注意的点,前人踩过的坑。尽可能的详细简单完整的阐明所需内容及实现步骤。因为我也是从小白过来,一点一点啃前人写的文章,效率实在是太慢,不是因为他写的内容过时,就是他写的很简略拒绝小白。从而也十分感慨如果有一个老师是多么便捷的事情。
***希望——后人能觉得本文是一篇十分有用的入门教程,能够比我更加快速的了解掌握开发技巧,那么我写文章的时间是有价值的。在方向正确的情况下,能够一代比一代高效快速了解理解掌握使用,这是人类强盛的根源。
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励

MikuAR程序实现功能及设计思路

实现功能:
基于Android平台,触碰,触摸屏幕
实现 MIKU 模型的 平移 旋转 缩放
基于射线法选中模型,并进行平移
基于射线法选中模型,将模型从自发光状态转为不发光状态

设计思路:
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第1张图片

下面直接开始上干货

基于Vuforia制作AR程序准备及步骤

个人实现前提:
Unity 2018.3.12f1 (64-bit)_2019.4.12最新版本
Unity安装勾选插件:
 - [ 1 ] Vuforia自动安装版本为8.0.10,手动更新后:Vuforia8.1.7
 - [ 2 ] Andriod SDK未知,反正可用。Android tools 28.0.3。
Android NDK:android-ndk-r16b【不清楚有没有用,反正。。。我项目引入了】

关于引入NDK:Unity—Edit——Preferences——External Tools——NDK Browse文件目录
关于下载NDK:Unity—Edit——Preferences——External Tools——NDK Download
文件名:android-ndk-r16b-windows-x86_64.zip 大小:689MB(723,301,086字节)
如果不能下载……请连接可爱的梯子们。

小注释1:Unity可多开,但是…但是…如果电脑性能不OK,在Win10系统下可能会导致突然多个窗口白屏【例如Chrome 2窗口各10+页面+Unity 2窗口会出现白屏情况只能重开程序,但可以保存】未能找到不重启程序就可恢复原有窗口的方法。
小注释2:Unity更新…是覆盖安装,非补丁安装。有一个问题就是你的桌面图标…可能不会被更新。如果强迫症,咳咳咳,可以卸载再安装。反正也很快,而且Unity不删除勾选的AndroidSDK,你的NDK也不会删除,当然最好别把单独下载的NDK放在Unity根目录下。

1.注册Vuforia开发者账号并获取许可码

1.1 Vuforia开发者中心邮箱注册,选择个人开发者

Vuforia开发者中心 <—直达链接

1.2 登录后,获取开发者许可密钥

Develop导航栏目下的License Manager——Get Development Key 按钮
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第2张图片

2.新建Unity 3D 工程

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第3张图片

3.更换新建项目自带的Main Camera

3.1删除Main Camera组件

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第4张图片

3.2 更换为 Vuforia 的 AR Camera

加入Vuforia SDK自带的AR Camera:GameObject工具栏目下的Vuforia Engine中
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第5张图片
此时会要求你import Vuforia包,点击确定就可以了,这个应该是完全没有问题,除非你在一开始Unity安装时没勾选Vuforia插件。

4.开启Vuforia AR support功能

Edit–project setting–player–xr settings–勾选vuforia AR support功能
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第6张图片

5.在AR Camera组件中填写许可码

  • 在左侧Hierarchy功能区内的场景中左键单击选中AR Camera组件
  • 在右侧的Inspector功能区中点击Vuforia Behaviouropen Vuforia Engine configuration
  • 在App License Key文字框中填写许可码
  • 提示点击下方Add License可直达Vuforia开发者License授权中心获取许可码

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第7张图片
提示:无需选择识别物体数据库,新版本已全自动

6.选择正确的Webcam(Web Camera)

Webcam是测试用摄像头。
笔记本默认选择的是笔记本自带摄像头。
如果想用别的,正常工作的摄像头下方图例中自行选择
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第8张图片

*******第一部分"Vuforia环境"到此完结*******

***********第二部分"Vuforia使用"***********

1.Vuforia AR识别图

1.1构建Vuforia Database

在Vuforia developer中心创建数据库
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第9张图片
Database名字随意填,Type选择device(具体原因未知)。
如果有知道的大佬不妨教授一下十分感谢。
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第10张图片

  • 被识别物体的图像要求,可以参考别的博客,怎么能让自己的识别图成为3/4/5星
  • 关于Width填写数字1的原因:我查找到的【未经过授权,若侵删

Width:输入识别图片的宽度。这个是为了建立Unity场景中的单位长度,场景中所有其他物体的大小是以这个值为参照建立的。Vuforia中的单位长度是以米来计算。输入之后,图片的高度会以这个宽度来自动计算。这个值可以是任意的,但是最好比Camera的Near Clip值要大,不然在镜头靠近时你可能会看不到相关内容。这里输入为1;

作者:Mac玩家
链接:https://www.jianshu.com/p/5871935aba02
emmm反正我是没太能理解……如果有明白的!大大佬在线求教?!
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第11张图片

1.2下载Vuforia官方处理完后的识别物数据库

下载适用于Unity平台数据库文件。视数据量大小,会等待几秒到几分钟时间。
打包文件下载结果为:OwnTest.unitypackage【数据库名.unitypackage
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第12张图片
双击下载完成的数据库文件或拖拽入Unity操作界面中,均会自动弹出Import Package
全选,引入即可。
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第13张图片

2.Vuforia Target组件

Vuforia支持很多不同类型的识别物。例如2D平面图形、3D模型,多目标图像识别
总之就是很多吹就对了
我个人上传的是二维平面图像,所以选择Image即可
【如果有对三维物体进行识别的想法,Vuforia提供对象识别软件,嗯,全景扫描后进行自动识别,构建生成可直接导入Unity的3D模型,该软件全称 Model Target Generator (链接指向Vuforia官方Library图书馆)】
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第14张图片
【官方资源传送门】
Library首页
Support Center

2.1 选择数据库及识别图像

Unity会在你创建Target的时候自动帮你选一个。嗯,我只有一个数据库,数据库里只有一个图片。emmm,我就不用选了hhhhh。
选中Target组件,右侧Inspectors选择Database及ImageTarget
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第15张图片

2.2 在ImageTarget下生成新的子物体/拖拽已有模型

【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第16张图片
生成结果:
成为ImageTarget子物体
拖拽已有模型至ImageTarget中
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第17张图片
生成结果:
【Vuforia AR Unity 2018.3.12f1】MikuAR安卓程序开发实践(一)基本篇_2019.4.12_第18张图片

基本篇总结

到现在为止,基本的识别图+识别图上生成物的AR基础功能已经实现了,也是网上很多教程的终点。
也就是现在就可以点击Play按钮进行偷税的玩耍了——摄像头中出现识别图,就会在识别图上生成我们ImageTarget下的子物体,识别图消失则子物体消失。识别图移动则子物体附着在识别图上移动,附着这一词不太精准,应该叫做以识别图为坐标系的虚拟物体渲染。

至于PC端测试,可以采用笔记本电脑摄像头+手机显示识别图的简易方法
如果Android端,可以采用手机摄像头+笔记本电脑显示识别图的简易方法
不是特别需要购买一个USB摄像头
Play按钮

你可能感兴趣的:(Vuforia,Android,Unity)