如何开发AR增强现实应用与产品
2016年被称为VR元年,可见火爆程度,但是我要告诉你,其实还有一种技术AR(增强现实)技术,才是下一个真正的“风口”技术。可以预见的是,未来AR应用爆发之时,必将超越VR产业规模,开拓千亿级市场空间!
AR技术需要硬件承载,最新的媒介以微软的HoloLens头显为代表,传统的则一般与手机或者Ipad结合。在目前市场(2016年)不是很成熟的情况下,让消费者为了体验AR而花钱买个新的硬件,消费者不一定买账。
AR技术不仅在与VR技术相类似的应用领域,诸如尖端武器、飞行器的研制与开发、数据模型的可视化、虚拟训练、娱乐与艺术等领域具有广泛的应用,而且由于其具有能够对真实环境进行增强显示输出的特性,在医疗研究与解剖训练、精密仪器制造和维修、军用飞机导航、工程设计和远程机器人控制等领域,具有比VR技术更加明显的优势。所以谷歌认为,增强现实才是未来的发展趋势,因为它能够带给人们更多互动体验,而非虚拟现实的隔离。
随着16年下半年席卷全球的游戏“Pokemon Go”("口袋妖怪GO") 手游的上线IOS与Android 移动市场,突然引爆了全球AR游戏产业,国内无数游戏公司纷纷表示17年上市自己的AR游戏或者应用产品。
上面说了这么多的行业信息,下面我们转到具体的实现技术上,目前开发AR增强现实主流的门派为QCAR(vuforia)、Metaio、D'Fusion等,而且最重要一点是这些插件SDK 都在与Unity进行紧密结合。
1:Vuforia, 高通的AR解决方案,需要在官网上进行Target Manage,也就是图像预处理,不过对于商业级应用提供云识别,而且还支持三维立体物件识别、HoloLens等。截至16年全球注册开发人员已经超过25万,成为事实上的AR增强现实SDK 标准。
2: Metaio(国内翻译“美桃”)SDK,下载安装后可以直接在unity里跑例子,丰富的教学资源。免费(限制+水印) 与 付费授权结合。突出优点是可以支持PC端以及新增人脸识别的功能(Metaio 5.5以上)。
我们做一款 AR 应用(或者游戏)一般都需要底层识别算法、应用开发与3D美工三部分内容。国内开发公司一般只做后两部分,关于底层(图像的)识别算法一般都借助于高通或美桃(Metaio) 的识别算法解决。 关于应用开发部分,目前最高效与成熟的就是使用 Unity 作为开发平台,所以这里学好Unity 尤为重要。现在笔者就AR开发中最为关键的“应用开发”部分,结合Unity平台谈谈开发过程中常运用的技术点:
1: Unity 使用C#语言作为脚本语言,所以深入掌握C#语言的各种语法、常用算法、数据结构、设计模式、架构模式等尤为重要。
2:开发AR增强现实对于模型与动画的处理部分要求较高。所以需要系统学习Untiy对于模型的导入、模型优化、模型动画(Animator、Animation)控制脚本等要求较高。
3:移动端屏幕识别部分: 可以采用Unity原生的触控API,也可以采用目前成熟的Unity屏幕触控插件(例如:FingerGestures插件)进行开发。不过这里笔者推荐如果不是很复杂的触控需求,尽量采用Unity原生API,自己封装的屏幕识别算法较好。
4:最后一步也就是发布移动端(手机、IPad)技术,一般对于IOS平台发布*.ipa 文件,需要Unity导出工程文件到Xcode 编辑器上,然后用Xcode 生成即可步骤较为简单。 对于发布Android 平台的*.apk 文件,则步骤较为繁琐,需要安装与配置java SDK,以及安装Android SDK,最后需要在Unity中配置上述的路径等。
所以总结上述内容,有人就说开发AR增强现实很简单: 就是基础的C#语言+Unity3D+Maya(模型创建) +Vuforia(底层图像识别算法SDK),基本上一些简单AR就出来了。但是笔者不敢苟同,即便你的AR项目创意再好,如果没有坚实的语言编程能力以及Unity平台熟练的掌握,也是无法开发出高质量的产品应用的。
随着国外巨头微软的HoloLens头显2017年进一步增大量产、Meta 公司的Meta 2的2017年头显上市、Magic Leap 的神秘新品上市,可以毫不夸张的说,2017年可能会成为“AR元年”!
如何开发AR增强现实应用与产品的更多相关文章
- 如何使用JavaScript开发AR(增强现实)移动应用 (一)
本文封面配图是去年Jerry看的一部电影<异形:契约>的剧照. 所谓AR(Augmented Reality), 即增强现实,是一种将通过计算机渲染出的虚拟图像与真实世界巧妙融合的手段,背 ...
- AR增强现实开发介绍(续)
AR增强现实开发介绍(续) ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解.获取.下载增强现实插件开始.目前全世界使用量最大公认最好的增强现实插件是高通 ...
- AR增强现实开发介绍
AR增强现实开发介绍 ---理论篇 AR增强现实开发最近做一些AR增强现实的内容,一些普及性的内容,与大家分享. 一: 什么是AR增强现实技术: 是一种将真实世界信息和虚拟世界信息“无缝”集成的新 ...
- 《虚拟伙伴》AR增强现实应用开发总结
一.概述 1.1选题背景 随着时代的发展,人们的生活节奏越来越快,生活质量也越来越高,但却在繁忙之中忽略或者忘记了关心自己成长时代最重要或者最正确的事情和道理.虽然现在有很多社交平台,如微博,微信,f ...
- 小兔伴伴家庭动物园AR智能早教产品上市
2016年6月,经过乐卓大家庭所有人的共同努力,公司旗下首款新品——小兔伴伴之<家庭动物园>3D智能学习卡正式面世. 每个孩子都应该在合适的时间去体验丰富的声音.色彩和动作,<家庭动 ...
- AR图像识别 AR识别图像 AR摄像头识别 外包开发 AR识别应用开发就找北京动点软件
当绝大多数手机厂商还在追求后置双摄拍照的时候,已经有人开始潜心研究AR手机了.刚刚结束的美国消费电子展上,华硕发布了全新的ZenFone AR手机,配备5.7英寸2K屏.骁龙821处理器.8GB内存, ...
- HMS Core携手厦门大学打造AR增强现实技术
HMS Core AR Engine团队联手厦门大学信息学院,与专业学生面对面深度交流行业发展与前沿成果.双方共同编写行业知识教材,引导学生开发AR游戏实践,为未来AR.VR人才培养培育可复制的教学模 ...
- 中国IT人,你们是否从没想过开发一款伟大的产品?
我也是今年刚毕业的,一毕业就做了猎头,从开始实习到正式工作,迄今为止接触的IT技术人不下上千人了.这里面有腾讯.阿里巴巴.百度.360.金山.金蝶.用友.华为.惠普等从事自主研发的大牛,也有很多软通. ...
- AR(增强现实) 知识篇
增强现实(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.这种技术估计由1990年 ...
随机推荐
- 第四天 Java语言基础
一.函数的概念 1)什么函数 函数就是定义在类中的具有特定功能的一段独立小程序,并能被多次使用. 2)问题引入 在昨天讲述使用循环嵌套画出矩形.但有问题,每次要画矩形都要写很多重复性的代码,能不能将这 ...
- zookeeper源码 — 二、集群启动—leader选举
上一篇介绍了zookeeper的单机启动,集群模式下启动和单机启动有相似的地方,但是也有各自的特点.集群模式的配置方式和单机模式也是不一样的,这一篇主要包含以下内容: 概念介绍:角色,服务器状态 服务 ...
- Telerik控件集-2019.R1.SP1.All
Telerik 专注于微软.Net平台的表示层与内容管理控件,提供高度稳定性和丰富性能的组件产品DevCraft,并可应用在非常严格的环境中.Telerik拥有 Microsoft, HP, Alco ...
- quillJS 富文本编辑器源码分析系列1
quillJS 富文本编辑器目前是一款很火富文本编辑器,使用广泛,github 上面的 star 有 22,492,虽然说不以 star 论英雄,不过这可以说明它还是比较受欢迎的: 它的特点是:轻量, ...
- Boosting(提升方法)之XGBoost
XGBoost是一个机器学习味道非常浓厚的模型,在数学上非常规范,运用正则化.L2范数.二阶梯度.泰勒公式和分布式计算方法,对GBDT等提升树模型进行优化,不仅能处理更大规模的数据,而且运行效率特别高 ...
- SpringBoot进阶教程(二十九)整合Redis 发布订阅
SUBSCRIBE, UNSUBSCRIBE 和 PUBLISH 实现了 发布/订阅消息范例,发送者 (publishers) 不用编程就可以向特定的接受者发送消息 (subscribers). Ra ...
- 软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
一.网络编程 软件开发架构 C/S架构 C:客户端 想体验服务的时候才会去找服务端体验服务 S:服务端 24小时不间断的提供服务,即时监听,随时待命 B/S架构 B:浏览器 想体验服务的时候 ...
- 文件进行MD5计算
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- Vue.js 学习笔记 第1章 初识Vue.js
本篇目录: 1.1 Vue.js 是什么 1.2 如何使用Vue.js 本章主要介绍与Vue.js有关的一些概念与技术,并帮助你了解它们背后相关的工作原理. 通过对本章的学习,即使从未接触过Vue.j ...
- Android项目实战(五十四):zxing 生成二维码图片去除白色内边距的解决方案
目录:zxing->encoding->EncodingHandler类 中修改 createQRCode方法 private static final int BLACK = 0xff0 ...