現(xiàn)階段做增強(qiáng)現(xiàn)實(shí)(AR技術(shù))開(kāi)發(fā)的人員大致可以分為三類:
1.主要研究增強(qiáng)現(xiàn)實(shí)相關(guān)的算法,可能會(huì)提供相關(guān)的開(kāi)源SDK供其他開(kāi)發(fā)者使用,推動(dòng)行業(yè)技術(shù)進(jìn)步。一般都是教育領(lǐng)域的AR研究人員在進(jìn)行這部分的工作。
2.開(kāi)發(fā)商業(yè)增強(qiáng)現(xiàn)實(shí)SDK或者增強(qiáng)現(xiàn)實(shí)瀏覽器,提供方便快捷平臺(tái)給中小型開(kāi)發(fā)者使用,控制行業(yè)上游。 一般都是大型AR公司的開(kāi)發(fā)人員,在從事相關(guān)的開(kāi)發(fā)工作。
3.利用商業(yè)SDK或開(kāi)源SDk進(jìn)行二次開(kāi)發(fā),尋求增強(qiáng)現(xiàn)實(shí)在商業(yè)上的應(yīng)用。從事該方面工作的人員主要是小型AR公司或團(tuán)隊(duì)。
現(xiàn)在AR市場(chǎng)開(kāi)展得比較好的國(guó)外公司主要有metaio、Total Immersion、高通、Layer,前面三個(gè)公司都有自己的商業(yè)SDK平臺(tái)開(kāi)放給開(kāi)發(fā)者使用,分別是metaio的metaio SDK、Total Immsion的D’Fusion、以及高通的voforia 。而Layer則主要是進(jìn)行AR瀏覽器的開(kāi)發(fā),metaio也有自己的AR瀏覽器。國(guó)內(nèi)也有些有AR技術(shù)實(shí)力的公司從事增強(qiáng)現(xiàn)實(shí)開(kāi)發(fā)控件的開(kāi)發(fā)包等,如包括藍(lán)師特、86AR、愛(ài)迪斯通等。
通過(guò)我們AR技術(shù)團(tuán)隊(duì)對(duì)增強(qiáng)現(xiàn)實(shí)SDK的研究與比較,總結(jié)出現(xiàn)在一個(gè)完善的AR SDK必須要具備以下接個(gè)特性:
1.圖像、標(biāo)志識(shí)別
2.人體、面部識(shí)別
3.三維環(huán)境追蹤和投影(3D tracking and mapping)
4.支持多平臺(tái)開(kāi)發(fā)
5.內(nèi)置三維渲染引擎
6.內(nèi)置物理引擎
7.腳本支持
而前面介紹的幾個(gè)商業(yè)SDK基本上都附合以上特性,在后面我們會(huì)對(duì)它們進(jìn)行詳細(xì)介紹,下面我們主要集中看一款開(kāi)源的增強(qiáng)現(xiàn)實(shí)類庫(kù)。
國(guó)內(nèi)現(xiàn)在使用最廣泛的開(kāi)源類庫(kù)就是ARToolKit,是C++做的增強(qiáng)現(xiàn)實(shí)的一個(gè)庫(kù),但是他只具備前面所說(shuō)的1、5兩個(gè)特性,由此可以看出商業(yè)與開(kāi)源類庫(kù)還是存在很大差距,為了使其支持Android、flash等多平臺(tái)的開(kāi)發(fā),很多開(kāi)發(fā)者基于VRToolKit進(jìn)行封裝,形成了以下類庫(kù),可以把它們統(tǒng)稱為ARToolKit系的類庫(kù)。
ARToolKit系的類庫(kù):
FLARToolkit:ARToolKit的Flash版本。
SLARToolkit :ARToolKit的Slverlight版本,可以支持Windows Phone開(kāi)發(fā)。
andar:ARToolKit的Android版本。
osgart:ARToolKit的OSG版本。
nyartoolkit:ARToolKit的一個(gè)多語(yǔ)言包裝版本,包括C#、JAVA等。
另外還有一些個(gè)人認(rèn)為比較有特色的能夠支持AR開(kāi)發(fā)的一些開(kāi)源庫(kù),包括PTAM、bazAR、Handheld AR、windage、DART、DroidAR、Mixare、OpenSpace3D、Goblin XNA、Augmented Reality FLOSS,有興趣的朋友可以去它們網(wǎng)站了解其相關(guān)內(nèi)容,或直接向我人AR技術(shù)研究團(tuán)隊(duì)交流,后續(xù)86AR技術(shù)研究團(tuán)隊(duì)還會(huì)挑出一些典型AR項(xiàng)目進(jìn)行介紹。