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. Java注解Retention、Documented、Target的含义

    Retention注解 Retention(保留)注解说明,这种类型的注解会被保留到那个阶段. 有三个值: 1.RetentionPolicy.SOURCE -- 这种类型的Annotations只在 ...

  2. js生成带logo的二维码

    作为一名java程序员,一直以来都是使用服务端生成二维码,最近接触前端的设计,感觉二维码这块如果放到前端去生成,一方面可以减轻服务端的压力,访问带宽,另一方面,前端页面控制比较顺畅 闲话少叙,说下我的 ...

  3. 【构造】Bzoj1432[ZJOI2009]Function

    Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1   ...

  4. appium 出现报错“A new session could not be created. (Original error: Requested a new session but one was in progress)”的解决方式!

    报错点:selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Ori ...

  5. 利用face_recognition库裁取人脸

    from PIL import Image import face_recognition # Load the jpg file into a numpy array image = face_re ...

  6. 你真的了解String吗?(修正版)

    修正前:new出来的对象,会在堆中存放真正的值: 大错特错!!!! 修正后:new出来的对象,堆存放的并不是真正的值,而是常量池中字符串常量的地址. 一.抛砖引玉 ​ 不知道大家在做面试题时是否会遇到 ...

  7. BF-9000 BMC任务关键型应急通信系统

    一.系统简介 BF-9000 BMC任务关键型应急通信系统,凝聚北峰通信近30年专网通信与应急通信研发的经验,并结合用户实际需求和应用场景所打造. 整体设计思路是采用骨干网.前指网.分队战斗网三层组网 ...

  8. springboot中HandlerMethodArgumentResolver的使用

    springboot项目中在所有的controller方法中想增加token验证,即所有的方法都必须登陆有token之后才能访问.springboot封装了SpringMVC中的HandlerMeth ...

  9. Vue源码解析(二):数据驱动

    一.数据驱动: 数据驱动是vue.js最大的特点.在vue.js中,数据驱动就是当数据发生变化的时候,用户界面发生相应的变化,开发者不需要手动的去修改dom.数据驱动还有一部分是数据更新驱动视图变化. ...

  10. spring boot 2.0 Feign的客户端

    1.pom.xml <dependency> <groupId>org.springframework.cloud</groupId> <artifactId ...