如何开发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年 ...
随机推荐
- Golang中使用lua进行扩展
前言 最近在项目中需要使用lua进行扩展,发现github上有一个用golang编写的lua虚拟机,名字叫做gopher-lua.使用后发现还不错,借此分享给大家. 数据类型 lua中的数据类型与go ...
- BZOJ1854: [Scoi2010]游戏 二分图
很早之前写的题了,发现没有更博,想了想,更一发出来. Orz ljss 这是冬令营上的例题...之后,我推出来了一种时间复杂度没有问题,空间复杂度没有问题的方法,额(⊙o⊙)…和给出的正解不同,但是能 ...
- 使用FileUpload实现Servlet的文件上传
简介 FileUpload 是 Apache commons下面的一个子项目,用来实现Java环境下的文件上传功能. FileUpload链接 FileUpload 是基于Apache的Commons ...
- hystrix 请求合并(6)
hystrix支持N个请求自动合并为一个请求,这个功能在有网络交互的场景下尤其有用,比如每个请求都要网络访问远程资源,如果把请求合并为一个,将使多次网络交互变成一次,极大节省开销.重要一点,两个请求能 ...
- 【SAP业务模式】之STO(一):业务背景和前台操作
所谓STO即两个关联公司之间的库存转储交易,一家公司发出采购订单向另一家公司做采购,然后在做发货.如此之后,两家公司有相应应收应付的票据,以及开票和发票校验等动作. STO分为一步法与两步法,因为一步 ...
- Flask导入静态文件问题
然而如果使用flask开发web,并且需要在本地导入已经写好的css js 文件或者image一系列,这些文件是静态文件,需要另外建一个文件夹static;并且在html文件修改导入方法,exampl ...
- koa+mysql+vue+socket.io全栈开发之前端篇
React 与 Vue 之间的对比,是前端的一大热门话题. vue 简易上手的脚手架,以及官方提供必备的基础组件,比如 vuex,vue-router,对新手真的比较友好:react 则把这些都交给社 ...
- ASP.NET Core开发者成长路线图
目录 ASP.NET Core开发者路线图RoadMap 免责声明 请给一个星星! ⭐ 路线图 资源 总结 贡献 许可协议 ASP.NET Core开发者路线图RoadMap 来源: MoienTaj ...
- Python3|ddt|unittest|浅议数据驱动测试
目录 1.DDT简介 2.data装饰器 3.unpack装饰器 4.file_data装饰器 5.总结 1.DDT简介 Data-Driven Tests(DDT)即数据驱动测试.它允许您通过不同的 ...
- java工作流引擎Jflow流程事件和流程节点事件设置
流程实例的引入和设置 关键词: 开源工作流引擎 Java工作流开发 .net开源工作流引擎 流程事件 工作流节点事件 应用场景: 在一些复杂的业务逻辑流程中需要在某个节点或者是流程结束后做一些 ...