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 项目截图。

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

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

  1. AR增强现实开发介绍

    AR增强现实开发介绍 ---理论篇 ​ AR增强现实开发最近做一些AR增强现实的内容,一些普及性的内容,与大家分享. 一: 什么是AR增强现实技术: 是一种将真实世界信息和虚拟世界信息“无缝”集成的新 ...

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

    一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...

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

    2016年被称为VR元年,可见火爆程度,但是我要告诉你,其实还有一种技术AR(增强现实)技术,才是下一个真正的“风口”技术.可以预见的是,未来AR应用爆发之时,必将超越VR产业规模,开拓千亿级市场空间 ...

  4. HMS Core携手厦门大学打造AR增强现实技术

    HMS Core AR Engine团队联手厦门大学信息学院,与专业学生面对面深度交流行业发展与前沿成果.双方共同编写行业知识教材,引导学生开发AR游戏实践,为未来AR.VR人才培养培育可复制的教学模 ...

  5. VR全景项目外包团队— VR/AR相关领域介绍和VR全景案例

    VR/AR相关领域这里我要说的一点就是硬件.诚然,硬件的确很难搞,国内在这方面就是荒漠,所以,如果你有信心,完全可以开拓一片蓝海.注意我是说真正的硬件,那些把Google的纸盒子拿来改改就能融资千万的 ...

  6. iOS原生地图开发指南续——大头针与自定义标注

    iOS原生地图开发指南续——大头针与自定义标注 出自:http://www.sxt.cn/info-6042-u-7372.html 在上一篇博客中http://my.oschina.net/u/23 ...

  7. 【转载】Ssh整合开发介绍和简单的登入案例实现

    Ssh整合开发介绍和简单的登入案例实现 Ssh整合开发介绍和简单的登入案例实现 一  介绍: Ssh是strtus2-2.3.1.2+ spring-2.5.6+hibernate-3.6.8整合的开 ...

  8. OC多文件开发介绍

    OC多文件开发介绍: 1.为什么要使用多文件? 在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么.假 ...

  9. Java Web开发介绍

    转自:http://www.cnblogs.com/pythontesting/p/4963021.html Java Web开发介绍 简介 Java很好地支持web开发,在桌面上Eclipse RC ...

随机推荐

  1. AJAX初步学习

    AJAX(Asynchronous JavaScript and XML)即异步的JavaScript与XML技术,指的是一套综合了多项技术的浏览器端网页开发技术.其实就是为了解决传统页面同步刷新,消 ...

  2. Bootstrap 小结

    Bootstrap 小结 Bootstrap4特点:1.兼容IE10+ 2.使用flexbox 布局 3.抛弃Nomalize.css 4.提供布局和 reboot 版本 Bootstrap组成:1. ...

  3. Spring中bean的注入方式

    首先,要学习Spring中的Bean的注入方式,就要先了解什么是依赖注入.依赖注入是指:让调用类对某一接口的实现类的实现类的依赖关系由第三方注入,以此来消除调用类对某一接口实现类的依赖. Spring ...

  4. XSS攻击(出现的原因、预防措施......)

    验证XSS攻击重点不是去查找可输入哪些内容会出现什么样的bug就是测试XSS攻击,重点是了解它出现的原理,为什么会出现XSS攻击,导致一些问题出现?如何防御与解决XSS攻击?以下我将简单介绍以上提出的 ...

  5. Java的序列化和反序列化

    概述 Java对象的序列化和反序列化,这个词对我来说追溯到大学阶段,学Java对象流时知道有这东西.老师告诉我们可以把Java对象化作字节流,储存文件或网络通信.然后就是巴啦巴拉,一脸懵逼.举个例子, ...

  6. 『Zap Möbius反演』

    Zap Description FGD正在破解一段密码,他需要回答很多类似的问题:对于给定的整数a,b和d,有多少正整数对x,y,满足x<=a ,y<=b,并且gcd(x,y)=d.作为F ...

  7. asp.net core系列 54 IS4用客户端凭据保护API

    一. 概述 本篇开始进入IS4实战学习,从第一个示例开始,该示例是 “使用客户端凭据保护API”,这是使用IdentityServer保护api的最基本场景.该示例涉及到三个项目包括:Identity ...

  8. 深度辨析 Python 的 eval() 与 exec()

    Python 提供了很多内置的工具函数(Built-in Functions),在最新的 Python 3 官方文档中,它列出了 69 个. 大部分函数是我们经常使用的,例如 print().open ...

  9. 为什么Eureca Client要分成服务提供者和服务消费者呢?

    [学习笔记]转载 6)为什么Eureca Client要分成服务提供者和服务消费者呢? 通 常来讲,服务提供方是重量的耗时的,所以可能在n台机器上.而服务消费方是轻量的,通过配置ribbon和@Loa ...

  10. 使用CSS3的clip-path(裁剪路径)实现剪贴区域的显示以及实例实现图片渐变

    clip-path介绍 clip-path 直译过来就是裁剪路径,使用SVG或形状定义一个HTML元素的可见区域的方法.想象一下你在Photoshop中勾勒路径的场景.MDN上是这样介绍 clip-p ...