劉涵劍 羅旭
【摘要】? ? 隨著科技與經(jīng)濟(jì)的發(fā)展,全世界各個(gè)地區(qū)的文化交流趨于緊密,人們對(duì)于藝術(shù)方面的追求與創(chuàng)作也呈現(xiàn)多元化的趨勢(shì)。而虛擬與增強(qiáng)現(xiàn)實(shí)技術(shù)在穩(wěn)步發(fā)展的同時(shí)正滲透于各個(gè)領(lǐng)域,為噴漆涂鴉藝術(shù)的發(fā)展與推廣提供了一條新的途徑。本文主要介紹了借助虛擬現(xiàn)實(shí)軟件開發(fā)引擎Unity 3D所設(shè)計(jì)的VR噴漆涂鴉系統(tǒng)的實(shí)現(xiàn)方案,通過對(duì)系統(tǒng)的框架與功能設(shè)計(jì)、3D建模、渲染技術(shù)和系統(tǒng)交互等多個(gè)技術(shù)方面進(jìn)行設(shè)計(jì)及分析此系統(tǒng)所潛在的問題,闡述了其實(shí)現(xiàn)的可行性,為以現(xiàn)代科技為載體的藝術(shù)創(chuàng)作形式的推進(jìn)與提升提供了新的思路與有效途徑。
【關(guān)鍵詞】? ? 虛擬現(xiàn)實(shí)? ? 噴漆涂鴉? ? 3D建模? ? 圖形渲染
一、系統(tǒng)總體設(shè)計(jì)
對(duì)于系統(tǒng)開發(fā)過程,采用快速原型模型。首先確定噴漆涂鴉系統(tǒng)的基本需求是實(shí)現(xiàn)涂鴉繪畫的功能,然后在對(duì)系統(tǒng)結(jié)構(gòu)框架快速分析的基礎(chǔ)上,根據(jù)基本需求編寫一個(gè)可大致實(shí)現(xiàn)這一功能的原型軟件。此階段暫時(shí)忽略最終系統(tǒng)對(duì)于某些更加具體的功能模塊上的細(xì)節(jié)要求,將考慮的重心放在需求分析階段所提出的能夠充分體現(xiàn)所要實(shí)現(xiàn)功能的基本特性,并對(duì)形成的原型進(jìn)行相應(yīng)的測(cè)評(píng)[1]。在原型系統(tǒng)的測(cè)試運(yùn)行期間,對(duì)所展現(xiàn)的效果與預(yù)期制定的涂鴉系統(tǒng)功能實(shí)現(xiàn)進(jìn)行對(duì)比分析,從而找出前一階段所出現(xiàn)的決策或技術(shù)上的錯(cuò)誤并加以修改與完善[2]。同時(shí)在原型系統(tǒng)的基礎(chǔ)上不斷增添新的功能需求,討論并制定新的修改與實(shí)現(xiàn)方案,根據(jù)明確的功能模塊需求對(duì)系統(tǒng)原型進(jìn)行迅速且完整地修正,反復(fù)迭代,一步步實(shí)現(xiàn)最終系統(tǒng)。
二、系統(tǒng)模塊組成
2.1場(chǎng)景模型模塊
此模塊主要作為虛擬現(xiàn)實(shí)場(chǎng)景中的仿真建筑物與自然景物,作為噴漆涂鴉的載體,從而更好地模擬現(xiàn)實(shí)中涂鴉的流程與操作步驟。考慮到此模塊中模型的數(shù)量較多,需采用合適的數(shù)據(jù)結(jié)構(gòu)與搜索算法,將其分區(qū)分類進(jìn)行存儲(chǔ),簡(jiǎn)化后續(xù)的功能拓展與管理。
2.2噴漆實(shí)現(xiàn)模塊
此模塊主要需實(shí)現(xiàn)用戶選擇不同種類的噴漆工具并在虛擬場(chǎng)景中進(jìn)行涂鴉創(chuàng)作的功能。因仿真的噴漆基本功能大致相同,主要的區(qū)別體現(xiàn)在其噴漆樣式的呈現(xiàn)上,所以可設(shè)計(jì)統(tǒng)一的接口,在降低系統(tǒng)的耦合度同時(shí),方便后續(xù)噴漆樣式種類的增添與新功能的拓展[3]。
2.3涂鴉存儲(chǔ)與展示模塊
涂鴉作為一種藝術(shù)的載體,應(yīng)該在系統(tǒng)中提供對(duì)其進(jìn)行存儲(chǔ)的功能,同時(shí)當(dāng)用戶需要進(jìn)行觀賞時(shí)可將作品展示出來。一種方案是將作為涂鴉載體的相關(guān)模型連同涂鴉以三維的方式一同保存在虛擬世界的用戶個(gè)人倉庫中,為用戶提供全景還原的涂鴉存儲(chǔ)形式,更利于后續(xù)的觀賞與學(xué)習(xí)等操作。
2.4社區(qū)交流模塊
搭建系統(tǒng)內(nèi)置的社區(qū)平臺(tái),可供不同地區(qū)的涂鴉藝術(shù)愛好者進(jìn)行交流、相互展示查閱涂鴉作品。此模塊可激發(fā)用戶在虛擬系統(tǒng)中進(jìn)行創(chuàng)作的熱情,促進(jìn)文化交流與藝術(shù)思維的碰撞,契合系統(tǒng)開發(fā)的初衷。
三、三維模型構(gòu)建
在虛擬場(chǎng)景中,用三維模型作為噴漆涂鴉的載體,而這些模型中大部分為虛擬建筑物,所以在模型制作軟件上采用與建筑方面有著密切聯(lián)系的3D Studio Max(簡(jiǎn)稱3D Studio Max)。為減少內(nèi)存開銷,著重突出可視效果展現(xiàn),在建模時(shí)對(duì)于虛擬場(chǎng)景中用戶很少交互或觀察到的模型,進(jìn)行適當(dāng)簡(jiǎn)化,并盡量用參數(shù)化的方法進(jìn)行構(gòu)建。
為進(jìn)一步獲得高效率的渲染運(yùn)算,此系統(tǒng)采用LOD(Levels of Detail)技術(shù)。LOD可根據(jù)虛擬場(chǎng)景中物體模型與攝像機(jī)的距離而調(diào)用不同復(fù)雜度的模型,遠(yuǎn)距離物體使用低模,近距離物體使用高模[4]。所以在模型制作時(shí),應(yīng)該根據(jù)不同精確度與復(fù)雜度的需求制作不同品質(zhì)的模型。同時(shí),為便于在集成系統(tǒng)中進(jìn)行統(tǒng)一管理與操作,對(duì)模型進(jìn)行合理化分割并分別建模。
四、系統(tǒng)功能設(shè)計(jì)與實(shí)現(xiàn)
系統(tǒng)開發(fā)引擎主要采用Unity3D,其為由Unity Technologies開發(fā)的面向多平臺(tái)的全面整合開發(fā)工具。首先將上一步由3D Studio Max制作好的模型添加到虛擬場(chǎng)景中,搭建一個(gè)適用于噴漆涂鴉的較為合理的場(chǎng)景布局。為更真實(shí)地模擬現(xiàn)實(shí)場(chǎng)景中的天氣、光線等自然環(huán)境因素對(duì)景觀的影響,在虛擬場(chǎng)景中添加Skybox(天空盒)和不同種類光源。
在場(chǎng)景布局的初步完成后,便進(jìn)入代碼編寫階段,通過編寫C#腳本代碼來實(shí)現(xiàn)用戶與虛擬場(chǎng)景的交互,其中包括菜單選擇、移動(dòng)和主要功能——涂鴉創(chuàng)作。菜單選擇可初步通過在UI中選擇創(chuàng)建一個(gè)“Dropdown”控件并編寫相應(yīng)代碼實(shí)現(xiàn)。UI界面的設(shè)計(jì)往往直接影響著用戶的體驗(yàn)。高品質(zhì)的UI設(shè)計(jì)不僅可以讓場(chǎng)景交互變得簡(jiǎn)單舒適,而且可以將涂鴉系統(tǒng)的個(gè)性化風(fēng)格體現(xiàn)出來[5]??紤]到用戶適應(yīng)性和場(chǎng)景限制方面所存在的問題,用戶在虛擬場(chǎng)景中可借助傳送的方式進(jìn)行移動(dòng),其步驟包括:用戶通過按壓手柄發(fā)射射線從而在場(chǎng)景中選擇一個(gè)傳送點(diǎn),并將此點(diǎn)所在的目標(biāo)物體進(jìn)行標(biāo)記;通過碰撞檢查此物體上是否掛載相關(guān)組件,若是則將其記錄為碰撞點(diǎn);將用戶在虛擬場(chǎng)景的位置傳送到碰撞點(diǎn)上。最后,為實(shí)現(xiàn)涂鴉噴漆各種各樣的顏色樣式等效果,需要借助采用ShaderLab編寫的Shader腳本來實(shí)現(xiàn)??紤]到當(dāng)前所設(shè)計(jì)系統(tǒng)中的模型大多是貼合生活的棱角較為分明的立體建筑或表面不規(guī)整的自然山體景物,而Surface Shader(表面著色器)對(duì)于實(shí)現(xiàn)描邊效果存在只適用于表面平緩模型的弊端[6],所以主要編寫Shader腳本的為Vertex/Fragment Shader (頂點(diǎn)/片斷著色器)。
五、圖像渲染優(yōu)化
在圖形渲染方面,為了提高系統(tǒng)性能,采用遮擋剔除技術(shù)(Occlusion Culling)和LOD技術(shù)。遮擋剔除技術(shù)的主要功能為:在物體進(jìn)入渲染管線之前,將攝像機(jī)視角內(nèi)看不到的物體進(jìn)行剔除,從而達(dá)到減少被渲染對(duì)象個(gè)數(shù)、降低每幀渲染時(shí)間的效果[7]。需要進(jìn)行遮擋剔除的區(qū)域是由一個(gè)個(gè)單元格構(gòu)成,而這些單元格是待剔除場(chǎng)景區(qū)域的進(jìn)一步分割。遮擋剔除與視錐體剔除 (Frustum Culling) 有一定區(qū)別。視錐體剔除只將相機(jī)視野外的物體渲染剔除掉,不剔除視野內(nèi)被遮擋的物體的渲染[8]。此系統(tǒng)將遮擋剔除作為視錐體剔除的一個(gè)補(bǔ)充,兩者共同應(yīng)用于圖形渲染以加強(qiáng)對(duì)性能方面的優(yōu)化。
LOD技術(shù)是在不對(duì)畫面流暢度和所需視覺效果造成影響的情況下,借助按層次簡(jiǎn)化模型的精細(xì)度來降低場(chǎng)景的幾何復(fù)雜性的方法提高CPU及渲染管線的效率。LOD技術(shù)的聚類算法可通過檢測(cè)模型相鄰頂點(diǎn)并將其聚類合并的方法來簡(jiǎn)化網(wǎng)格,因其不考慮原始網(wǎng)格的拓?fù)鋷缀谓Y(jié)構(gòu),可能生成的網(wǎng)格會(huì)非常粗糙[9]。由于此系統(tǒng)主要實(shí)現(xiàn)的功能是噴漆涂鴉的創(chuàng)作過程,對(duì)于在虛擬場(chǎng)景中處于用戶活動(dòng)范圍之外的景物模型的視覺效果要求不高,鑒于聚類算法實(shí)現(xiàn)簡(jiǎn)單且效率高的特點(diǎn),將其作為此系統(tǒng)實(shí)現(xiàn)LOD技術(shù)的主要算法。
六、結(jié)束語
本文基于虛擬現(xiàn)實(shí)的噴漆涂鴉藝術(shù)創(chuàng)作的設(shè)計(jì)與實(shí)現(xiàn),介紹了其相關(guān)的技術(shù),并借鑒市面上已有的類似系統(tǒng)的設(shè)計(jì)經(jīng)驗(yàn),給出了VR噴漆涂鴉系統(tǒng)的設(shè)計(jì)思路與方法。虛擬現(xiàn)實(shí)技術(shù)是一項(xiàng)將計(jì)算機(jī)虛擬世界以一種仿真的形式呈現(xiàn)給現(xiàn)實(shí)感官的實(shí)用技術(shù),它激發(fā)了人們天馬行空的想象,將各個(gè)領(lǐng)域與此技術(shù)結(jié)合,催生了諸多造福人類的創(chuàng)造性成果。可以展望,未來虛擬現(xiàn)實(shí)技術(shù)將與我們生活的各個(gè)方面相結(jié)合,發(fā)揮出其巨大的潛力。
參? 考? 文? 獻(xiàn)
[1]何聚厚,梁瑞娜,韓廣欣,肖鑫,梁玉帥.基于虛擬現(xiàn)實(shí)技術(shù)的深度學(xué)習(xí)場(chǎng)域模型構(gòu)建研究[J].電化教育研究,2019,40(01):59-66.
[2]張?jiān)?瀑布模型、快速原型模型和增量模型的對(duì)比[J].電子技術(shù)與軟件工程,2019(03):32.
[3]焦航濤.3d studio max建筑漫游動(dòng)畫制作流程[J].硅谷,2011(05):171.
[4]呂慧玲,李佩瑤,湯圣君,朱慶,許麗.BIM模型到多細(xì)節(jié)層次GIS模型轉(zhuǎn)換方法[J].地理信息世界,2016,23(04):64-70.
[5]陳昭霓.認(rèn)知心理學(xué)在UI界面設(shè)計(jì)中的應(yīng)用[J].包裝工程,2017,38(16):30-33.
[6]王傳鵬. 基于WebGL的建筑大模型實(shí)時(shí)顯示系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].華南理工大學(xué),2018.
[7]胡德龍. 虛實(shí)遮擋技術(shù)及實(shí)驗(yàn)驗(yàn)證研究[D].武漢理工大學(xué),2019.
[8]郭潔暢. 多種VR設(shè)備下的三維模型交互技術(shù)研究[D].杭州電子科技大學(xué),2018.
[9]周力虹,韓瀅瑩,屠曉梅.國(guó)內(nèi)外高校圖書館虛擬現(xiàn)實(shí)技術(shù)應(yīng)用對(duì)比研究[J].圖書與情報(bào),2017(04):1-7.