一、AR概念:

增强现实(Augmented Reality,简称AR),是一种将虚拟信息与真实世界巧妙融合的技术,广泛运用了多媒体、三维建模、实时跟踪及注册、智能交互、传感等多种技术手段,将计算机生成的文字、图像、三维模型、音乐、视频等虚拟信息模拟仿真后,应用到真实世界中,两种信息互为补充,从而实现对真实世界的“增强”。

目前世界上主流的AR SDK提供厂商,国外的主要是Vuforia、Metaio,国内的主要是EasyAR。其中Metaio在2015年5月已被Apple重金收购,之后就没有再对外公开过SDK,经过两年的封闭开发,Apple已经打造出了强大的ARKit,能够基于庞大的iOS和iPad设备生产出各种惊艳的AR产品。Vuforia也在2015年11月被PTC公司重金收购,但是后续一直在更新并提供SDK,因此在ARKit普及之前,Vuforia一直是开发者最青睐的AR SDK,众多的功能以及高质量的识别技术,使得Vuforia早已深入人心。

随着VR/AR/MR的大热,笔者本人也利用Vuforia开发了一系列的AR产品,高品质的识别速度让顾客十分满意,Unity和Vuforia的深入结合也让AR开发变得十分容易上手,并且能够打造出十分惊艳的产品。

二、注册开发者账号

在使用任何Vuforia SDK之前,你首先要做的是注册Vuforia开发者账号,有了账号之后你才能有对象数据库、才能下载SDK。进入Vuforia官网(https://developer.vuforia.com/vui/develop/licenses),注册一个账号,点击Develop.

 

之后会进入开发者界面,会有两个主要的选项:

  • License Manager:这是App的License管理界面,因为Vuforia对每个App都会有一个唯一的License Key,在Unity的设置中需要输入这个长串的Key,才能开启Vuforia的识别功能。点击“Get Development Key”获取免费的开发license,并且复制下来,unity中要用,用免费的key的话程序左下方会一直有Vuforia的水印,而且一些功能会有些限制,但是用来学习足够了;
  • Target Manager:这是对象数据库管理界面,每个数据库中可以上传需要识别的图片。点击“Add Database”,会弹出一个界面,输入这个数据库的名字和类型。数据库类型一共有两种:Device(设备识别),VuMark(条形码)。这里我们将数据库名字取为“AR_Test”,类型选择“Device”;

上传识别图像,下载图像SDK

点击创建好的数据库,进入之后点击“Add Target”添加图片对象,之后会弹出图片上传界面,上传需要进行扫描识别的图片。

  • Type:这里选择Single Image,因为只是一个简单的图片识别;

  • File:中从电脑本地中选择识别图片,这里选择图片;

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

  • Name:识别图的名字。这个很重要,每张识别图对象都有一个唯一的名字,而且Vuforia可以同时识别多张不同的图片,因此如果以后要用代码来控制选择是哪个对象的话,就是用这个名字来查找是哪张识别图,所以最好取一个能方便认识的名字。

全部信息填完之后,点击”Add“就能将识别图上传到对象数据库。

全部信息填完之后,点击”Add“就能将识别图上传到对象数据库,之后就能在对象管理界面中看到已经上传成功的识别图,这里要注意的是”Rating“的星星数量,这个是对图像识别度的评级,满分是5颗星,一般来说最低要有3颗星才能被准确识别。所以上传图片的时候Rating要保证在3颗星以上。然后勾选住最左边的checkbox,点击上方的”Download Database“按钮,在弹出的界面中选择Unity Editor,下载图片的Unity Package。将图片SDK(下载得哪个Unity Package)导入到Unity中。

三、Unity的准备

之后就需要下载Vuforia的Unity SDK,Unity安装的时候就要可以选上vuforia,省的麻烦,我都是用的unity安装包安的,另外在安装没有学。

简单的设置一下,file---Build Settings---Player Settings, 在Inspector面板---XR Settings,把Vuforia Augmented Realit 对勾打上。

四、简单的小项目

  1. 将从vuforia官网下载的数据库,双击导入,或者直接拖到project面板中assets文件夹中。

2.将原有摄像机MainCamera删除,创建ARCamera,ImageTarget,点击ARCamera--Open Vuforia Engine configutation.

3.将免费获取免费的开发license,复制到里面,数据库之前已经导入了,可以导入多个,下面选择摄像头。

4.创建一个三维物体(我是导入了我自己u做的一个模型),放到ImageTarget下,当其子物体,将你的识别图下载到另外一个设备或者打印出来,运行。

五、演示

一、Vuforia_AR的更多相关文章

随机推荐

  1. 《神经网络的梯度推导与代码验证》之vanilla RNN前向和反向传播的代码验证

    在<神经网络的梯度推导与代码验证>之vanilla RNN的前向传播和反向梯度推导中,我们学习了vanilla RNN的前向传播和反向梯度求导,但知识仍停留在纸面.本篇章将基于深度学习框架 ...

  2. Azure Blob (三)参数设置说明

    一,引言 上一篇将 Azure Blob 存储的时候,有使用到一个 .NET  Core Web 项目,通过代码的方式进行操作 Azure Blob 的数据,接着上一篇的内容,今天继续看一下代码,具体 ...

  3. python基础一(安装、变量、循环、git)

    一.开发语言分类 系统的开发语言有java.c++.c#.python.ruby.php等等,开发语言可分为编译型语言和解释型语言. 编译型语言就是写好代码之后就把代码编译成二进制文件,运行的时候运行 ...

  4. 如何制作一个手机上的Github图床捷径(workflow)

    准备工作 github账号与绑定邮箱 建立一个仓库用于存放图片 生成github token 注意生成之后要备份以免后面要用到(页面刷新之后会看不见) 了解github上传文件的 GitHub API ...

  5. List和Dictionary的使用技巧总结

    List和Dictionary想必是我们平常用到最多的C#容器了,他们使用起来都很简单,所以很多人就可能就没去深究,其实在使用过程中有很多的小技巧能让我们写的代码变得更高效也更安全. 1·合理的指定初 ...

  6. 如何使用dockerfile将jar包生成镜像

    1.编写dockersfile FROM java:8 ADD SPRINGCLOUD.jar app.jar RUN bash -c ‘touch /app.jar’ ENTRYPOINT [&qu ...

  7. C、算法、操作系统杂记《malloc 0大小是什么行为》

    linux手册上的说明 If size is 0, then malloc() returns either NULL, or a unique pointer value that can late ...

  8. 手写spring

    体系结构 Spring 有可能成为所有企业应用程序的一站式服务点,然而,Spring 是模块化的,允许你挑选和选择适用于你的模块,不必要把剩余部分也引入.下面的部分对在 Spring 框架中所有可用的 ...

  9. [Java并发包学习八]深度剖析ConcurrentHashMap

    转载自https://blog.csdn.net/WinWill2012/article/details/71626044 还记得大学快毕业的时候要准备找工作了,然后就看各种面试相关的书籍,还记得很多 ...

  10. [go语言]-深入理解singleflight

    目录 前言 singleflight使用场景 singleflight 简介 singleflight的使用 从singleflight的test最简单用法 验证并发重复请求 singleflight ...