何映彤
[摘? ? ? ? ? ?要]? 隨著世界步入互聯(lián)網(wǎng)時(shí)代,人類的交流也進(jìn)入了新的領(lǐng)域,而基于Web的 3D虛擬實(shí)現(xiàn)技術(shù)將是一種很好的表現(xiàn)方式。但是Web上難以加載、實(shí)時(shí)顯示具有高仿效果的高精度模型,針對(duì)此情況設(shè)計(jì)一個(gè)3D智能人,在實(shí)現(xiàn)實(shí)時(shí)建模、實(shí)時(shí)顯示角色表情動(dòng)作與用戶互動(dòng)動(dòng)作的基礎(chǔ)上,解決在Web上實(shí)現(xiàn)實(shí)時(shí)顯示具有真實(shí)感效果的3D場(chǎng)景,同時(shí)有效降低對(duì)網(wǎng)絡(luò)和硬件的要求并提出新的展望。
[關(guān)? ? 鍵? ?詞]? Web 3D;實(shí)時(shí)顯示技術(shù);智能虛擬人
[中圖分類號(hào)]? TP391.9? ? ? ? ? ? ?[文獻(xiàn)標(biāo)志碼]? A? ? ? ? ? ? ? [文章編號(hào)]? 2096-0603(2019)12-0110-02
一、緒論
隨著網(wǎng)絡(luò)科技的迅速發(fā)展、虛擬現(xiàn)實(shí)技術(shù)的產(chǎn)生,Web 3D虛擬現(xiàn)實(shí)技術(shù)也相繼興起,它是以計(jì)算機(jī)網(wǎng)絡(luò)和計(jì)算機(jī)三維圖形學(xué)為基礎(chǔ)的網(wǎng)絡(luò)三維技術(shù)。Web 3D技術(shù)具備形象視覺展示、人機(jī)交互和對(duì)現(xiàn)實(shí)世界進(jìn)行模仿的功能,廣泛應(yīng)用于醫(yī)療保健、游戲行業(yè)、制造業(yè)和零售業(yè)等領(lǐng)域。而基于Web 3D的智能虛擬人設(shè)計(jì),不僅可以在網(wǎng)絡(luò)世界里通過第一或第三人稱視角進(jìn)行展示、交流,還可以讓用戶達(dá)到“沉浸—交互—構(gòu)想”的更高層次境界。但由于硬件的計(jì)算和渲染性能的限制,基于Web 3D的模型大小和真實(shí)感是兩個(gè)相互矛盾的方面。提高模型渲染真實(shí)感必定增加互聯(lián)網(wǎng)平臺(tái)的計(jì)算量,此時(shí)不對(duì)虛擬場(chǎng)景規(guī)模進(jìn)行縮小處理,那么就會(huì)增加文件本身的容量,實(shí)現(xiàn)這種具有真實(shí)感的高質(zhì)量的虛擬場(chǎng)景,對(duì)計(jì)算機(jī)的性能和網(wǎng)絡(luò)寬帶都有很高的要求;反之,擴(kuò)展角色的規(guī)模,在確保其文件容量值一定的情況下,則只有降低場(chǎng)景外觀的真實(shí)性,可見3D在Web上的實(shí)現(xiàn)還需突破瓶頸。
因此,本論文基于Web 3D智能人的角色,在互聯(lián)網(wǎng)平臺(tái)下對(duì)三維虛擬場(chǎng)景實(shí)現(xiàn)實(shí)時(shí)顯示技術(shù)進(jìn)行研究,同時(shí)在保證3D角色真實(shí)感效果下,有效降低對(duì)網(wǎng)絡(luò)和硬件的要求進(jìn)行研究。
二、 基于Web 3D智能人角色實(shí)時(shí)建模技術(shù)
本論文是通過3DS MAX軟件作為開發(fā)平臺(tái)進(jìn)行建模,考慮到網(wǎng)絡(luò)環(huán)境,在建模時(shí)要注意控制模型的精確度和導(dǎo)出文件的大小,以減小模型大小,利于網(wǎng)絡(luò)傳輸,從而進(jìn)一步實(shí)現(xiàn)基于Web 3D的實(shí)時(shí)顯示技術(shù),所以采用三角化算法對(duì)模型進(jìn)行簡(jiǎn)化。將模型中的非三角面轉(zhuǎn)化成三角拓?fù)浣Y(jié)構(gòu),盡可能地縮小原始模型和簡(jiǎn)化后模型的差異,以簡(jiǎn)化模型面數(shù)來降低模型精度,從用戶體驗(yàn)視覺上基本上看不到太大區(qū)別,達(dá)成模型優(yōu)化效果,加快Web中3D模型的圖像呈現(xiàn)和傳輸速度。
在建模完成后,將賦予角色貼圖。由于要繪制具有較高寫實(shí)度的角色,所以本模型采取紋理素材圖片疊加AO貼圖技術(shù),即改善角色貼圖陰影的方式代替圖像更多的細(xì)節(jié)。首先對(duì)模型進(jìn)行ID設(shè)置,如四肢設(shè)置為ID=1的材質(zhì)球,頭發(fā)設(shè)置為ID=2的材質(zhì)球。模型在賦予材質(zhì)后,將直接顯示出ID的效果。所以在對(duì)模型ID設(shè)置完成后,需要對(duì)材質(zhì)進(jìn)行添加位圖方式的編輯。先對(duì)模型增加UVW貼圖和展開UVW命令,控制模型與貼圖的嚴(yán)謹(jǐn)性;再結(jié)合Photoshop運(yùn)用紋理素材并繪制貼圖,將它作為基礎(chǔ)紋理放置在貼圖中;最后疊加AO圖層,通過素材合成嘴巴、眼睛、眉毛、衣服等。
三、智能人角色表情動(dòng)畫實(shí)時(shí)顯示技術(shù)
角色動(dòng)畫是對(duì)虛擬角色行為的描述。Web 3D智能人動(dòng)畫生成主要包含肢體動(dòng)畫和面部動(dòng)畫。為了保證Web 3D智能人在互聯(lián)網(wǎng)平臺(tái)上的實(shí)時(shí)顯示,采取骨骼蒙皮動(dòng)畫技術(shù)制作肢體動(dòng)畫,即對(duì)模型添加“骨骼”和“封套”命令操作,并對(duì)模型進(jìn)行動(dòng)畫驅(qū)動(dòng)控制,設(shè)定動(dòng)畫關(guān)鍵幀、調(diào)整運(yùn)動(dòng)速度曲線,使其能實(shí)現(xiàn)行走、搖頭、點(diǎn)頭、招手等動(dòng)畫動(dòng)作。在對(duì)模型添加骨骼和封套命令操作時(shí),考慮到真正能表現(xiàn)虛擬人運(yùn)動(dòng)的骨骼數(shù)目并不多,所以通過減少定義模型的骨骼,降低封套的復(fù)雜性結(jié)構(gòu),進(jìn)而以簡(jiǎn)化模型的文件大小來實(shí)現(xiàn)實(shí)時(shí)顯示的肢體動(dòng)畫。
同時(shí),采用變形器動(dòng)畫技術(shù)為模型添加面部動(dòng)畫,可以達(dá)成創(chuàng)建更逼真的角色表情仿真。添加一個(gè)表情時(shí),需要對(duì)原模型進(jìn)行復(fù)制操作,對(duì)復(fù)制出的模型進(jìn)行頂點(diǎn)或邊級(jí)別修改,關(guān)聯(lián)到對(duì)原模型的修改。通過對(duì)復(fù)制的模型修改成不同的情感特征,拾取獲得后需調(diào)節(jié)數(shù)值,其中數(shù)值0表示原模型不受復(fù)制模型的關(guān)聯(lián)影響;數(shù)值100表示原模型完全受復(fù)制模型的關(guān)聯(lián)影響,在界面中顯示出的是復(fù)制模型的表情。當(dāng)設(shè)置多個(gè)表情,同時(shí)對(duì)其進(jìn)行數(shù)值調(diào)整,原模型在界面顯示的是幾個(gè)表情的疊加情況。
四、角色場(chǎng)景實(shí)時(shí)顯示實(shí)現(xiàn)技術(shù)
(一)基于Web的3D瀏覽關(guān)鍵技術(shù)
現(xiàn)今已有網(wǎng)上瀏覽3D幾何模型的系統(tǒng)和直接3D可視化的瀏覽器,如3D STEP幾何模型瀏覽系統(tǒng)、Google瀏覽器等。通過Google瀏覽器PC客戶端的安裝,啟動(dòng)系統(tǒng)的用戶界面,三維模型就可以打開并展示在屏幕上,這種方法雖然可以實(shí)現(xiàn)3D模型在Web上的瀏覽,但是對(duì)如何可以實(shí)現(xiàn)基于Web的3D角色模型進(jìn)行實(shí)時(shí)顯示技術(shù)的瀏覽,現(xiàn)今的研究存在很多不足之處。本文通過上述幾章實(shí)現(xiàn)了對(duì)3D模型進(jìn)行實(shí)時(shí)建模的基礎(chǔ)后,再闡述在Web上實(shí)現(xiàn)實(shí)時(shí)顯示角色模型和最優(yōu)化可視場(chǎng)景。
(二)基于Web 3D的場(chǎng)景優(yōu)化
1.模型實(shí)時(shí)顯示優(yōu)化
基于眾多瀏覽器對(duì)三維效果實(shí)時(shí)顯示的限制要求,以及計(jì)算機(jī)三維圖像在網(wǎng)絡(luò)傳輸過程中的復(fù)雜運(yùn)算,3D可視化模型不能直接展示在瀏覽器上,需要將建立好的3D智能虛擬人通過3DS MAX軟件導(dǎo)出.WRL的格式,借用BS Contact VRML-X3D軟件進(jìn)行另存為.x3d的格式,在Web上即可觀察到3D智能人模型。但是此時(shí)發(fā)現(xiàn)角色并沒有正常實(shí)時(shí)顯示出來,而是以模型混搭著框架骨骼的形式顯示在用戶界面。由于骨骼的面積比較大,所以模型身體上多出面積被遮擋,嚴(yán)重影響了基于Web的3D實(shí)時(shí)顯示特性。
結(jié)合本次研究的實(shí)驗(yàn)發(fā)現(xiàn),通過在命令面板里選擇隱藏骨骼后,測(cè)試效果發(fā)現(xiàn)模型的顯示效果仍與之前的一樣,骨骼并沒有被隱藏掉。出現(xiàn)這個(gè)問題的原因是為角色模型建立的骨骼當(dāng)中包含的信息還有IK鏈對(duì)象信息、關(guān)節(jié)點(diǎn)信息。按類別隱藏,IK鏈對(duì)象信息與關(guān)節(jié)點(diǎn)信息并沒有包括在內(nèi),從而導(dǎo)致骨骼整個(gè)類別隱藏的失效。經(jīng)對(duì)此研究與分析,發(fā)掘出解決這個(gè)問題可以選擇模型后進(jìn)入對(duì)象屬性修改級(jí)別,按照建模時(shí)給骨骼的命名選擇需要隱藏的骨骼與其相關(guān)聯(lián)的信息要素,在確保這些骨骼類別信息完全選中后再按確定按鈕。在3DS MAX中選擇渲染進(jìn)行觀察,可以發(fā)現(xiàn),此時(shí)骨骼已被隱藏,具有真實(shí)感的3D智能虛擬人顯示在用戶界面。
2.燈光布置
自然界中的物體能夠被看到,是因?yàn)楣饩€映射于物體表面后反射到觀察者的眼中,物體外觀的材質(zhì)性質(zhì)和光源的屬性決定物體的顏色。該原理同樣適合于虛擬模型中,模型在沒有進(jìn)行任何燈光設(shè)置操作的情況下,通過在Web上瀏覽發(fā)現(xiàn),3D智能人皮膚比較暗淡,面部表情難以辨認(rèn),手臂處光澤度偏暗,沒有達(dá)到真實(shí)的視覺外觀。由于智能虛擬人本身不會(huì)發(fā)光,更不會(huì)有光線反射,所以此時(shí)模型沒有實(shí)時(shí)顯示出真實(shí)感效果。根據(jù)上述原理,對(duì)模型進(jìn)行光照計(jì)算,添加目標(biāo)聚光燈,它可以產(chǎn)生錐形照射區(qū),在照射區(qū)域外不受燈光的影響。為有效降低模型對(duì)網(wǎng)絡(luò)和硬件的要求,打開 “/強(qiáng)度/顏色/衰減”屬性欄,將“倍增”值設(shè)置為0.5。
3.攝像機(jī)設(shè)置
在Web上會(huì)發(fā)現(xiàn),定位的三維場(chǎng)景中并沒有從人眼所觀察到的角度將模型投影到正確的界面位置,顯示出的角色模型狀態(tài)呈現(xiàn)仰視效果。通過對(duì)攝像機(jī)的設(shè)置,可以解決這一問題,建立模型最優(yōu)視圖。3DS MAX軟件中攝像機(jī)的視覺范圍跟現(xiàn)實(shí)的攝像機(jī)鏡頭原理一致,展示出的結(jié)果與真實(shí)世界一樣具備立體感。所以在擺放攝像機(jī)的位置時(shí),要配合用戶的視覺習(xí)慣,使攝像機(jī)橫向配置于立體智能人模型。并對(duì)攝像機(jī)參數(shù)屬性進(jìn)行調(diào)節(jié),分別設(shè)置類型為目標(biāo)攝像機(jī)、鏡頭焦距為81.0 mm、視野為25.058度、近距范圍是17、遠(yuǎn)距范圍為550、目標(biāo)距離479.544。在攝像機(jī)視圖中觀察模型,保存后進(jìn)行導(dǎo)出測(cè)試,可以觀察到智能人在Web上顯示出正確的界面位置。
4.渲染優(yōu)化
3D智能人在實(shí)時(shí)建模完成以后,為了更好地觀察其外觀造型、肢體結(jié)構(gòu)和顏色紋理情況,需要對(duì)角色模型進(jìn)行渲染優(yōu)化處理,這里的實(shí)時(shí)渲染采用視錐剔除算法與背面剔除算法。虛擬智能人在無人機(jī)互動(dòng)操作時(shí),是以正面的方式呈現(xiàn)在瀏覽器上,這時(shí)可啟用背面剔除算法,對(duì)模型的所有背面多邊形進(jìn)行剔除,確保只渲染面向攝像機(jī)的多邊形。其中背面剔除算法中判斷背向多邊形,是通過模型中多邊形的法向量x以及在某一特定視點(diǎn)的多邊形向量y的內(nèi)積,如果得出的內(nèi)積數(shù)值小于零,則為背向多邊形;而視錐剔除算法,基本原理是將視錐剔除置于渲染管線程序階段,幾何變換階段和光柵化階段都能減少計(jì)算量,從而加速實(shí)現(xiàn)基于Web的3D模型實(shí)時(shí)顯示技術(shù)。采用上述兩種算法的結(jié)合,有效降低對(duì)網(wǎng)絡(luò)和硬件的要求,進(jìn)一步實(shí)現(xiàn)了基于Web的3D場(chǎng)景的實(shí)時(shí)顯示技術(shù)。
五、總結(jié)與展望
隨著對(duì)三維仿真模型技術(shù)要求的提高、Web 3D技術(shù)的深入,Web 3D在未來的領(lǐng)域需求應(yīng)用將會(huì)更加廣泛。本論文用一個(gè)3D智能人為例,在現(xiàn)今硬件和網(wǎng)絡(luò)技術(shù)暫時(shí)沒有進(jìn)一步提升的情況下,通過實(shí)時(shí)建模技術(shù)降低模型的大小,實(shí)現(xiàn)模型的真實(shí)性仿真效果的形象展示,并使之具備動(dòng)態(tài)交互顯示(動(dòng)作和表情的動(dòng)態(tài)實(shí)現(xiàn)),有效地降低對(duì)網(wǎng)絡(luò)和硬件的要求?;赪EB的3D瀏覽技術(shù)的使用方式免除了客戶端升級(jí)的繁瑣,但隨著移動(dòng)互聯(lián)網(wǎng)時(shí)代的到來,還存在眾多系統(tǒng)平臺(tái)、瀏覽器需要基于插件技術(shù)解決的問題,也存在對(duì)CPU硬件的高要求問題。所以,在今后的研究工作中需要更多關(guān)注對(duì)程序進(jìn)行并行化處理。
參考文獻(xiàn):
[1]夏良正.基于VRML的Web3D環(huán)境交互方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2010,19(10):250-252.
[2]艾達(dá),喬明明,李敏.Web 3D技術(shù)綜述[J]. 信息技術(shù)與網(wǎng)絡(luò)安全,2014(2):4-7.
[3]常村紅.三維虛擬人技術(shù)研究[J].數(shù)字技術(shù)與應(yīng)用,2012(3):74.
[4]蔡金梅.場(chǎng)景設(shè)計(jì)與三維動(dòng)畫之間的關(guān)系[J].計(jì)算機(jī)及論壇,2012(9):54.
[5]劉治國,王育.淺談向Google Earth發(fā)布3D模型的方法[J].信息技術(shù),2009(6):25-27.
編輯 馮永霞