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