何鵬飛,賴春明
(湖南化工職業(yè)技術(shù)學院,湖南株洲 412011)
基于CS-soure游戲引擎虛擬化工廠仿真系統(tǒng)的開發(fā)
何鵬飛1,賴春明1
(湖南化工職業(yè)技術(shù)學院,湖南株洲 412011)
利用3dsmax進行化工廠設備的建模,利用CS-soure游戲引擎來展現(xiàn)化工設備的實景效果。具有很強的操作性及良好的現(xiàn)實場景效果。
虛擬現(xiàn)實;游戲引擎;CS-soure;化工廠;化工設備
化工生產(chǎn)的多樣性和復雜性賦予了化工廠的特殊性。其牽涉設備多,安全要求高。
企業(yè)培訓及學校教學實習等,存在較多的限制。虛擬化工廠可以再現(xiàn)化工廠的各種場景,各種設備和機器由于現(xiàn)實種種因素制約,不能夠很好的展現(xiàn)其結(jié)構(gòu)和形態(tài),通過計算機虛擬現(xiàn)實技術(shù)可以有效和方便的實現(xiàn)。也可為企業(yè)演練及學校教學提供場景練習。
虛擬現(xiàn)實技術(shù)是利用計算機模擬產(chǎn)生一個三維空間,提供使用者視覺、聽覺、觸覺等感官的模擬,讓使用者如同身歷其境一般,可以及時、沒有限制地觀察三度空間內(nèi)的事物。現(xiàn)今虛擬技術(shù)日亦成熟。各種虛擬開發(fā)工具應有盡有,而大多數(shù)的開發(fā)工具不是太過專業(yè)就是太過昂貴。而現(xiàn)今3D網(wǎng)絡游戲日亦發(fā)展,其場景生靈活現(xiàn),繪聲繪色。本身就是一個虛擬的世界。而這一切得得意于3D游戲引擎。游戲引擎因其良好的圖像效果使游戲更加的逼真。
計算機的發(fā)展催化了3D游戲的發(fā)展,3D游戲開發(fā)的難點再于三維技術(shù)及其中聲、光、影、粒子系統(tǒng)、物理碰撞的實現(xiàn)等等。許多游戲開發(fā)都需要這方面的技術(shù),于是專業(yè)的三維技術(shù)及相關用戶的交互軟件塊集出現(xiàn),它可以用在很多的游戲當中,這個包含諸多三維技術(shù)及交互的軟件塊集就稱之為游戲引擎,就像一臺汽車的發(fā)動機可以裝配在不同的汽當中。不同的游戲公司利用相同的游戲引擎可以做出不同的游戲。著名游戲CS-soure和CS-GO就是一個例子。其中使用的引擎就是由美國VAVLE公司開發(fā)的CS-source引擎(簡稱source引擎)。
CS-soure本是一款網(wǎng)絡游戲,其中應用的游戲引擎就是Source引擎,Source引擎是很復雜的3D引擎,擁有多套渲染器。Source引擎包含了很多不同的模組,開發(fā)者可以在引擎的源包中取出以及添加進其他的元素。
Source引擎有優(yōu)秀的光影效果。其渲染器是基于Microsoft Direct X 9.0的API,并借助Half-Life SL高階編程語言編寫引擎,Valve公司采用DirectX架構(gòu),對Shader2.0b甚至是Shader3.0 Model的支持。Source引擎對用戶開放,其集成的HAMMER編輯器可以方便的自己創(chuàng)造自己想的游戲。
source引擎因其起靈活性、良好的交互、完整的模塊集成給予開發(fā)者更多的空間。且source引擎面向用用戶授權(quán)。虛擬化工廠仿真系統(tǒng)引入source引擎,使開發(fā)更加簡單。更能提供良好的網(wǎng)絡效果。而生成的bsp文件,具有更好的移植性。建立化工廠仿真實景,設計流程圖如圖1所示。

圖1 設計流程圖
虛擬仿真的各種實物是利用虛擬模型來實現(xiàn)的。Source引擎特有的貼圖方式輻射度法線貼圖,可有效的展示實景的效果,又使系統(tǒng)在運行變的輕盈。Source引擎本身是可以做出一些模型的,但是對于復雜的模型,卻無能為力,這需要首先利用一些建模軟件進行建模。筆者所采用的是3dsmax軟件。3dsmax軟件建模靈活多變,正滿足了工廠的模型的多樣化和復雜性這一特點。3dsmax建立的模型更好的導入到Source引擎中,利用3dsmax對化工廠實景進行建模。3dsmax建模在移植到Source引擎中時,受到面片的限制,單個物體最好不要超過6 000個面。所以在用3dsmax在進行建模的時候,不能一味的追求細膩的效果,而過多增加設備的面片。所以在建模的時候盡可能精減面片,最好是用edit poly即多邊形建模方式去建。如下圖2利用3dsmax軟件建立的一個泵體模型。

圖2 edit poly泵體模型

圖3 泵體的面片統(tǒng)計數(shù)據(jù)
從圖3上可以看出此泵體面片為2 985片,而如果用其他建模方法,可能需要10萬甚至幾十萬的面片,當然面片越少越好。越少的面片在引擎中的表現(xiàn),其處理速度也越快。尤其當模型較多的時候,更加的占用電腦的資源。
類似的可以進行構(gòu)建更多的設備模型。模型不需要很精細,重要與之的配合的是貼圖,良好的貼圖可以很好的反應實物,我們在引擎中不是用過于精細的模型去表現(xiàn)一個物體的細節(jié),而是通過良好的貼圖去表現(xiàn)。模型的優(yōu)質(zhì)貼圖,最好在3dsmax中就做好,貼圖最好采用UVW貼圖的方式,把貼圖整合成一張圖片。比如說一個人物模型,其貼圖就是UVW貼圖方式。
類似的方法可建立的化工廠其中的一個機泵組的模型如圖4中所示。

圖4 機泵組的模型
4.1 Source引擎
Source引擎本身自帶了hammer編輯器,用來編譯自己的地圖文件。Source引擎所驅(qū)動的游戲就是由這個功能強大的編輯里完成的。我們利用Source引擎也是用hammer編輯器。把用3dsmax做好的模型文件,導入到這個hammer編輯器,然后編譯成*.bsp文件,這樣Source引擎就能夠讀取了。而我們做的模型就會展現(xiàn)在計算機中。展現(xiàn)出豐富的實景效果。

圖5 hammer編輯器
4.2 3dsmax模型的導入
用3dsmax做好的模型,不能直接導入到,hammer編輯器中,需要進行格式的轉(zhuǎn)換。
須將MAX文件輸出成SMD文件,然后再把SMD文件利用相關軟件合成為*.mdl文件,才可以應用到hammer編輯器中。本文作者是應用的studiocompiler軟件合成的。由此變成Source引擎中的模型。注意模型的貼圖,格式為需要為tga格式,英文名稱。用rgb 8位模式進行編輯,而分辨率須是2的倍數(shù),比如400X560,保存的時候選擇24位。如圖6所示。

圖6 3dsmax模型的導入流程
Hammer編輯中對Mdl格式文件的引用如圖所示。由于泵的模型是不可動模型,可采用靜物模式(prop_static)。若要產(chǎn)生動態(tài)效果可選擇prop_dynamic,不過所應用的Mdl格式文件應包含動態(tài)效果。這在場景的模擬中非常有用。如果要實現(xiàn)物理碰撞的效果,還需要對模型添加物理的碰撞,此時的Hammer編輯中需要用到prop_physics這個命令。總之想得到什么樣的物理效果,Hammer編輯器都可以實現(xiàn),但是需要你的Mdl格式文件已經(jīng)有這種效果在里面。
化工生產(chǎn)設備的模型在系統(tǒng)當在是一個空虛的模型,需要建立物理系統(tǒng),比如材料、外觀、剛性等Source引擎有良好的剛體動力學以及約束、關節(jié)鏈,剛性物體不能在系統(tǒng)中被打碎、彎曲或者其他形式的扭曲。關節(jié)節(jié)點就是常說的活動連接,這種連接允許你將兩個物體有機地連接在一齊。

圖7 靜態(tài)命令的使用
4.3 文件的編譯
做好的場景是在hammer編輯器中,并沒有產(chǎn)生完全的實景的效果,并且各種物體都是可編輯的,這需要我們進行編譯。
編譯完畢的場景,在Source引擎中有優(yōu)良的顯示效果。其中的光影都非常的真實。如下圖所示。

圖8 hammer編輯器的泵的效果

圖9 hammer編輯器的編譯

圖10 編譯后的場景
Source引擎提供了多人聯(lián)機使用主從式(客戶端-服務器)網(wǎng)絡構(gòu)架。服務器通常指運行游戲的專用主機,客戶端指連接到服務器的玩家電腦。客戶端與服務器之前通過發(fā)送數(shù)據(jù)包(又稱封包)來通信(頻率很高,通常每秒20-30個封包)。客戶端從服務器接收到當前“世界”的狀態(tài)后,據(jù)這些數(shù)據(jù)來創(chuàng)建視頻和音頻輸出。客戶端同樣也從輸入設備(鍵盤、鼠標、麥克風等)采集數(shù)據(jù)并發(fā)回服務器進行進一步處理。客戶端僅僅與服務器進行著通信,而不與其他客戶端通信(即非P2P)。與單機游戲相比,多人聯(lián)機游戲需要解決各種各樣的通信問題。
此項功能可以使企業(yè)在應急演練中不是一個人,而是一個團隊進行合作進行響應。多人在進行聯(lián)機的時候進行相關對話。
用3dsmax制作模型,利用Source引擎編譯為*.bsp文件,具有良好的移植性,只需要對*.bsp文件進行操作就可行了,就是所謂的地圖文件。工廠的不同場景可以整合在一張地圖文件里,也可以生成多個地圖文件。
基于3D和CS-soure的漫游系統(tǒng)開發(fā)流程快,并且仿真效果也十分好,具有更多交互形式等優(yōu)點。利用,3D+CS-soure可以實現(xiàn)工廠的仿真效果,在企業(yè)的演練及學校的教學中都可以很好的應用。
[1]李佳,王勇,王瑛.基于VRML的協(xié)同消防應急演練平臺研究[J].計算機測量與控制,2013,(12).
[2]范希輝,李玉閣,陳治平.基于VRML的三維虛擬戰(zhàn)場環(huán)境生成[J].四川兵工學報,2013,(10).
[3]紀金豹,李炎鋒,李振寶,等.結(jié)構(gòu)虛擬實驗教學系統(tǒng)的開發(fā)與應用[J].實驗室研究與探索,2013,(09).
[4]郭美榮,侴愛輝,夏德宏,等.可視化教學法在實驗教學中的應用[J].實驗室研究與探索,2012,(11).
[5]王召鵬.數(shù)字化制造實訓車間的探索與實踐[J].實驗室研究與探索,2012,(03).
[6]謝艷招,趙林,蔡聰育.建設教學科研兩用型實驗室[J].實驗室研究與探索,2012,(02).
[7]秦鋼年,黃大明,盧福寧,等.構(gòu)建適應創(chuàng)新型人才培養(yǎng)的實驗教學體系[J].實驗室研究與探索,2012,(01).
[8]席平,楊洋,王春潔.機械類課程實驗教學改革與實踐[J].實驗技術(shù)與管理,2010,(07).
[9]程文明,張則強,吳曉,等.《起重機金屬結(jié)構(gòu)》國家精品課程的建設與實踐[J].起重運輸機械,2010,(04).
[10]廖慶敏,秦鋼年.建立開放實驗室提高學生的實踐能力和創(chuàng)新能力[J].實驗室研究與探索,2010,(04).
Based on the development of CS-soure game engine virtual chemical plant simulation system
He Peng-fei,Lai Chun-ming
(Hunan College of Chemical Technology,Zhuzhou,Hunan 412011 China)
Modeling of chemical plant equipment using 3dsmax,using the CS-soure game engine to show the real effect of chemical equipment.Has very strong operability and good realistic scene effect.
virtual reality;game engine;CS-soure;chemical plant Chemical equipment
TQ113.29
B
1003-6490(2015)04-0049-04
課題編號:HNHY2014003
2015-08-07
何鵬飛(1982-),男,安徽亳州人,講師,研究領域:過程裝備與控制工程。