汪洋,吳世勇,楊睿,王艷麗
(1.合肥學院城建學院,安徽 合肥 230601;2.合肥學院建管處,安徽 合肥 230601)
基于虛擬現實(VR)技術的V-Learning可望帶來教育界的革命,VR使學習過程充滿了趣味性,彌補了其它教學手段的不足,實現了教學方式的創新[1]。
本文以《土木工程材料》課程為例,嘗試有針對性地構建富有特色的虛擬現實資源,將桌面式/沉浸式虛擬技術融入現代課堂和課后實驗實踐,對現有教學媒體和方法進行補充,為學生提供更加個性化的學習資源和空間。主要討論如何圍繞核心任務,用真實的、動態的三維虛擬影像再現教材內容,讓學生沉浸式地參與其中,以強烈的感官體驗達到最佳學習效果。通過虛擬教學資源的構建,突破傳統的教學中一元性的思維模式,打破認識的空間局限性,讓學生在虛擬的學習情景中獲得更加豐富的工程體驗[2]。
根據教學要求需要設置核心任務,選擇了任務模塊“普通混凝土配合比設計與工程應用”,通過構建虛擬現實教學資源,可以實現“課堂-實驗-實踐-自主學習”的無縫結合。
此任務把理論課上核算的混凝土配合比應用于虛擬實驗室中調整,得到施工配合比虛擬配置,在模擬施工現場做塌落度實驗,并模擬施工過程和產生的缺陷和由此帶來的工程事故虛擬展示(圖1),從而實現了理論課和實驗實踐的銜接性和連續性。

圖1 模塊任務流程圖
系統交互功能需求設計,可通過先在混凝土攪拌站的配合比設計,預設配合比調整環節中水膠比增加和減小的幅度和范圍,獲得不同水膠比的塑形或干硬性混凝土,對應不同的施工條件。當場景自動漫游到現場混凝土施工時,可實現漫游切換,提供混凝土澆筑、振動密實、混凝土養護、大體積混凝土施工等副場景所產生的表面缺陷、內部缺陷和混凝土裂縫等工程事故展示以及由此帶來的后果。
主要軟件:選用常規的三維建模軟件3Ds Max,三維引擎軟件Quest3D,便于使用第三方服務。本系統的前期三維制作主要使用3DS MAX,Quest3d支持數據手套、空間位置跟蹤器、三維鼠標、模擬駕駛器等VR外設,支持多層次貼圖,擁有對大規模場景的渲染能力,支持高效的碰撞檢測、GUI界面、場景導航等功能,可實現網絡發布。這些優勢,為本任務的實現提供了技術保障。
輔助軟件:圖像處理軟件Fireworks和 Photoshop,動畫制作軟件 Flash,WEB開發腳本語言C#和Javascript,數據庫MySQL,矢量繪圖軟件AutoCAD,三維建模軟件 3D Coat,建筑結構專業建模軟件Tekla Structures,同時用到建筑物和結構構件專業三維建模BIM技術。
任務實現的核心要點主要集中在資源素材、場景內容及場景切換、用戶交互性的實現邏輯、虛擬場景的真實體現等方面。
首要任務是需要詳盡的素材收集,通常需要收集的素材包括:設計圖紙或測繪圖紙、參考照片、紋理照片、視頻資料等。施工工地可進行視頻或全景拍攝,并進行視頻剪輯或全景圖拼接,及后期處理輸出全景視頻或全景圖。資源素材數據庫建設包括:現行的建筑法規、技術標準、工程案例等文本素材;混凝土施工工藝、養護模式和手段、大體積混凝土施工措施等音頻視頻素材和動畫素材;攪拌站和施工工地現場全景圖;等等。
構建虛擬場景總體任務,首先要對整個場景的布局安排進行設計,接著畫出指導建模的草圖并建立出初步模型,然后給建模出的物體賦上材質和貼圖,再將這部分模型整合到主體建筑的場景中,最后給場景布置燈光,從而完成整個場景的設計。模塊中設置主場景的施工工地和結構模型(圖2)。
數據導入和場景渲染。模型建立后,由于三維建筑CAD軟件和BIM等所建立的模型通常是用特征數據來表達的,在導出格式文件時,為了更好的支持Quest 3D,要對模型進行格式轉換,使其轉換成.dae格式文件。模型格式轉換可以通過DE實現。
將在3Ds Max中制作的裝飾材料三維模型導入到Quest3D中,可通過第三方插件將在3Ds Max中建立的裝飾材料三維模型導出為.X格式的文件后再導入Quest3D,這是最可靠的數據交換方式[3]。
本虛擬仿真教學系統的起始元件Start Channel設置為Start3DScene以及 Channel Caller,Start 3D Scene 通道的作用是初始3D環境、設置屏幕分辨率、背景顏色及關閉程序按鈕等,使用Set New Start Channel來實現場景切換功能。

圖2 施工工地和大體積混凝土基礎主場景
為了素材的擴充和更新功能,數據庫是最好的選擇。Quest3D中可以通過ODBC創建數據庫連接,豐富了裝飾材料素材庫內容。可以實現素材數據庫查詢,My SQL對應的是 DB Driver My SQL模塊,數據庫連接成功后,DB Query模塊的屬性面板中輸入查詢代碼實現。
采用基于 Strange Io C的MVCS框架,將項目進行模塊化劃分,實現數據模型(Model)、視圖(View)、邏輯控制(Controller)及服務(Service)的分離與通信。該框架基于控制反轉(Inversion of Control,Io C)原則,將各個組件之間的依賴關系提取到程序外部,降低整個系統的耦合度,提高了項目的可擴展性[4]。
若開發結束后需要更新教學資源,為方便起見,則需要采用所謂的熱更新方案。本地更新是將想要更新、添加的資源在打包為Asset Bundle,放置到安裝目錄下;網絡更新,則是將資源打包為Asset Bundle,保存資源生成的MD5,定義更新版號,然后將Asset Bundle資源上傳到服務器。當本地客戶端啟動后,檢查、比較版號,下載對應的資源,并更新本地的配置文件。
通過上述幾點關鍵技術使用,基本實現了系統中交互性需求。
實現交互操作的關鍵技術是碰撞檢測,Quest3D內置的物理引擎可以高效、逼真地模擬出剛體碰撞、重力及摩擦等物理效果,根據本系統關于施工工藝的虛擬仿真,采用適用于車輪與地面或其它對象之間的碰撞器Wheel Collider[5]。
從攪拌站到施工現場、不同的施工工序、室內裝飾空間移步等,需要位移矩陣在鍵盤的作用下實現變化,進而形成平移動作,平移矩陣為四維變換矩陣,是以矩陣相加的方式實現的[5]。
設模型空間的齊次坐標為[x0,y0,z0,1],坐標平移變換后的空間坐標[x1,y1,z1,1],各坐標軸的平移量 vx,vy,vz,可得平移算法的變量計算表達式(公式1)。

Quest3D支持 C#、javascript或Lua等腳本語言的功能開發,本系統相關需求通過編程實現,如場景連接,施工工藝動畫演示,結構構件鼠標拖動等,舉例如下。
①設置背景聲音(混凝土攪拌、混凝土澆筑、震動密實、結構破壞等)。

②施工場景切換(可通過點擊按鈕觸發功能實現,也可用public聲明一個Button按鈕點擊實現)。

系統調試通過后,需要將虛擬仿真系統進行打包發布,在客戶端安裝使用,以方便眾多學生應用該系統進行實驗實訓與自主學習。使用形式多樣,教師可以在課堂上或實驗室播放PPT形式(圖3),可以在機房臺式機上播放,學生可以在虛擬仿真實驗室做沉浸式體驗。

圖3 GUI二級界面和PPT課件播放
將虛擬仿真系統發布到Windows平臺,系統將內嵌到校園網上的虛擬仿真實驗中心平臺,有效鏈接是http://www.hfuu.edu.cn/jgx/hnt.html,實現嵌入的腳本語言如下。


本文研究一種土木工程材料和施工方面虛擬仿真教學資源的自我建設開發思路,開發出來的虛擬仿真實驗教學軟件,具有很強的針對性、靈活性、交互性,同時開發成本低,具有較強的經濟技術效果。
這種先進的虛擬教學資源可以提高課堂教學效果。它可替代傳統PPT課件的教學素材,將教材上的文字描述轉化成立體的施工環境,提供多種感知體驗,從而強化了參與感,使學習內容留下深刻印象,獲得傳統教學方法很難提供真實的、先進的實踐教學場景。
在實驗實踐環節,可以突破有限的實驗學時數制約,更高效集中地開展實驗實踐[6]。這些虛擬仿真實驗所涉及到的內容,在常規的土木工程材料實驗中無法實現,也無法提供相關的實驗儀器,虛擬仿真實驗資源有效彌補了實體實驗室的不足。
Quest3D和3Ds Max等都是經典的游戲引擎,如果引入專業第三方服務,可望獲得更加滿意的制作效果。
①以Quest3D作為主要工具軟件,可以實現混凝土配制施工的虛擬仿真教學資源的有效構建。可用于課堂教學、實驗教學和學生自主學習。
②構建的虛擬現實模塊內容,具有較強的實際工程應用仿真效果,為建筑工程教學手段的創新提供了全新的途徑。