一、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. rpc之负载均衡

    使用集群,比如zk来控制注册中心,当一个服务有多个请求地址的时候,会返回多个地址. 那么就需要负载均衡来控制我们要请求哪台机器来得到请求. 方案一:随机 传入key值和key所包含的ip地址值,该地址 ...

  2. 2 http

    response.write(string|buffer)可以调用0-n次 response.end(string|buffer) 方法.必须调用一次  response.setHeader('Con ...

  3. 数据库行转列的sql语句

    问题描述 假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82 现在 想写 sql 语句 ...

  4. SpringMVC执行流程源码分析

    SpringMVC执行流程源码分析 我们先来看张图片,帮助我们理解整个流程 然后我们开始来解析 首先SpringMVC基于Servlet来运行 那么我们首先来看HttpServletBean这个类 他 ...

  5. 理解C#回调函数

    序言 本篇主要学习了C#回调函数的定义使用.欢迎各位大牛的指导. 正文 回调函数是什么? 回调函数就是一个通过函数指针调用的函数.如果你把函数的指针(地址)作为参数传递给另一个函数,当这个指针被用来调 ...

  6. ASP.NET Core 性能优化最佳实践

    本文提供了 ASP.NET Core 的性能最佳实践指南. 译文原文地址:https://docs.microsoft.com/en-us/aspnet/core/performance/perfor ...

  7. tcp建立连接为什么需要三次握手和四次挥手

    前言 众所周知tcp传输层协议在建立连接的时候需要三次才能建立起一个真正的可靠连接,可是为什么是三次呢,不可以是两次,四次等等呢,可以自己思考一番,带着疑问可以看下文. 三次握手 在<计算机网络 ...

  8. mysql修改默认数据存储路径

    1.先关闭mysql服务 可cmd--services.msc进入关闭服务 或cmd命令输入net stop mysql57关闭服务 2.进入C:\ProgramData\MySQL\MySQL Se ...

  9. CTF-WeChall-第二天

    2020.09.10 奥力给,举步维艰的时候就是要一边做一遍记,虽然慢但是不要嫌弃,要不然就是举步不前

  10. WeihanLi.Npoi 1.10.0 更新日志

    WeihanLi.Npoi 1.10.0 更新日志 Intro 上周有个网友希望能够导入Excel时提供一个 EndRowIndex 来自己控制结束行和根据字段过滤的,周末找时间做了一下这个 feat ...