一、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. 关于js与jquery中的文档加载

    jquery中的$(document).ready()类似于javascript中的window.onload(),但是其中还是有很大区别的 1.jquery中的可以简化为$().ready(),$( ...

  2. 使用Vagrant 后发现虚拟机磁盘空间爆满的血泪填坑记

      现象:  用了几天vagrant后,发现docker 里的 Mysql5.7 服务无法启动,用docker ps 命令,发现mysql一直在反复重启, 查看mysql log 发现说磁盘空间不够, ...

  3. 解决ASP.NET上传文件大小限制------(转载人家的博客很好用,略作修改)

    解决ASP.NET上传文件大小限制 (2012-06-26 15:18:01) 转载▼ 标签: it   第一种方法,主要适用于IIS6.0版本 一.修改配置Web.Config文件中的httpRun ...

  4. Kubernetes v1.12/v1.13 二进制部署集群(HTTPS+RBAC)

    官方提供的几种Kubernetes部署方式 minikube Minikube是一个工具,可以在本地快速运行一个单点的Kubernetes,尝试Kubernetes或日常开发的用户使用.不能用于生产环 ...

  5. BIO应用-RPC框架

    为什么要有RPC?  我们最开始开发的时候,一个应用一台机器,将所有功能都写在一起,比如说比较常见的电商场景. 随着我们业务的发展,我们需要提示性能了,我们会怎么做?将不同的业务功能放到线程里来实现异 ...

  6. 基于jQuery的鼠标悬停时放大图片的效果制作

    这是一个基于jQuery的效果,当鼠标在小图片上悬停时,会弹出一个大图,该大图会跟随鼠标的移动而移动.这个效果最初源于小敏同志的一个想法,刚开始做的时候只能实现弹出的图片是固定的,不能随鼠标移动,最后 ...

  7. vue.js 的安装

    包含vue的脚手架的安装. 1,到项目目录下输入 cnpm i -g vue-cli 2,安装完毕后咱们看看.输入 vue 即可看到vue的安装情况. 3,输入 vue list 即可看到框架的选择 ...

  8. SpringBoot+Shiro+JPA+LayUI的后台管理系统

    一.系统说明 资源下载路径:https://download.csdn.net/download/qq_37171817/12056804 本系统是一个用SpringBoot做后台开发框架,Shiro ...

  9. oracle之二表的几种类型

    Oracle中表的几种类型 1.表的功能:存储.管理数据的基本单元(二维表:有行和列组成)2.表的类型: 1)堆表:heap table :数据存储时,行是无序的,对它的访问采用全表扫描. 2)分区表 ...

  10. [程序员代码面试指南]二叉树问题-判断t1树是否包含t2树的全部拓扑结构、[LeetCode]572. 另一个树的子树

    题目1 解 先序遍历树1,判断树1以每个节点为根的子树是否包含树2的拓扑结构. 时间复杂度:O(M*N) 注意区分判断总体包含关系.和判断子树是否包含树2的函数. 代码 public class Ma ...