AR增强现实开发介绍(续)

---开发基础篇

开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解、获取、下载增强现实插件开始。目前全世界使用量最大公认最好的增强现实插件是高通的Vuforia。我们先从开发一个最简单的AR Hello World 开始。

开发一个AR Hello World 需要经历以下步骤:

1:登陆高通增强现实网站,注册账号且获取授权信息。

2:制作目标图

A) 二维识别图制作

B) 三维识别物体制作

3:SDK下载

4: Unity整合高通SDK,进行开发

5:发布移动端,测试评估最基本Demo效果

特别提示,以下教程为2016年10月份的网站状态(Vuforia 插件版本为6.0)

现在我们就针对以上五大步骤,来进行详细讲解。

一:登陆高通增强现实网站,注册账号且获取授权信息。

1.1 首先登陆  https://developer.vuforia.com/

?     1.2 注册用户,点击右上角的 Register 。

1.3 输入个人信息,确认注册信息成功。然后会在注册使用的邮件中收到确认信息。

完成以上步骤,现在开始根据用户的不同,选择不同的授权信息。首先点击网站的Develop -->License Manger 选项。 点击下图的 “Add License Key”。

此时如果你是第一次登陆网站,则系统会弹出“选择项目类别”(Select your project type)的提示。 这个选择很简单,如果是学习者,选择第1个选项(Development); 如果是需要发布到App Store 的产品,则选择第2个选项(Consumer);如果是面向企业内部使用则选最后一个(Enterprise)。

此时出现如下图的页面,按照我们的开发目的进行选择。笔者此时选择“Development”选项。

选择完毕,出现确认信息页面,如下图。

选择“确认”(Confirm)后,出现如下页面,我们需要填写项目名称、设备类型(移动端、AR眼镜),点击下一步。

此时出现下图页面,我们刚才建立的选项数据,就以列表的形式,显示出来。我们点击“TestARDemo1”,查看我们的授权码。

授权码是一堆看似无意义的字母集合,我们拷贝这些内容,先临时进行存放,后面需要填写到Unity的项目工程中。

二:制作目标图

A) 二维识别图制作

B) 三维识别物体制作

现在我们得到授权码后,开始制作“目标图”(识别图)。点击“Target Manager” 页面,开始制作识别图。此时点击“增加库”(Add Database)。(如下图)

创建库(Create Database),例如库名称:TestAR_DB2. 选择不同的类型,我们选择1选项即可。表示使用移动设备存储“识别图”。Cloud 表示云识别(把识别图发往云端),VeMark 表示支持Win10 与微软的Holens 眼镜设备。

点击创建后,我们会得到一个“库”,专门存放我们上传的识别图。当我们给“库”中添加识别图的时候,我们需要选择不同的类型。如下图从左到右分别是二维识别图、几何识别图、3D物体识别图等。笔者选择Single Image (二维识别图),进行上传。

上传识别图,贴图必须有一定的画面复杂度,否则会造成识别不清晰的问题。下图中“左下角”与下图中间(带二维码)的贴图画面最为复杂,其实也是高通插件,识别最好的贴图。

上传完识别图后,我们可以看到如下图内容。"Rating" 就是可以识别贴图的级别(5星为最高),一般3颗星以下的贴图,是不能顺利完成识别图,建议不采用。

勾选?具备高识别度的贴图,然后点击页面的“Download Database”下载库文件。(*.UnityPackage)

三:高通插件SDK下载

点击“Downloads”--〉SDK ,下载高通SDK。“vuforia-unity-6-0-117.unitypackage”

四: Unity整合高通SDK,进行开发

4.1: 新建Unity5.x  演示项目,导入AR SDK。
  4.2: 导入识别图的库文件(*.unitypackage)
  4.3: 在Unity系统中,删除原始摄像机,使用AR摄像机。(ARCamera)

4.4:层级视图添加“贴图目标(ImageTarget)

4.5 现在进行必要的设置:

A) AR Camera 对象所属“Vuforia Behaviour”脚本组件中的“App License Key”,需要粘贴“授权码”。

B) AR Camera 对象所属“Database Load Behaviour ”脚本勾选“Load xxx Database ”与下面的“Activate”。

C) 点击 ImageTarget ,在脚本组件“Image Target Behaviour”中的Database :选择“TestAR_DB1”,在ImageTarge:选择具体的识别图。

D) 在层级视图中,添加基本的3D模型,且作为"ImageTarget"的子节点。

E) 如果笔记本/PC带有摄像头,则运行游戏后系统会自动开摄像机,可以看到AR混合图像。

笔者机器没有安装摄像头,所以显示为红色背景。如果有的话,则系统会自动开启摄像机,拍摄真实环境与Unity的画面进行混合处理显示出来。

五:发布移动端,测试评估最基本Demo效果。

发布移动端与一般的Unity手游都是一样的,这里就简略过去。以下显示做好的部分AR Demo 项目截图。

好了,感谢大家学习,有疑问,请留言!

时间: 2024-11-02 23:47:12

AR增强现实开发介绍(续)的相关文章

AR增强现实开发介绍

---理论篇 ? AR增强现实开发最近做一些AR增强现实的内容,一些普及性的内容,与大家分享. 一: 什么是AR增强现实技术: 是一种将真实世界信息和虚拟世界信息“无缝”集成的新技术.是把原本在现实世界的一定时间空间范围内很难体验到的实体信息(视觉信息,声音,味道,触觉等),通过电脑等科学技术,模拟仿真后再叠加,将虚拟的信息应用到真实世界,被人类感官所感知,从而达到超越现实的感官体验. 二: AR增强现实技术突出的特点: 1: ?真实世界和虚拟世界的信息集成  2: 具有实时交互性  3: 是在

跨平台AR增强现实开发(四)(高通识别图5星处理方式)

高通的识别图上传到后台以后我们可以看有星级评定,星值最大为5星,星值越大有以下好处: 1.识别图越容易识别 2.识别出来的物体不会出现抖动 3.识别速度更快 而有时候我们上传的识别图只有2星,或者更少,这个时候我们需要处理识别来达到我们想要的效果, 从上面的5星识别图片中我们可以总结到: 1.识别图的细节有棱角,且棱角数量特多 2.识别图的棱角分别均匀 3.图片单个元素很小 高通的识别图的特性点的标注是有以下规律: 1.圆形的图元没特性点 2.方形的图元有四个特性点 3.半圆形的图元有两个特性点

如何开发AR增强现实应用与产品

2016年被称为VR元年,可见火爆程度,但是我要告诉你,其实还有一种技术AR(增强现实)技术,才是下一个真正的"风口"技术.可以预见的是,未来AR应用爆发之时,必将超越VR产业规模,开拓千亿级市场空间! AR技术需要硬件承载,最新的媒介以微软的HoloLens头显为代表,传统的则一般与手机或者Ipad结合.在目前市场(2016年)不是很成熟的情况下,让消费者为了体验AR而花钱买个新的硬件,消费者不一定买账. AR技术不仅在与VR技术相类似的应用领域,诸如尖端武器.飞行器的研制与开发.数

《虚拟伙伴》AR增强现实应用开发总结

一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,facebook等,这些都是人们在表达自己的看法和感受,却没有人告诉你这个年龄你应该懂得道理,很多父母可能知道这些事情,但是却不善于对孩子们表达.也有很多住校生,留守儿童,他们见到父母或者长辈的次数可能很少,就缺少了最直接的关心和陪伴.也有很多孩子小时候可能会犯一些错误,做一些错的事情,等到长大后就会

AR增强现实实景导航

前段时间负责手机的相机产品,在做产品规划的时候发现一款很酷的应用:随便走,用户量大概在500万以上吧,其实就是一款AR增强现实实景导航软件,适合路痴步行找到1公里内的目的地,这些目的地对应LBS中的POI点,在高德和百度地图上都有标记.后来老板让我和这家公司谈合作,想把这个技术引入到相机中,没想到人家怕泄露家底,合作没谈成,所以我一气之下决定自己搞,这个世界心有多大,舞台就有多大.经过深度预研和论证,最后成功开发出来,感觉比随便走还牛,先贴几张图看一下. 本文出自 "赛驰天下" 博客,

Android多媒体开发介绍(转)

Android多媒体开发介绍 转自:http://blog.csdn.net/reiliu/article/details/9060557 一.       多媒体架构 基于第三方PacketVideo公司的OpenCORE来实现,支持所有通用的音频/视频/静态图像格式,包括:MPEG4.H.264.MP3.AAC.AMR.JPG.PNG.GIF等.从功能上分为两部分,一是音/视频的回放(PlayBack),二是音视频的纪录(Recorder). CODEC(编解码器)使用OpenMAX 1L

OC多文件开发介绍

OC多文件开发介绍: 1.为什么要使用多文件? 在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么.假设有两个类,分别是Person类和Dog类,则通常有下面五个文件: (1)Person.h Person类的声明文件 (2)Person.m Person类的实现文件 (3)Dog.h Dog类的声明文件 (4)Dog.m Dog类的实现文件 (5)Main.m 主函数(程序入口)在主函数以及类的实

Java Web开发介绍

转自:http://www.cnblogs.com/pythontesting/p/4963021.html Java Web开发介绍 简介 Java很好地支持web开发,在桌面上Eclipse RCP谈不上成功,JAVA是主要用在服务器端,和Python一样是极其重要的Web后台开发语言. Java Web应用通常不直接在服务器上运行,而是在Web容器内.容器提供的运行时环境,提供JVM (Java Virtual Machine)运行本地Java应用.容器本身也运行在JVM. 通常Java的

Lucene.Net 2.3.1开发介绍 —— 四、搜索(二)

原文:Lucene.Net 2.3.1开发介绍 -- 四.搜索(二) 4.3 表达式用户搜索,只会输入一个或几个词,也可能是一句话.输入的语句是如何变成搜索条件的上一篇已经略有提及. 4.3.1 观察表达式在研究表达式之前,一定要知道,任何一个Query都会对于一个表达式.不光可以通过Query构造表达式,还可以通过拼接字符串构造.这里说的观察表达式是指,用Query完成查询语句后,用ToString()方法输出Query的表达式.很简单是吧,呵呵. 4.3.2 表达式的与或非“与或非”让我想起