高中的虛擬現(xiàn)實(shí)科技論文2000字(2)
高中的虛擬現(xiàn)實(shí)科技論文2000字篇二
Blender在虛擬現(xiàn)實(shí)領(lǐng)域中的應(yīng)用
摘要:本文介紹了開源三維軟件Blender在虛擬現(xiàn)實(shí)領(lǐng)域中的主要優(yōu)點(diǎn)及性能優(yōu)化方法,并通過Blender自帶Python API函數(shù)調(diào)用Blender建模引擎,從而實(shí)現(xiàn)虛擬場景三維模型的自動(dòng)生成。實(shí)驗(yàn)證明,該方案簡單易行,開發(fā)效率高并且具有良好的跨平臺(tái)特性。
關(guān)鍵詞:虛擬現(xiàn)實(shí);3D引擎;Blender
中圖分類號(hào):TP391.9
虛擬現(xiàn)實(shí)(Virtual Reality,簡稱VR)是20世紀(jì)末發(fā)展起來的一項(xiàng)集微電子技術(shù)、傳感與測量、計(jì)算機(jī)仿真于一體,利用計(jì)算機(jī)生成的一種虛擬環(huán)境,通過視、聽、觸覺,使用戶身臨其境,并能夠與之發(fā)生交互作用的技術(shù)。其實(shí)時(shí)性、沉浸性和交互性是VR技術(shù)的3個(gè)重要特征。交互性是指用戶與虛擬場景中各種對(duì)象相互作用的能力,是VR技術(shù)的基礎(chǔ),交互是否自然、實(shí)時(shí),決定了虛擬環(huán)境的真實(shí)程度和用戶置身其中的認(rèn)知能力。[1,2]目前,大多數(shù)虛擬現(xiàn)實(shí)是通過3Ds Max等建模軟件結(jié)合Vega Prime等仿真軟件來實(shí)現(xiàn),但其缺點(diǎn)是需要設(shè)計(jì)人員有很強(qiáng)的編程能力,不便于虛擬現(xiàn)實(shí)產(chǎn)品的快速開發(fā)。而Blender則很好的解決了這個(gè)難題。相較于其它虛擬現(xiàn)實(shí)軟件,Blender采用了模塊化的搭建過程,通過簡單的連線設(shè)置即可實(shí)現(xiàn)復(fù)雜的交互功能,非常方便對(duì)大型項(xiàng)目的快速開發(fā)。并且,Blender軟件自帶強(qiáng)大的建模功能,在模型和3D引擎的結(jié)合上具有更好的兼容性。
1Blender三維軟件簡介
與那些昂貴的3D軟件相比,Blender是款完全免費(fèi)而且開源的3D制作軟件。用戶可以隨意下載并可在多臺(tái)計(jì)算機(jī)上運(yùn)行。還可以下載Blender的源代碼,對(duì)程序進(jìn)行修改,將它應(yīng)用于各種領(lǐng)域,作為一款應(yīng)用軟件,Blender集成了用于制作各種3D內(nèi)容的工具套件,包括建模、渲染、動(dòng)畫、后期處理、游戲制作以及跨平臺(tái)3D交互制作等全方面的功能。它自帶的虛擬現(xiàn)實(shí)開發(fā)工具為Blender Game Engine(BGE),其集成了實(shí)時(shí)物理運(yùn)算和邏輯運(yùn)算引擎,可以開發(fā)手機(jī)游戲、PC游戲及虛擬現(xiàn)實(shí)展示產(chǎn)品,并且所有代碼均開源,方便編程能力強(qiáng)的人員進(jìn)行二次開發(fā)。BGE擁有十分強(qiáng)大的兼容性和可移植性,經(jīng)過了多次的版本更新,BGE目前可提供以下幾項(xiàng)主要功能[3]:(1)多平臺(tái)兼容性,包括CNU/Linux、Windows和Ma.OS等。(2)Logic Brick邏輯系統(tǒng)。(3)支持Python腳本系統(tǒng)。(4)支持CLSL2.0著色器規(guī)范。(5)支持Bullel等物理系統(tǒng)。(6)支持WAV等音頻文件。(7)支持實(shí)時(shí)陰影計(jì)算。(8)支持網(wǎng)絡(luò)通信和進(jìn)程節(jié)點(diǎn)設(shè)計(jì)。
2虛擬現(xiàn)實(shí)開發(fā)流程及注意事項(xiàng)
虛擬現(xiàn)實(shí)的開發(fā)流程主要可以分為以下幾個(gè)步驟:
虛擬現(xiàn)實(shí)的制作主要可分為虛擬場景的建立和在3D引擎中實(shí)現(xiàn)漫游。虛擬場景建??稍贐lender中完成,其自帶有強(qiáng)大的建模和材質(zhì)貼圖功能,與BGE的兼容性使得三維虛擬現(xiàn)實(shí)制作變得簡單輕松。
2.1前期準(zhǔn)備
為使虛擬場景效果逼真,前期的準(zhǔn)備工作要認(rèn)真進(jìn)行。首先需要繪制出盡量詳細(xì)的實(shí)際尺寸,并在現(xiàn)場拍攝收集高質(zhì)理的照片素材,以利于后期貼圖制作。
2.2模型制作
運(yùn)用Blender的可交互的多邊形建模及紋理應(yīng)用工具可以快速構(gòu)造高逼真的三維實(shí)體模型,并能夠?qū)δP瓦M(jìn)行實(shí)時(shí)優(yōu)化。從嚴(yán)格意義上說,程序中采用三角形模型能較快地提升3D引擎的計(jì)算速度。因?yàn)?D引擎在讀取網(wǎng)格后,CPU將只計(jì)算三角形的數(shù)量,所以即使使用了四邊形模型,運(yùn)行中單個(gè)四邊形也會(huì)被轉(zhuǎn)換為兩個(gè)三角形來參與計(jì)算,這就增加了雙倍的運(yùn)算負(fù)擔(dān)。
據(jù)測試,Blender能承受一個(gè)500000左右網(wǎng)格面的辨戲場景。在建模的過程中,應(yīng)盡可能地減少模型上點(diǎn)線面的數(shù)量,建議不要嘗試通過細(xì)分網(wǎng)格來為模型添加細(xì)節(jié)。
2.3材質(zhì)貼圖
場景模型建立完成之后,即可對(duì)模型賦予材質(zhì)。盡量使用標(biāo)準(zhǔn)材質(zhì),避免使用Vray、Mental Ray等高級(jí)材質(zhì)。在這里,物體的貼圖只允許使用:jpg、bmp、tga、png、dds這個(gè)幾種格式,不支持如tif、psd等類型的貼圖。
在制作紋理圖片時(shí),應(yīng)嘗試使用較小尺寸的紋理文件,以減小系統(tǒng)載入紋理時(shí)的內(nèi)存消耗,尺寸最好是2的n次方,例如512 x512。在表現(xiàn)物體細(xì)節(jié)時(shí),應(yīng)盡量使用法向貼圖,利用法向運(yùn)算來豐富模型的細(xì)節(jié),而不是使用網(wǎng)格模型。同理,高光貼圖也可直接替代著色器,完成物體表面的實(shí)時(shí)高光效果。BLender最大的優(yōu)勢在于它強(qiáng)大的材質(zhì)貼圖功能,使得模型更加逼真。因此在前期對(duì)圖片進(jìn)行搜集是必要的,
2.4燈光的設(shè)定
由于虛擬現(xiàn)實(shí)產(chǎn)品中的實(shí)時(shí)光影計(jì)算會(huì)消耗大量的資源,所以在制作環(huán)境物體時(shí)應(yīng)盡量利用陰影烘焙,以及AO烘焙。對(duì)于場景中人物的照明,則可以利用圖層來實(shí)現(xiàn)對(duì)單獨(dú)對(duì)象的照明,而不要嘗試去照亮整個(gè)場景。
同時(shí),還應(yīng)盡量調(diào)低陰影的緩沖值,利用Only Shadow屬性的燈光做實(shí)時(shí)的陰影渲染,并關(guān)閉燈光的高光照明,這樣就可以將資源節(jié)省下來,分配給其他運(yùn)算。[3]
2.5物理與邏輯
對(duì)于物體的Physics(物理)屬性設(shè)置,如果類型為Dynamic的物體過多,虛擬現(xiàn)實(shí)程序的運(yùn)行會(huì)變得令人驚訝的慢。同時(shí)在重力設(shè)計(jì)中,也應(yīng)盡量使用合適的重力值,如果重力設(shè)置過大將有可能使BGE的運(yùn)行結(jié)果超乎預(yù)料。
在Logic(邏輯)編輯中,還應(yīng)盡可能少用Collision和Touch類的觸發(fā)器,它們將極大地降低虛擬現(xiàn)實(shí)程序的運(yùn)算速度,可以通過添加一個(gè)不可見的Collision面來完成同樣的效果。同時(shí),對(duì)于一些無需碰撞計(jì)算的面或物體,一定要去掉其Collision屬性。要多利用Add Background Scene和Add Overlay Scene兩種場景促動(dòng)器,因?yàn)楹侠淼貓鼍胺峙淇梢杂兄诒苊獯罅康穆闊?/p>
2.6Python程序代碼
在Python代碼設(shè)計(jì)中,盡量少使用Drot和Dloc參數(shù)來調(diào)用運(yùn)動(dòng)促動(dòng)器,因?yàn)樗鼈兪前磶?jì)算的。[4]也就是說,同樣的虛擬現(xiàn)實(shí)程序在性能好的電腦上運(yùn)行得很快,而在性能較差的電腦上運(yùn)行會(huì)加倍的慢。
系統(tǒng)提供的結(jié)點(diǎn)可以滿足大多數(shù)邏輯運(yùn)算的要求,但不一定是性能最優(yōu)化的制作方案。再復(fù)雜的邏輯功能設(shè)計(jì)都可以用Python程序來簡化完成,而同樣的邏輯功能,使用Python代碼般都會(huì)比結(jié)點(diǎn)的運(yùn)行性能更快。
3Blender在虛擬現(xiàn)實(shí)中的應(yīng)用前景
隨著計(jì)算機(jī)硬件與軟件技術(shù)的不斷發(fā)展,虛擬現(xiàn)實(shí)必將越來越多的地方得到應(yīng)用。而Blender三維開源軟件平臺(tái)和Python編程語言可快速生成虛擬三維場景的特點(diǎn),也為Blender在虛擬現(xiàn)實(shí)領(lǐng)域的發(fā)展起了良好的推動(dòng)作用。再加上Python語言擁有眾多的數(shù)學(xué)分析、工程仿真等模塊,借助這些模塊編程可以實(shí)現(xiàn)多種仿真計(jì)算的優(yōu)化,更增強(qiáng)了Blender在虛擬現(xiàn)實(shí)開發(fā)中的功能。由于Blender三維軟件即可快速開發(fā)虛擬現(xiàn)實(shí)產(chǎn)品,又可提供強(qiáng)大擴(kuò)展性的特點(diǎn),其在虛擬現(xiàn)實(shí)領(lǐng)域必將獲得更多的應(yīng)用,具有很好的市場前景。
參考文獻(xiàn):
[1]汪成為,高文,王行仁.靈境(虛擬現(xiàn)實(shí))技術(shù)的理論、實(shí)現(xiàn)及應(yīng)用[M].北京:清華大學(xué)出版社,1996.
[2]沈殊璇,薄亞明.適合于科學(xué)計(jì)算的腳本語言Python[J].微計(jì)算機(jī)應(yīng)用,2002,9:289-291.
[3]羅聰翼.Blender權(quán)威指南[M].北京:機(jī)械工業(yè)出版社,2011,4.
[4]朱權(quán)潔.基于Blender引擎的礦山虛擬現(xiàn)實(shí)自動(dòng)建模與運(yùn)輸仿真研究[D].武漢:武漢科技大學(xué),2010.
作者簡介:張斌(1981-),男,碩士,主要研究方向?yàn)榻M合導(dǎo)航、非線性濾波和三維數(shù)字仿真技術(shù)。
看了“高中的虛擬現(xiàn)實(shí)科技論文2000字”的人還看: