陳幗鸞 劉建翰 高劉杰
【摘 要】本系統(tǒng)是提供給6-12歲少年兒童學(xué)習(xí)古詩(shī)詞的集交互式,娛樂(lè)性于一體的AR系統(tǒng),便于培養(yǎng)小孩開心學(xué)習(xí)的習(xí)慣。系統(tǒng)包含移動(dòng)端APP,精美詩(shī)詞圖形卡片。能給小孩提供美妙的學(xué)習(xí)古詩(shī)詞體驗(yàn),集AR古詩(shī)詞場(chǎng)景學(xué)習(xí)交互、游戲互動(dòng)、錄像拍照轉(zhuǎn)發(fā)等功能于一體的移動(dòng)應(yīng)用系統(tǒng)。
【關(guān)鍵詞】AR增強(qiáng)現(xiàn)實(shí);Unity3D;古詩(shī)詞
中圖分類號(hào): G613.2 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2018)35-0006-002
DOI:10.19694/j.cnki.issn2095-2457.2018.35.003
0 引言
當(dāng)今,在計(jì)算機(jī)應(yīng)用技術(shù)的影響下,傳統(tǒng)文化的教育方法也隨之添加了很多新元素,可以想象不久將來(lái)的教育方式是不同程度融合計(jì)算機(jī)科技、大數(shù)據(jù)技術(shù)、網(wǎng)絡(luò)技術(shù)、云計(jì)算技術(shù)等計(jì)算機(jī)技術(shù)。而隨著計(jì)算機(jī)視覺(jué)技術(shù)的發(fā)展,AR增強(qiáng)現(xiàn)實(shí)技術(shù)已經(jīng)逐漸融入到現(xiàn)今的教育中。以“賞中華詩(shī)詞、尋文化基因、品生活之美”從古人的智慧和情懷中汲取營(yíng)養(yǎng),涵養(yǎng)心靈,這是兒童學(xué)習(xí)古詩(shī)詞的最佳時(shí)期。增強(qiáng)現(xiàn)實(shí)技術(shù)是將虛擬場(chǎng)景或模型“擺放(添加)”在真實(shí)場(chǎng)景中,讓用戶體驗(yàn)到虛實(shí)融合的環(huán)境,使用戶感受到一個(gè)真實(shí)和虛擬混合的場(chǎng)景,并且能夠與虛擬的對(duì)象進(jìn)行交互。在兒童學(xué)習(xí)古詩(shī)詞領(lǐng)域,將AR技術(shù)與傳統(tǒng)文化教育相結(jié)合,這樣不僅符合認(rèn)知規(guī)律有效提升兒童的認(rèn)知能力,又能增加教育過(guò)程的創(chuàng)新性、娛樂(lè)性,能夠達(dá)到寓教于樂(lè)、快樂(lè)學(xué)習(xí)的效果。
本系統(tǒng)嚴(yán)謹(jǐn)選取適合6-12歲兒童的學(xué)習(xí)的古詩(shī)詞,根據(jù)古詩(shī)詞的意境及歷史背景,結(jié)合兒童認(rèn)知規(guī)律特點(diǎn),設(shè)計(jì)一款兒童古詩(shī)詞AR學(xué)習(xí)應(yīng)用系統(tǒng),可在電腦,手機(jī),平板等移動(dòng)設(shè)備進(jìn)行學(xué)習(xí)及游戲。
本系統(tǒng)采用Unity3d作為主要開發(fā)引擎,C#為開發(fā)語(yǔ)言,3dmax為三維建模工具,使用Vuforia實(shí)現(xiàn)基本的增強(qiáng)現(xiàn)實(shí)效果。系統(tǒng)基本實(shí)現(xiàn)功能包括:增強(qiáng)現(xiàn)實(shí)效果,UI交互,聲音系統(tǒng),動(dòng)畫系統(tǒng),語(yǔ)音識(shí)別召喚,拍照錄像微信朋友圈轉(zhuǎn)發(fā)等基本功能以及詩(shī)詞學(xué)習(xí)交互游戲特色功能。
1 三維虛擬場(chǎng)景的建立
1.1 模型的建立
采用3dmax為AR古詩(shī)詞系統(tǒng)構(gòu)建三維模型。針對(duì)詩(shī)詞的意境、歷史故事背景進(jìn)行場(chǎng)景建模和人物建模,美觀要符合兒童認(rèn)知特點(diǎn),其次要求模型完整精美的同時(shí)盡量節(jié)省資源,讓應(yīng)用更流暢。
圖1 《詠鵝》場(chǎng)景三維模型
1.2 模型的優(yōu)化
項(xiàng)目中往往要在時(shí)效性和呈現(xiàn)效果中進(jìn)行取舍。建立完場(chǎng)景模型后,需要比較多的面數(shù)來(lái)達(dá)到逼真的效果。但當(dāng)模型中面數(shù)數(shù)目超過(guò)系統(tǒng)的計(jì)算能力時(shí),虛擬場(chǎng)景將無(wú)法及時(shí)完成幀處理,從而破壞了場(chǎng)景切換的平滑性。為了提高運(yùn)行系統(tǒng)的時(shí)效性,需要減少數(shù)據(jù)庫(kù)中的多邊形消耗并對(duì)模型進(jìn)行簡(jiǎn)化處理。
三維模型優(yōu)化有很多的技巧,主流的有LOD技術(shù)優(yōu)化模型,這種技術(shù)在圖形繪制中主要會(huì)通過(guò)計(jì)算目標(biāo)視點(diǎn)的距離遠(yuǎn)近而在這些模型細(xì)節(jié)中進(jìn)行切換,從而隨時(shí)地改變場(chǎng)景的復(fù)雜度。運(yùn)用LOD技術(shù)不但能滿足模型的視覺(jué)要求,并且使模型的繪制幀速度提高了,從而提高了系統(tǒng)的時(shí)效性。
1.3 預(yù)制體的制作
對(duì)于可以重復(fù)使用的人物或場(chǎng)景模型,應(yīng)為它建立一系列的動(dòng)畫,并做為預(yù)制體。對(duì)于可重復(fù)的創(chuàng)建具有相同結(jié)構(gòu)的游戲?qū)ο?,我們稱為預(yù)制體。在本項(xiàng)目中,為了節(jié)省資源,達(dá)到優(yōu)化的目的??梢允褂妙A(yù)制體功能,然后為模型制作一些列的動(dòng)畫,在具體的場(chǎng)景和模型上利用Unity的Mecanim動(dòng)畫系統(tǒng),對(duì)動(dòng)畫進(jìn)行重定向,把動(dòng)畫從一個(gè)角色模型應(yīng)用到另一個(gè)角色模型上,從而實(shí)現(xiàn)資源的合理優(yōu)化。
2 Vuforia與Unity的結(jié)合
2.1 增強(qiáng)現(xiàn)實(shí)效果的實(shí)現(xiàn)
Vuforia是由高通公司推出的針對(duì)移動(dòng)設(shè)備擴(kuò)增實(shí)境應(yīng)用的軟件開發(fā)工具包,一款供開發(fā)者開發(fā)的AR SDK,移動(dòng)設(shè)備平臺(tái)包括Android,IOS和通用Windows平臺(tái)(UWP)。它利用計(jì)算機(jī)視覺(jué)技術(shù)實(shí)時(shí)識(shí)別和捕捉平面圖像或簡(jiǎn)單的三維物體,然后允許開發(fā)者通過(guò)調(diào)用照相機(jī)取景器,把虛擬對(duì)象放置并調(diào)整對(duì)象在鏡頭前真實(shí)背景上的位置。Vuforia通過(guò)計(jì)算、處理識(shí)別圖形(主要包括:灰度化、色階計(jì)算、錨點(diǎn)記錄等),然后將識(shí)別圖(jpg或png)上傳至Vuforia數(shù)據(jù)庫(kù)。這樣,每一張識(shí)別圖在Vuforia的數(shù)據(jù)庫(kù)中都有一個(gè)唯一確定的ID。在實(shí)際開發(fā)過(guò)程中,將特定的ID與特定的三維模型相映射,當(dāng)運(yùn)行程序的時(shí)候,攝像頭掃描到特定的識(shí)別圖,即可根據(jù)與ID的對(duì)應(yīng)來(lái)獲得相應(yīng)的三維模型。
在實(shí)際的開發(fā)中,我們主要使用到Vuforia的兩個(gè)功能模塊:Image Targets(圖片跟蹤)和Multi-Image Targets(多圖跟蹤)。
2.2 Image Targets(圖片跟蹤)
跟蹤目標(biāo)為二維的圖像形式。Vuforia是能夠加以識(shí)別并捕捉擁有比特?cái)?shù)據(jù)的目標(biāo)。Vuforia使用自己的算法來(lái)計(jì)算識(shí)別圖的特征錨點(diǎn),此外,Vuforia不需要識(shí)別圖的特征點(diǎn)完全符合數(shù)據(jù)中心的數(shù)據(jù),只要目標(biāo)圖片還在攝像頭的范圍內(nèi)即可,從而增強(qiáng)了跟蹤效果。Targets是提前在Target Management System中輸入的JPG或PNG圖片。把這些數(shù)據(jù)保存在Vuforia數(shù)據(jù)庫(kù)中并在程序運(yùn)行時(shí)加以提取。
在制作AR卡片的時(shí)候,即識(shí)別圖片時(shí),應(yīng)該盡量制作細(xì)節(jié)里棱角比較多,棱角分布較均勻,圖片單個(gè)元素很小。這樣獲得5星的識(shí)別圖,有以下好處:(1)識(shí)別圖越容易識(shí)別;(2)識(shí)別出來(lái)的物體(模型)不會(huì)出現(xiàn)抖動(dòng);(3)識(shí)別速度更快。另外我們?cè)谠O(shè)計(jì)識(shí)別圖時(shí)應(yīng)該符合每一首古詩(shī)AR的三維場(chǎng)景模型,做到高度對(duì)應(yīng),這樣產(chǎn)生的增強(qiáng)現(xiàn)實(shí)效果更為的驚艷。
2.3 Unity實(shí)現(xiàn)交互功能
利用Unity3D的功能組件來(lái)實(shí)現(xiàn)相應(yīng)的功能開發(fā)。
(1)UGUI用于實(shí)現(xiàn)界面的UI,例如朗誦詩(shī)詞功能、朗誦譯文功能以及顯示詩(shī)詞內(nèi)容及譯文內(nèi)容。UI設(shè)計(jì)盡量簡(jiǎn)單清晰,使用世界坐標(biāo)的UI,合理分布在場(chǎng)景中,并且做到當(dāng)用戶移動(dòng)圖片時(shí),UI隨之調(diào)整位置及角度。
(2)用圓形準(zhǔn)心做為交互的觸發(fā)器,當(dāng)準(zhǔn)心移到可交互的對(duì)象時(shí),準(zhǔn)心會(huì)有填充,填充結(jié)束,交互啟動(dòng)??紤]到用戶對(duì)象是6-12歲兒童,手部力量不大,因此需要兩只手握住移動(dòng)設(shè)備。此時(shí),如果做成觸碰移動(dòng)設(shè)備進(jìn)行交互是有損用戶體驗(yàn)的。因此利用圓形準(zhǔn)心來(lái)觸發(fā)交互,會(huì)增加應(yīng)用的合理性和用戶體驗(yàn)。
(3)動(dòng)畫交互功能。利用Unity的Mecanim動(dòng)畫系統(tǒng),根據(jù)每首詩(shī)詞對(duì)應(yīng)的故事情節(jié)在Animator Controller里面設(shè)計(jì)動(dòng)畫播放的狀態(tài)及觸發(fā)條件,再通過(guò)腳本進(jìn)行邏輯控制,從而把交互動(dòng)畫符合故事情節(jié)安排,增加學(xué)習(xí)系統(tǒng)的趣味性和可觀感性。
(4)為了使用戶有堅(jiān)持學(xué)習(xí),互相分享。在Unity項(xiàng)目中導(dǎo)入微信接口,實(shí)現(xiàn)微信轉(zhuǎn)發(fā)功能。我們可以使用ShareSDK實(shí)現(xiàn)此功能。首先導(dǎo)入ShareSDK,創(chuàng)建一個(gè)按鈕UI作為分享按鈕實(shí)現(xiàn)分享鏈接,還有創(chuàng)建一個(gè)文本UI來(lái)顯示分享返回信息。給場(chǎng)景內(nèi)的攝像機(jī)(或者其他任意Gameobject)添加ShareSDK腳本,同時(shí)創(chuàng)建一個(gè)腳本加載在攝像機(jī)上??梢匀ob平臺(tái)官網(wǎng)注冊(cè)一個(gè)賬號(hào),添加一個(gè)應(yīng)用后獲得ShareSDK腳本需要填寫的AppKey和AppSecret。
(5)語(yǔ)音召喚功能。通過(guò)移動(dòng)設(shè)備的麥克風(fēng)獲取語(yǔ)音信息,識(shí)別語(yǔ)音信息來(lái)加載不同的詩(shī)詞場(chǎng)景,從而使得學(xué)習(xí)系統(tǒng)更多樣性,更豐富的交互性。本項(xiàng)目使用的是飛訊SDK,通過(guò)在Unity項(xiàng)目加載飛訊的語(yǔ)音識(shí)別SDK,實(shí)現(xiàn)語(yǔ)音召喚功能。
此外還使用了Unity的粒子系統(tǒng)用于實(shí)現(xiàn)粒子特效,例如火把,煙花,燭光等效果。
3 系統(tǒng)架構(gòu)設(shè)計(jì)
本系統(tǒng)運(yùn)行于Android或者IOS平臺(tái)。利用平臺(tái)的GPU實(shí)時(shí)渲染功能,將模型渲染到虛擬的三維空間當(dāng)中。
將識(shí)別圖數(shù)據(jù)和模型數(shù)據(jù)都加載到移動(dòng)平臺(tái)的內(nèi)存中,在程序運(yùn)行的時(shí)候,通過(guò)內(nèi)存加載,來(lái)得到相應(yīng)的數(shù)據(jù),當(dāng)詩(shī)詞場(chǎng)景比較多的時(shí)候,也可以把識(shí)別圖片及場(chǎng)景加載到Vuforia的云平臺(tái),進(jìn)行實(shí)時(shí)加載。
在Vuforia中通過(guò)攝像頭來(lái)獲取識(shí)別圖像,通過(guò)Image Target來(lái)匹配識(shí)別圖與場(chǎng)景模型,產(chǎn)生增強(qiáng)現(xiàn)實(shí)效果。
最后利用Unity3D游戲引擎實(shí)現(xiàn)交互功能。
【參考文獻(xiàn)】
[1]基于AR技術(shù)的教育產(chǎn)品的開發(fā)研究[J].汪騰浪,田元.軟件導(dǎo)刊.2017,16(6):82-84.
[2]一種基于Unity3D的移動(dòng)增強(qiáng)現(xiàn)實(shí)自動(dòng)導(dǎo)覽方法[D].羅永東,張淑軍.計(jì)算機(jī)與數(shù)字工程,2015.
[3]基于HTC VIVE虛擬校園漫步系統(tǒng)——以中山職業(yè)技術(shù)學(xué)院為例[J].陳幗鸞等.2017,10,63-64.