作者写在前面的话:
***本开发实践目的——快速掌握开发技巧,对背后AR原理只求了解名称概念。
***本写作文章目的——让小白通过项目实践快速获取作者所习得内容达到作者所在高度,并了解需要注意的点,前人踩过的坑。尽可能的详细简单完整的阐明所需内容及实现步骤。因为我也是从小白过来,一点一点啃前人写的文章,效率实在是太慢,不是因为他写的内容过时,就是他写的很简略拒绝小白。从而也十分感慨如果有一个老师是多么便捷的事情。
***希望——后人能觉得本文是一篇十分有用的入门教程,能够比我更加快速的了解掌握开发技巧,那么我写文章的时间是有价值的。在方向正确的情况下,能够一代比一代高效快速了解理解掌握使用,这是人类强盛的根源。
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
***最后,顶,点赞,评论,收藏三连!如果觉得有用的话!是对作者最大的鼓励
实现功能:
基于Android平台,触碰,触摸屏幕
实现 MIKU 模型的 平移 旋转 缩放
基于射线法选中模型,并进行平移
基于射线法选中模型,将模型从自发光状态转为不发光状态
下面直接开始上干货
个人实现前提:
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根目录下。
Vuforia开发者中心 <—直达链接
Develop导航栏目下的License Manager——Get Development Key 按钮
加入Vuforia SDK自带的AR Camera:GameObject工具栏目下的Vuforia Engine中
此时会要求你import Vuforia包,点击确定就可以了,这个应该是完全没有问题,除非你在一开始Unity安装时没勾选Vuforia插件。
Edit–project setting–player–xr settings–勾选vuforia AR support功能
Webcam是测试用摄像头。
笔记本默认选择的是笔记本自带摄像头。
如果想用别的,正常工作的摄像头下方图例中自行选择
*******第一部分"Vuforia环境"到此完结*******
***********第二部分"Vuforia使用"***********
在Vuforia developer中心创建数据库
Database名字随意填,Type选择device(具体原因未知)。
如果有知道的大佬不妨教授一下十分感谢。
Width:输入识别图片的宽度。这个是为了建立Unity场景中的单位长度,场景中所有其他物体的大小是以这个值为参照建立的。Vuforia中的单位长度是以米来计算。输入之后,图片的高度会以这个宽度来自动计算。这个值可以是任意的,但是最好比Camera的Near Clip值要大,不然在镜头靠近时你可能会看不到相关内容。这里输入为1;
作者:Mac玩家
链接:https://www.jianshu.com/p/5871935aba02
emmm反正我是没太能理解……如果有明白的!大大佬在线求教?!
下载适用于Unity平台数据库文件。视数据量大小,会等待几秒到几分钟时间。
打包文件下载结果为:OwnTest.unitypackage【数据库名.unitypackage】
双击下载完成的数据库文件或拖拽入Unity操作界面中,均会自动弹出Import Package
全选,引入即可。
Vuforia支持很多不同类型的识别物。例如2D平面图形、3D模型,多目标图像识别
总之就是很多吹就对了
我个人上传的是二维平面图像,所以选择Image即可
【如果有对三维物体进行识别的想法,Vuforia提供对象识别软件,嗯,全景扫描后进行自动识别,构建生成可直接导入Unity的3D模型,该软件全称 Model Target Generator (链接指向Vuforia官方Library图书馆)】
【官方资源传送门】
Library首页
Support Center
Unity会在你创建Target的时候自动帮你选一个。嗯,我只有一个数据库,数据库里只有一个图片。emmm,我就不用选了hhhhh。
选中Target组件,右侧Inspectors选择Database及ImageTarget
生成结果:
拖拽已有模型至ImageTarget中
生成结果:
到现在为止,基本的识别图+识别图上生成物的AR基础功能已经实现了,也是网上很多教程的终点。
也就是现在就可以点击Play按钮进行偷税的玩耍了——摄像头中出现识别图,就会在识别图上生成我们ImageTarget下的子物体,识别图消失则子物体消失。识别图移动则子物体附着在识别图上移动,附着这一词不太精准,应该叫做以识别图为坐标系的虚拟物体渲染。
至于PC端测试,可以采用笔记本电脑摄像头+手机显示识别图的简易方法
如果Android端,可以采用手机摄像头+笔记本电脑显示识别图的简易方法
不是特别需要购买一个USB摄像头