现阶段做增强现实(AR技术)开发的人员大致可以分为三类:
1.主要研究增强现实相关的算法,可能会提供相关的开源SDK供其他开发者使用,推动行业技术进步。一般都是教育领域的AR研究人员在进行这部分的工作。
2.开发商业增强现实SDK或者增强现实浏览器,提供方便快捷平台给中小型开发者使用,控制行业上游。 一般都是大型AR公司的开发人员,在从事相关的开发工作。
3.利用商业SDK或开源SDk进行二次开发,寻求增强现实在商业上的应用。从事该方面工作的人员主要是小型AR公司或团队。
现在AR市场开展得比较好的国外公司主要有metaio、Total Immersion、高通、Layer,前面三个公司都有自己的商业SDK平台开放给开发者使用,分别是metaio的metaio SDK、Total Immsion的D’Fusion、以及高通的voforia 。而Layer则主要是进行AR浏览器的开发,metaio也有自己的AR浏览器。国内也有些有AR技术实力的公司从事增强现实开发控件的开发包等,如包括蓝师特、86AR、爱迪斯通等。
通过我们AR技术团队对增强现实SDK的研究与比较,总结出现在一个完善的AR SDK必须要具备以下接个特性:
1.图像、标志识别
2.人体、面部识别
3.三维环境追踪和投影(3D tracking and mapping)
4.支持多平台开发
5.内置三维渲染引擎
6.内置物理引擎
7.脚本支持
而前面介绍的几个商业SDK基本上都附合以上特性,在后面我们会对它们进行详细介绍,下面我们主要集中看一款开源的增强现实类库。
国内现在使用最广泛的开源类库就是ARToolKit,是C++做的增强现实的一个库,但是他只具备前面所说的1、5两个特性,由此可以看出商业与开源类库还是存在很大差距,为了使其支持Android、flash等多平台的开发,很多开发者基于VRToolKit进行封装,形成了以下类库,可以把它们统称为ARToolKit系的类库。
ARToolKit系的类库:
FLARToolkit:ARToolKit的Flash版本。
SLARToolkit :ARToolKit的Slverlight版本,可以支持Windows Phone开发。
andar:ARToolKit的Android版本。
osgart:ARToolKit的OSG版本。
nyartoolkit:ARToolKit的一个多语言包装版本,包括C#、JAVA等。
另外还有一些个人认为比较有特色的能够支持AR开发的一些开源库,包括PTAM、bazAR、Handheld AR、windage、DART、DroidAR、Mixare、OpenSpace3D、Goblin XNA、Augmented Reality FLOSS,有兴趣的朋友可以去它们网站了解其相关内容,或直接向我人AR技术研究团队交流,后续86AR技术研究团队还会挑出一些典型AR项目进行介绍。