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. Dubbo中SPI扩展机制解析

    dubbo的SPI机制类似与Java的SPI,Java的SPI会一次性的实例化所有扩展点的实现,有点显得浪费资源. dubbo的扩展机制可以方便的获取某一个想要的扩展实现,每个实现都有自己的name, ...

  2. Elasticsearch笔记三之版本控制和插件

    版本控制 1:关系型数据库使用的是悲观锁,数据被读取后就被锁定其他的线程就无法对其进行修改. 2:ex使用的是乐观锁,数据被读取后其他程序还可以对其进行修改,而执行修改时发现此数据已经被修改则修改就会 ...

  3. cocoapods安装及使用其中 添加新源: gem sources -a https://ruby.taobao.org/

    一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库. 二.安装 由于 ...

  4. iOS 远程推送通知 详解

    1: ios本地通知和远程通知 http://wangjun.easymorse.com/?p=1482 2: 苹果远程通知服务申请激活例图 (外国佬写的.) http://mobiforge.com ...

  5. H5单张、多张图片上传

    前言 今天我们聊一聊图片上传,单张Or多张 ,如今,各大图片上传插件数不胜数,例如:Jquery的 verupload.js,jQuery File Upload.Uploadify.jQuery.f ...

  6. JAVA基础第二章-java三大特性:封装、继承、多态

    业内经常说的一句话是不要重复造轮子,但是有时候,只有自己造一个轮子了,才会深刻明白什么样的轮子适合山路,什么样的轮子适合平地! 我将会持续更新java基础知识,欢迎关注. 往期章节: JAVA基础第一 ...

  7. Java注解(一):介绍,作用,思想及优点

    “注解优先于命令模式”-出自<Effective Java> Java 注解,从名字上看是注释,解释.但功能却不仅仅是注释那么简单.注解(Annotation) 为我们在代码中添加信息提供 ...

  8. java游戏开发杂谈 - java编程怎么学

    java语言包含很多的知识点,我们并不需要把java语言的知识点都学全了,才开始编程.      你只需要了解: 1,java的数据类型和变量定义 2,类和对象的初步印象. 3,if-else, wh ...

  9. 聊聊 JUC 并发包

    今天开始我们聊聊 Java 并发工具包中提供的一些工具类,本文主要从并发同步容器和并发集合工具角度入手,简单介绍下相关 API 的用法与部分实现原理,旨在帮助大家更好的使用和理解 JUC 工具类. 在 ...

  10. Asp.Net Core Web应用程序—探索

    前言 作为一个Windows系统下的开发者,我对于Core的使用机会几乎为0,但是考虑到微软的战略规划,我觉得,Core还是有先了解起来的必要. 因为,目前微软已经搞出了两个框架了,一个是Net标准( ...