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增强现实应用与产品的更多相关文章

  1. 如何使用JavaScript开发AR(增强现实)移动应用 (一)

    本文封面配图是去年Jerry看的一部电影<异形:契约>的剧照. 所谓AR(Augmented Reality), 即增强现实,是一种将通过计算机渲染出的虚拟图像与真实世界巧妙融合的手段,背 ...

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

    AR增强现实开发介绍(续) ---开发基础篇 开发增强现实技术,无论是商业级应用,还是面向幼儿教育的游戏产品,都需要从了解.获取.下载增强现实插件开始.目前全世界使用量最大公认最好的增强现实插件是高通 ...

  3. AR增强现实开发介绍

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

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

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

  5. 小兔伴伴家庭动物园AR智能早教产品上市

    2016年6月,经过乐卓大家庭所有人的共同努力,公司旗下首款新品——小兔伴伴之<家庭动物园>3D智能学习卡正式面世. 每个孩子都应该在合适的时间去体验丰富的声音.色彩和动作,<家庭动 ...

  6. AR图像识别 AR识别图像 AR摄像头识别 外包开发 AR识别应用开发就找北京动点软件

    当绝大多数手机厂商还在追求后置双摄拍照的时候,已经有人开始潜心研究AR手机了.刚刚结束的美国消费电子展上,华硕发布了全新的ZenFone AR手机,配备5.7英寸2K屏.骁龙821处理器.8GB内存, ...

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

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

  8. 中国IT人,你们是否从没想过开发一款伟大的产品?

    我也是今年刚毕业的,一毕业就做了猎头,从开始实习到正式工作,迄今为止接触的IT技术人不下上千人了.这里面有腾讯.阿里巴巴.百度.360.金山.金蝶.用友.华为.惠普等从事自主研发的大牛,也有很多软通. ...

  9. AR(增强现实) 知识篇

    增强现实(Augmented Reality,简称AR),是一种实时地计算摄影机影像的位置及角度并加上相应图像的技术,这种技术的目标是在屏幕上把虚拟世界套在现实世界并进行互动.这种技术估计由1990年 ...

随机推荐

  1. BZOJ_3083_遥远的国度_树链剖分+线段树

    BZOJ_3083_遥远的国度_树链剖分 Description 描述 zcwwzdjn在追杀十分sb的zhx,而zhx逃入了一个遥远的国度.当zcwwzdjn准备进入遥远的国度继续追杀时,守护神Ra ...

  2. BZOJ_1934_[Shoi2007]Vote 善意的投票

    BZOJ_1934_[Shoi2007]Vote 善意的投票 Description 幼儿园里有n个小朋友打算通过投票来决定睡不睡午觉.对他们来说,这个问题并不是很重要,于是他们决定发扬谦让精神.虽然 ...

  3. JavaScript对象的指向问题

    JavaScript对象的指向问题 标签(空格分隔): JavaScript 对象 在接触了JavaScript之后,我们常听到一句话就是一切皆对象,意思是说除了object以外,JavaScript ...

  4. appium--xpath定位元素用法

    一.xpath的使用场景: 自动化测试中经常对元素进行操作时,如果存在id.name.content_desc时,可通过appium框架提供的方法find_element_by_id/name/tag ...

  5. Uiautomator--出现报错“urllib3.exceptions.ProtocolError:<'Connection aborted.',error<10054,''>>”的解决方式!

    在运行uiautomator时,出现报错"urllib3.exceptions.ProtocolError:<'Connection aborted.',error<10054, ...

  6. 集群IPtables转发与防火墙

    子网集群通过接入公网的服务器Iptables转发上网 1. 对iptables进行初始化工作 清空filter表 iptables -F 清空nat表 iptables -t nat -F 默认禁止所 ...

  7. Android 7.0 存储系统—Vold与MountService分析(二)(转 Android 9.0 分析)

    Android的存储系统(二) 回顾:前贴主要分析了Android存储系统的架构和原理图,简要的介绍了整个从Kernel-->Vold-->上层MountService之间的数据传输流程, ...

  8. Docker 集群

    1.  理解swarm swarm(译:集群) 一个swarm是一组运行着Docker的机器,它们一起加入到一个集群.swarm中的机器既可以是物理机,也可以是虚拟机.在加入到一个swarm后,每台机 ...

  9. hive删除表和表中的数据

    hive删除表和表中的数据,以及按分区删除数据 hive删除表: drop table table_name; hive删除表中数据: truncate table table_name; hive按 ...

  10. requests使用“proxy”代理访问接口

    在requests中使用proxy代理访问 使用前先更新requests版本为支持socks的版本.   先pip安装对应库:  >> pip install -U requests[so ...