馬思源+周航
(大連工業(yè)大學(xué) 藝術(shù)與信息工程學(xué)院,遼寧 大連 116000)
摘 要:X3D虛擬現(xiàn)實(shí)技術(shù)可以在計(jì)算機(jī)中進(jìn)行三維立體動(dòng)畫(huà)設(shè)計(jì),是目前游戲動(dòng)畫(huà)設(shè)計(jì)開(kāi)發(fā)的常用技術(shù)之一。在計(jì)算機(jī)設(shè)備上,通過(guò)X3D虛擬現(xiàn)實(shí)軟件,創(chuàng)建三維的立體空間游戲動(dòng)畫(huà)場(chǎng)景,利用其中的各種節(jié)點(diǎn),進(jìn)行模型設(shè)計(jì)和場(chǎng)景設(shè)計(jì),可以提高虛擬現(xiàn)實(shí)軟件產(chǎn)品開(kāi)發(fā)的質(zhì)量和效率。本文將對(duì)基于x3d虛擬現(xiàn)實(shí)技術(shù)的游戲動(dòng)畫(huà)設(shè)計(jì)開(kāi)發(fā)進(jìn)行分析。
關(guān)鍵詞:X3D虛擬現(xiàn)實(shí);游戲;動(dòng)畫(huà)設(shè)計(jì)
中圖分類(lèi)號(hào):TP391.9 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1005-5312(2017)18-0160-01
利用X3D虛擬現(xiàn)實(shí)技術(shù)進(jìn)行游戲動(dòng)畫(huà)設(shè)計(jì)開(kāi)發(fā),可以保證軟件產(chǎn)品具有較高的質(zhì)量,讓用戶感受到虛擬現(xiàn)實(shí)技術(shù)的魅力,使其可以在模擬現(xiàn)實(shí)的游戲場(chǎng)景中,與虛擬模型和虛擬場(chǎng)景進(jìn)行游戲交互,獲得較為真實(shí)的游戲體驗(yàn)。X3D虛擬現(xiàn)實(shí)技術(shù)在視覺(jué)、聽(tīng)覺(jué)、畫(huà)面感等方面的營(yíng)造上都有較為出色的表現(xiàn),可以獲得接近真實(shí)的較為自然的效果,是目前使用較多的動(dòng)畫(huà)設(shè)計(jì)開(kāi)發(fā)技術(shù)之一。
一、游戲動(dòng)畫(huà)節(jié)點(diǎn)設(shè)中的關(guān)鍵技術(shù)
1.復(fù)雜幾何節(jié)點(diǎn)設(shè)計(jì)。X3D虛擬現(xiàn)實(shí)技術(shù)中的節(jié)點(diǎn)設(shè)計(jì)主要包括基本節(jié)點(diǎn)、復(fù)雜節(jié)點(diǎn)、動(dòng)態(tài)感知節(jié)點(diǎn)等,其中復(fù)雜幾何節(jié)點(diǎn)設(shè)計(jì)是其中的重點(diǎn),特別是復(fù)雜幾何節(jié)點(diǎn)中的IndexedFaceSet“面”節(jié)點(diǎn)。通過(guò)該節(jié)點(diǎn)可以實(shí)現(xiàn)面的創(chuàng)建,既能夠創(chuàng)建立體幾何造型,又能組成實(shí)體模型,并對(duì)其著色。該節(jié)點(diǎn)一般作為geometry域的值出現(xiàn),在其定義過(guò)程中,首先定義一個(gè)“面”節(jié)點(diǎn)用于創(chuàng)建空間面造型,并根據(jù)設(shè)計(jì)要求對(duì)空間物體面的梭鏢和顏色進(jìn)行設(shè)置,從而確定空間面。還可以通過(guò)Appearance和Material節(jié)點(diǎn)對(duì)面節(jié)點(diǎn)的文理、明暗、透明度等進(jìn)行描述。
IndexedFaceSet面節(jié)點(diǎn)主要包括USE、DEF、coordIndex、ccw、solid、creaseAngle等子節(jié)點(diǎn)。其中DFE用于定義節(jié)點(diǎn)的名字,使其擁有唯一ID,方便在其他節(jié)點(diǎn)中進(jìn)行引用。USE則用于引用DFE的節(jié)點(diǎn)ID,忽略DFE的其他屬性,提高編碼效率。coordIndexed為節(jié)點(diǎn)提供坐標(biāo),起始編號(hào)為0,按一定順序進(jìn)行坐標(biāo)索引,并使用-1對(duì)不同多邊性的索引進(jìn)行分割。Ccw為面提供順、逆時(shí)針的方向索引,當(dāng)其值為“true”時(shí)表示逆時(shí)針,當(dāng)其值為“false”時(shí)可以翻轉(zhuǎn)solid及法線方向。Solid的值也是個(gè)布爾量,當(dāng)值為“true”時(shí),只構(gòu)建面的表面,當(dāng)值為“false”時(shí),面的正面和背面都需要構(gòu)建。CreaseAngle定義相連面的渲染方式角,當(dāng)值為0時(shí)銳利的渲染所有的邊,當(dāng)值為3.14時(shí),平滑的渲染所有的邊。
2.控制節(jié)點(diǎn)設(shè)計(jì)??刂萍狱c(diǎn)用于實(shí)現(xiàn)游戲場(chǎng)景的動(dòng)畫(huà)效果,比如模擬海浪運(yùn)動(dòng)、模擬四季變化過(guò)程中樹(shù)葉顏色的變化等。通過(guò)對(duì)控制節(jié)點(diǎn)進(jìn)行設(shè)點(diǎn),可以使游戲場(chǎng)景更加鮮活、真實(shí)。X3D虛擬現(xiàn)實(shí)技術(shù)提供了多個(gè)控制動(dòng)畫(huà)的補(bǔ)插器,PositionInterpolator是其中較為常用的位置補(bǔ)插器節(jié)點(diǎn)。該節(jié)點(diǎn)描述了一系列用于動(dòng)畫(huà)的關(guān)鍵值,不創(chuàng)造具體造型,通過(guò)在一組SFVec3f值之間進(jìn)行線性插值,使物體移動(dòng)起來(lái),形成動(dòng)畫(huà)。
二、斜拉橋場(chǎng)景的設(shè)計(jì)與開(kāi)發(fā)
斜拉橋場(chǎng)景設(shè)計(jì)是利用X3D虛擬現(xiàn)實(shí)技術(shù)對(duì)斜拉橋場(chǎng)景的規(guī)劃布局進(jìn)行設(shè)計(jì)。在設(shè)計(jì)思想上,融合了傳統(tǒng)開(kāi)發(fā)模式和漸進(jìn)式軟件開(kāi)發(fā)模式,創(chuàng)建出來(lái)的X3F斜拉橋場(chǎng)景能夠?qū)⑻摂M空間與現(xiàn)實(shí)空間相融合。其主要場(chǎng)景設(shè)計(jì)包括橋體、橋墩、引橋、拉線等,涉及到的造型除了斜拉橋本身,還包括河流,車(chē)輛等,要實(shí)現(xiàn)河水流動(dòng)和汽車(chē)行駛等動(dòng)畫(huà)效果。其設(shè)計(jì)結(jié)構(gòu)如圖1所示。
斜拉橋場(chǎng)景設(shè)計(jì)的要點(diǎn)遭遇場(chǎng)景造型設(shè)計(jì)的真實(shí)性和三維動(dòng)畫(huà)效果的自然性,只有做到這兩點(diǎn),才能讓用戶體現(xiàn)到較為真實(shí)的感覺(jué)。該場(chǎng)景設(shè)計(jì)采用漸進(jìn)式軟件開(kāi)發(fā)技術(shù),主要開(kāi)發(fā)過(guò)程包括場(chǎng)景和造型的設(shè)計(jì)、編程與調(diào)試。采用虛擬現(xiàn)實(shí)程序設(shè)計(jì)語(yǔ)言X3D開(kāi)發(fā)工具,對(duì)其進(jìn)行木塊化設(shè)計(jì)。通過(guò)關(guān)鍵節(jié)點(diǎn)的設(shè)計(jì)可以實(shí)現(xiàn)河水流動(dòng)、汽車(chē)行駛等三維動(dòng)畫(huà)效果,在造型設(shè)計(jì)上,要注意控制場(chǎng)景的光暗、紋理和透明度,使其具有真實(shí)的視覺(jué)效果。主要應(yīng)用的節(jié)點(diǎn)包括面節(jié)點(diǎn)、背景節(jié)點(diǎn)、坐標(biāo)變換節(jié)點(diǎn)、時(shí)間傳感器節(jié)點(diǎn)和動(dòng)態(tài)插補(bǔ)器節(jié)點(diǎn)等。在X3D虛擬現(xiàn)實(shí)技術(shù)的支持下,可以達(dá)到預(yù)期的設(shè)計(jì)效果。
三、結(jié)語(yǔ)
總而言之,利用X3D虛擬現(xiàn)實(shí)技術(shù)進(jìn)行游戲場(chǎng)景動(dòng)畫(huà)設(shè)計(jì)可以獲得較為真實(shí)的設(shè)計(jì)效果,給用戶帶來(lái)身臨其境的體驗(yàn),有利于提升游戲動(dòng)畫(huà)產(chǎn)品的競(jìng)爭(zhēng)力。
參考文獻(xiàn):
[1]湯天鵬.基于X3D的燈飾交互定制系統(tǒng)的研究[D].廣州:廣東工業(yè)大學(xué),2015.
[2]莫雨帆.虛擬現(xiàn)實(shí)漫游系統(tǒng)的研究和實(shí)現(xiàn)方法[D].武漢:武漢科技大學(xué),2012.
[3]張金釗,張金銳,張金鏑.X3D基本語(yǔ)法、文件結(jié)構(gòu)和編程思想[J].電腦編程技巧與維護(hù),2010(15):05-09.
[4]羅為君.基于XNA的虛擬現(xiàn)實(shí)三維引擎設(shè)計(jì)與實(shí)現(xiàn)[D].長(zhǎng)沙:湖南大學(xué),2010.