汪洋,吳世勇,楊睿,王艷麗
(1.合肥學(xué)院城建學(xué)院,安徽 合肥 230601;2.合肥學(xué)院建管處,安徽 合肥 230601)
基于虛擬現(xiàn)實(shí)(VR)技術(shù)的V-Learning可望帶來(lái)教育界的革命,VR使學(xué)習(xí)過(guò)程充滿了趣味性,彌補(bǔ)了其它教學(xué)手段的不足,實(shí)現(xiàn)了教學(xué)方式的創(chuàng)新[1]。
本文以《土木工程材料》課程為例,嘗試有針對(duì)性地構(gòu)建富有特色的虛擬現(xiàn)實(shí)資源,將桌面式/沉浸式虛擬技術(shù)融入現(xiàn)代課堂和課后實(shí)驗(yàn)實(shí)踐,對(duì)現(xiàn)有教學(xué)媒體和方法進(jìn)行補(bǔ)充,為學(xué)生提供更加個(gè)性化的學(xué)習(xí)資源和空間。主要討論如何圍繞核心任務(wù),用真實(shí)的、動(dòng)態(tài)的三維虛擬影像再現(xiàn)教材內(nèi)容,讓學(xué)生沉浸式地參與其中,以強(qiáng)烈的感官體驗(yàn)達(dá)到最佳學(xué)習(xí)效果。通過(guò)虛擬教學(xué)資源的構(gòu)建,突破傳統(tǒng)的教學(xué)中一元性的思維模式,打破認(rèn)識(shí)的空間局限性,讓學(xué)生在虛擬的學(xué)習(xí)情景中獲得更加豐富的工程體驗(yàn)[2]。
根據(jù)教學(xué)要求需要設(shè)置核心任務(wù),選擇了任務(wù)模塊“普通混凝土配合比設(shè)計(jì)與工程應(yīng)用”,通過(guò)構(gòu)建虛擬現(xiàn)實(shí)教學(xué)資源,可以實(shí)現(xiàn)“課堂-實(shí)驗(yàn)-實(shí)踐-自主學(xué)習(xí)”的無(wú)縫結(jié)合。
此任務(wù)把理論課上核算的混凝土配合比應(yīng)用于虛擬實(shí)驗(yàn)室中調(diào)整,得到施工配合比虛擬配置,在模擬施工現(xiàn)場(chǎng)做塌落度實(shí)驗(yàn),并模擬施工過(guò)程和產(chǎn)生的缺陷和由此帶來(lái)的工程事故虛擬展示(圖1),從而實(shí)現(xiàn)了理論課和實(shí)驗(yàn)實(shí)踐的銜接性和連續(xù)性。
圖1 模塊任務(wù)流程圖
系統(tǒng)交互功能需求設(shè)計(jì),可通過(guò)先在混凝土攪拌站的配合比設(shè)計(jì),預(yù)設(shè)配合比調(diào)整環(huán)節(jié)中水膠比增加和減小的幅度和范圍,獲得不同水膠比的塑形或干硬性混凝土,對(duì)應(yīng)不同的施工條件。當(dāng)場(chǎng)景自動(dòng)漫游到現(xiàn)場(chǎng)混凝土施工時(shí),可實(shí)現(xiàn)漫游切換,提供混凝土澆筑、振動(dòng)密實(shí)、混凝土養(yǎng)護(hù)、大體積混凝土施工等副場(chǎng)景所產(chǎn)生的表面缺陷、內(nèi)部缺陷和混凝土裂縫等工程事故展示以及由此帶來(lái)的后果。
主要軟件:選用常規(guī)的三維建模軟件3Ds Max,三維引擎軟件Quest3D,便于使用第三方服務(wù)。本系統(tǒng)的前期三維制作主要使用3DS MAX,Quest3d支持?jǐn)?shù)據(jù)手套、空間位置跟蹤器、三維鼠標(biāo)、模擬駕駛器等VR外設(shè),支持多層次貼圖,擁有對(duì)大規(guī)模場(chǎng)景的渲染能力,支持高效的碰撞檢測(cè)、GUI界面、場(chǎng)景導(dǎo)航等功能,可實(shí)現(xiàn)網(wǎng)絡(luò)發(fā)布。這些優(yōu)勢(shì),為本任務(wù)的實(shí)現(xiàn)提供了技術(shù)保障。
輔助軟件:圖像處理軟件Fireworks和 Photoshop,動(dòng)畫(huà)制作軟件 Flash,WEB開(kāi)發(fā)腳本語(yǔ)言C#和Javascript,數(shù)據(jù)庫(kù)MySQL,矢量繪圖軟件AutoCAD,三維建模軟件 3D Coat,建筑結(jié)構(gòu)專業(yè)建模軟件Tekla Structures,同時(shí)用到建筑物和結(jié)構(gòu)構(gòu)件專業(yè)三維建模BIM技術(shù)。
任務(wù)實(shí)現(xiàn)的核心要點(diǎn)主要集中在資源素材、場(chǎng)景內(nèi)容及場(chǎng)景切換、用戶交互性的實(shí)現(xiàn)邏輯、虛擬場(chǎng)景的真實(shí)體現(xiàn)等方面。
首要任務(wù)是需要詳盡的素材收集,通常需要收集的素材包括:設(shè)計(jì)圖紙或測(cè)繪圖紙、參考照片、紋理照片、視頻資料等。施工工地可進(jìn)行視頻或全景拍攝,并進(jìn)行視頻剪輯或全景圖拼接,及后期處理輸出全景視頻或全景圖。資源素材數(shù)據(jù)庫(kù)建設(shè)包括:現(xiàn)行的建筑法規(guī)、技術(shù)標(biāo)準(zhǔn)、工程案例等文本素材;混凝土施工工藝、養(yǎng)護(hù)模式和手段、大體積混凝土施工措施等音頻視頻素材和動(dòng)畫(huà)素材;攪拌站和施工工地現(xiàn)場(chǎng)全景圖;等等。
構(gòu)建虛擬場(chǎng)景總體任務(wù),首先要對(duì)整個(gè)場(chǎng)景的布局安排進(jìn)行設(shè)計(jì),接著畫(huà)出指導(dǎo)建模的草圖并建立出初步模型,然后給建模出的物體賦上材質(zhì)和貼圖,再將這部分模型整合到主體建筑的場(chǎng)景中,最后給場(chǎng)景布置燈光,從而完成整個(gè)場(chǎng)景的設(shè)計(jì)。模塊中設(shè)置主場(chǎng)景的施工工地和結(jié)構(gòu)模型(圖2)。
數(shù)據(jù)導(dǎo)入和場(chǎng)景渲染。模型建立后,由于三維建筑CAD軟件和BIM等所建立的模型通常是用特征數(shù)據(jù)來(lái)表達(dá)的,在導(dǎo)出格式文件時(shí),為了更好的支持Quest 3D,要對(duì)模型進(jìn)行格式轉(zhuǎn)換,使其轉(zhuǎn)換成.dae格式文件。模型格式轉(zhuǎn)換可以通過(guò)DE實(shí)現(xiàn)。
將在3Ds Max中制作的裝飾材料三維模型導(dǎo)入到Quest3D中,可通過(guò)第三方插件將在3Ds Max中建立的裝飾材料三維模型導(dǎo)出為.X格式的文件后再導(dǎo)入Quest3D,這是最可靠的數(shù)據(jù)交換方式[3]。
本虛擬仿真教學(xué)系統(tǒng)的起始元件Start Channel設(shè)置為Start3DScene以及 Channel Caller,Start 3D Scene 通道的作用是初始3D環(huán)境、設(shè)置屏幕分辨率、背景顏色及關(guān)閉程序按鈕等,使用Set New Start Channel來(lái)實(shí)現(xiàn)場(chǎng)景切換功能。
圖2 施工工地和大體積混凝土基礎(chǔ)主場(chǎng)景
為了素材的擴(kuò)充和更新功能,數(shù)據(jù)庫(kù)是最好的選擇。Quest3D中可以通過(guò)ODBC創(chuàng)建數(shù)據(jù)庫(kù)連接,豐富了裝飾材料素材庫(kù)內(nèi)容??梢詫?shí)現(xiàn)素材數(shù)據(jù)庫(kù)查詢,My SQL對(duì)應(yīng)的是 DB Driver My SQL模塊,數(shù)據(jù)庫(kù)連接成功后,DB Query模塊的屬性面板中輸入查詢代碼實(shí)現(xiàn)。
采用基于 Strange Io C的MVCS框架,將項(xiàng)目進(jìn)行模塊化劃分,實(shí)現(xiàn)數(shù)據(jù)模型(Model)、視圖(View)、邏輯控制(Controller)及服務(wù)(Service)的分離與通信。該框架基于控制反轉(zhuǎn)(Inversion of Control,Io C)原則,將各個(gè)組件之間的依賴關(guān)系提取到程序外部,降低整個(gè)系統(tǒng)的耦合度,提高了項(xiàng)目的可擴(kuò)展性[4]。
若開(kāi)發(fā)結(jié)束后需要更新教學(xué)資源,為方便起見(jiàn),則需要采用所謂的熱更新方案。本地更新是將想要更新、添加的資源在打包為Asset Bundle,放置到安裝目錄下;網(wǎng)絡(luò)更新,則是將資源打包為Asset Bundle,保存資源生成的MD5,定義更新版號(hào),然后將Asset Bundle資源上傳到服務(wù)器。當(dāng)本地客戶端啟動(dòng)后,檢查、比較版號(hào),下載對(duì)應(yīng)的資源,并更新本地的配置文件。
通過(guò)上述幾點(diǎn)關(guān)鍵技術(shù)使用,基本實(shí)現(xiàn)了系統(tǒng)中交互性需求。
實(shí)現(xiàn)交互操作的關(guān)鍵技術(shù)是碰撞檢測(cè),Quest3D內(nèi)置的物理引擎可以高效、逼真地模擬出剛體碰撞、重力及摩擦等物理效果,根據(jù)本系統(tǒng)關(guān)于施工工藝的虛擬仿真,采用適用于車輪與地面或其它對(duì)象之間的碰撞器Wheel Collider[5]。
從攪拌站到施工現(xiàn)場(chǎng)、不同的施工工序、室內(nèi)裝飾空間移步等,需要位移矩陣在鍵盤的作用下實(shí)現(xiàn)變化,進(jìn)而形成平移動(dòng)作,平移矩陣為四維變換矩陣,是以矩陣相加的方式實(shí)現(xiàn)的[5]。
設(shè)模型空間的齊次坐標(biāo)為[x0,y0,z0,1],坐標(biāo)平移變換后的空間坐標(biāo)[x1,y1,z1,1],各坐標(biāo)軸的平移量 vx,vy,vz,可得平移算法的變量計(jì)算表達(dá)式(公式1)。
Quest3D支持 C#、javascript或Lua等腳本語(yǔ)言的功能開(kāi)發(fā),本系統(tǒng)相關(guān)需求通過(guò)編程實(shí)現(xiàn),如場(chǎng)景連接,施工工藝動(dòng)畫(huà)演示,結(jié)構(gòu)構(gòu)件鼠標(biāo)拖動(dòng)等,舉例如下。
①設(shè)置背景聲音(混凝土攪拌、混凝土澆筑、震動(dòng)密實(shí)、結(jié)構(gòu)破壞等)。
②施工場(chǎng)景切換(可通過(guò)點(diǎn)擊按鈕觸發(fā)功能實(shí)現(xiàn),也可用public聲明一個(gè)Button按鈕點(diǎn)擊實(shí)現(xiàn))。
系統(tǒng)調(diào)試通過(guò)后,需要將虛擬仿真系統(tǒng)進(jìn)行打包發(fā)布,在客戶端安裝使用,以方便眾多學(xué)生應(yīng)用該系統(tǒng)進(jìn)行實(shí)驗(yàn)實(shí)訓(xùn)與自主學(xué)習(xí)。使用形式多樣,教師可以在課堂上或?qū)嶒?yàn)室播放PPT形式(圖3),可以在機(jī)房臺(tái)式機(jī)上播放,學(xué)生可以在虛擬仿真實(shí)驗(yàn)室做沉浸式體驗(yàn)。
圖3 GUI二級(jí)界面和PPT課件播放
將虛擬仿真系統(tǒng)發(fā)布到Windows平臺(tái),系統(tǒng)將內(nèi)嵌到校園網(wǎng)上的虛擬仿真實(shí)驗(yàn)中心平臺(tái),有效鏈接是http://www.hfuu.edu.cn/jgx/hnt.html,實(shí)現(xiàn)嵌入的腳本語(yǔ)言如下。
本文研究一種土木工程材料和施工方面虛擬仿真教學(xué)資源的自我建設(shè)開(kāi)發(fā)思路,開(kāi)發(fā)出來(lái)的虛擬仿真實(shí)驗(yàn)教學(xué)軟件,具有很強(qiáng)的針對(duì)性、靈活性、交互性,同時(shí)開(kāi)發(fā)成本低,具有較強(qiáng)的經(jīng)濟(jì)技術(shù)效果。
這種先進(jìn)的虛擬教學(xué)資源可以提高課堂教學(xué)效果。它可替代傳統(tǒng)PPT課件的教學(xué)素材,將教材上的文字描述轉(zhuǎn)化成立體的施工環(huán)境,提供多種感知體驗(yàn),從而強(qiáng)化了參與感,使學(xué)習(xí)內(nèi)容留下深刻印象,獲得傳統(tǒng)教學(xué)方法很難提供真實(shí)的、先進(jìn)的實(shí)踐教學(xué)場(chǎng)景。
在實(shí)驗(yàn)實(shí)踐環(huán)節(jié),可以突破有限的實(shí)驗(yàn)學(xué)時(shí)數(shù)制約,更高效集中地開(kāi)展實(shí)驗(yàn)實(shí)踐[6]。這些虛擬仿真實(shí)驗(yàn)所涉及到的內(nèi)容,在常規(guī)的土木工程材料實(shí)驗(yàn)中無(wú)法實(shí)現(xiàn),也無(wú)法提供相關(guān)的實(shí)驗(yàn)儀器,虛擬仿真實(shí)驗(yàn)資源有效彌補(bǔ)了實(shí)體實(shí)驗(yàn)室的不足。
Quest3D和3Ds Max等都是經(jīng)典的游戲引擎,如果引入專業(yè)第三方服務(wù),可望獲得更加滿意的制作效果。
①以Quest3D作為主要工具軟件,可以實(shí)現(xiàn)混凝土配制施工的虛擬仿真教學(xué)資源的有效構(gòu)建??捎糜谡n堂教學(xué)、實(shí)驗(yàn)教學(xué)和學(xué)生自主學(xué)習(xí)。
②構(gòu)建的虛擬現(xiàn)實(shí)模塊內(nèi)容,具有較強(qiáng)的實(shí)際工程應(yīng)用仿真效果,為建筑工程教學(xué)手段的創(chuàng)新提供了全新的途徑。