吳世勇,汪 洋,楊 睿,張勁松
(1.合肥學院建管處,安徽合肥 230601;2.合肥學院城建學院,安徽合肥 230601)
在現代教育技術的發展史上,教學手段的革新從未停止。經歷了基于廣播電視的遠程學習 D-Learning、基于電腦和互聯網的電子學習 E-Learning,以及利用手機等進行移動學習的 M-Learning 階段。而基于虛擬現實技術的 V-Learning 必將帶來教育界新革命[1],虛擬教學使得教學手段獲得了飛躍式發展。
虛擬現實技術具有較強的研究意義,經過多年的發展,近年來已經進入了一個新的階段,在較多領域得到了應用。如用于能源動力工程分析,水資源處理,軍事訓練模擬[2],等等。在教育培訓領域行業同樣應用廣泛,其中的土木工程教育對虛擬仿真的應用也變得越來越充分,如城市規劃、工程實驗[3]等。但是國內外主流期刊信息中,目前未見有關于建筑工程模塊化虛擬仿真資源的研究。
《土木工程材料》在建筑教學體系中占有重要地位,但傳統教學方式具有頗多缺陷。如內容體系單一,課程的能力輸出效果差,實驗和理論課內容不連貫,理論和應用聯系不緊密。等等。而模塊化教學有效克服了這些弊端,其核心是界定任務模塊。
本文以《土木工程材料》模塊化課程為例,通過其中的核心任務模塊,嘗試如何有針對性地構建符合模塊化特色的虛擬現實資源,將桌面式-沉浸式虛擬技術融入現代課堂和課后實驗實踐,對現有教學媒體和方法進行補充,提供更加個性化的學習資源和空間。
這里選擇了任務模塊“裝飾裝修材料應用設計和效果分析”,本模塊要求熟悉倉儲式建材市場各類琳瑯滿目的裝飾裝修材料,通過合理選擇應用到家庭裝飾工程中,主場景是建材大市場和住宅內部裝修。
交互功能的實現。在每個場景中,系統不僅很好地展示了各種琳瑯滿目的產品,而且提供了良好的交互性,學生可以自由選擇虛擬場景、自由選擇中意的裝飾材料,全方位觀察和對比實際應用效果,漫游于虛擬場景中,在這部分模塊內容上,交互功能的實現是整個系統的核心和亮點所在。
交互功能入手角度,可以是從低檔和高檔材料所對應的不同技術經濟性能,也可以是不同的裝飾設計風格,等等。學生在素材數據庫中選擇材料不同的技術性能指標,獲得不同的材質,檢驗對應的裝飾效果。比如可調用的素材庫中所用到的地面裝飾材料,有地板、地磚、地毯等,而其中的地板,又可細分為實木地板、強化地板、復合地板、塑料地板、地板革等不同品種(圖1)。

圖1 系統交互功能需求模塊
豐富的交互性被作為虛擬現實開發平臺的首要標準。三維引擎軟件Quest3d支持VR大多數虛擬外設,提供了圖形化的模塊開發功能;支持多層次貼圖,還可以收集項目的所有貼圖;擁有對大規模場景的渲染能力,結合光照貼圖實現細致的場景渲染效果;支持高效的碰撞檢測,能精確地進行物體約束;支持 GUI 界面,通過可視化設計豐富交互功能;支持場景導航,通過平面圖的鏈接,進而跳轉到三維場景的任意位置;可實現網絡發布,方便多人在線互動,分享體驗,共享資源。本項目主要是利用了Quest3D這些優勢實現技術開發。
本系統的前期三維制作主要使用 3DS MAX。此軟件常用來配合游戲引擎制作三維場景和角色,在教育教學領域,一般被用來設計三維教學動畫和虛擬現實場景。
此外還需要用到圖像處理軟件Fireworks和Photo shop,動畫制作軟件Flash,WEB開發腳本語言C#和Javascript,數據庫MySQL,矢量繪圖軟件AutoCAD,三維建模軟件 3D Coat。
項目的首要任務是需要詳盡的素材收集。因為本任務虛擬現實需要展示的內容是重現在真實世界中存在的場景或物品,并不是表現在真實世界中并不存在的場景或物品。所以在動手進行三維建模之前應當盡可能地收集第一手資料。通常需要收集的素材包括:設計圖紙或測繪圖紙、參考照片、紋理照片、視頻資料等。
資源素材數據庫建設包括:技術標準、工程案例等文本素材;倉儲式建材裝飾市場全景圖、局部圖;各種裝飾裝修材料及其不同的顏色質感等圖片素材,等等。
構建虛擬場景總體任務,首先要對整個場景的布局安排進行設計,接著畫出指導建模的草圖并建立出初步模型,然后給建模出的物體賦上材質和貼圖,再將這部分模型整合到主體建筑的場景中,最后給場景布置燈光,從而完成整個場景的設計。
模塊中裝飾材料品種很多,但是VR 場景的模型個數過多也會直接影響到場景的導出和打開速度,這里采用的是實時渲染,即更改品種后無須任何等待時間即可看到結果,所以只需要事先設置好材料的顏色、外形模型和鍵盤模型,就可以“所見即所得”地嘗試各種不同組合方案,哪怕品種數量再多也可從容應對。模塊中主場景是裝飾大市場全景和住宅建筑室內裝飾效果(圖2、圖3)。

圖2 3D Coat 對裝飾材料大市場建模 圖3 Ds Max對室內裝修效果渲染
Quest3D中一個逼真的三維場景需包含相機、燈光和模型三要素。相機用來定義觀察場景的視角,裝飾設計需要設置不同的相機模式;裝飾效果設計是室內場景,需要定義燈光在不同角度觀察下的明暗程度;除了相機和燈光,還可以通過對模型表面的發光處理來使模型呈現更自然的效果,如果虛擬場景中只有模型則會顯得單調,因此需要通過貼圖的制作來實現系統背景的生成和處理,同時貼圖技術還可以對模型的材質進行處理,使其更加逼真[4]。本系統中涉及到大量需要具備良好裝飾效果的瓷磚涂料等部件,需要用到貼圖,因此需要 Photoshop 對這些圖片進行處理,以使其有更好的視覺效果。
為了實現素材的擴充和更新功能,支持數據擴展,數據庫是最好的選擇。利用數據庫管理系統素材庫中的各種裝飾裝修材料圖片,連接數據庫的虛擬現實場景可以進行信息定位,Quest3D中可以通過ODBC創建數據庫連接,豐富了裝飾材料素材庫內容。
可以實現素材數據庫查詢。My SQL 對應的是 DB Driver My SQL 模塊,數據庫連接成功后,DB Query 模塊的屬性面板中輸入查詢代碼,例如,在裝飾材料品種表格里查找黑色大理石地磚代碼是:SELECT stone FROM table1 WHERE name=marble AND color=black。
易于擴展而將視圖與邏輯控制分離是開發過程中的重要且必須要做的工作[5]。在開發過程中,如果需求變更頻繁,有時面臨大規模的內容刪改,此時開發人員可將內容抽象、分離為功能單一的模塊,降低系統的耦合性,使系統靈活性提高。
通過上述幾點關鍵技術使用,基本實現了系統中交互性需求。
根據本系統關于三維封閉式室內裝飾效果的虛擬仿真,采用效率最髙的適用于立方體對象之間的碰撞器Box Collider,基于 OBB方向包圍盒技術[6],關鍵在于確定一個最佳方向,來建立該方向上的最小包圍盒尺寸。
模塊中室內裝飾空間移步等,需要位移矩陣在鍵盤的作用下實現變化,進而形成平移和旋轉動作,平移旋轉矩陣為四維變換矩陣,是以矩陣相加的方式實現的[7]。設模型空間的齊次坐標為[x0,y0,z0,1],坐標平移變換后的空間坐標[x1,y1,z1,1],各坐標軸的平移量vx,vy,vz,可得平移算法的變量計算表達式見式(1)。

(1)
設物體繞x軸旋轉θ角度從坐標(x0,y0,z0)旋轉至(x1,y1,z1),則坐標變換表達式見式(2)。

(2)
Quest3D支持C#、javascript 或Lua等腳本語言的功能開發,本系統相關需求通過編程實現,如場景連接,材料品種名稱顯示,結構構件鼠標拖動等。
(1)裝飾市場各場景的連接通過點擊按鈕觸發功能實現[8],也可用 public 聲明一個 Button 按鈕,點擊實現場景切換,C#語言腳本代碼如下:
public class Connect Mode :Mono Behaviour {
public void On Button (string scene Name)
{Application.Load Level(scene Name);}}
(2)改變裝飾材料(內墻涂料、壁紙、窗簾、內墻磚等)的顏色。
if(is Change)
{ for(int i=0;i change Color painting[i].positon= painting[i].position; painting[i].game Object.Set Active(false); change Color painting[i].game Object.Set Active(true);} } else { for(int i=0;i { change Color painting[i].positon= painting[i].position; painting[i].game Object.Set Active(true); change Color painting[i].game Object.Set Active(false);} } (3)裝飾材料品種打包文件“Create Asset Bundles”實現在線更新。 public class Create Asses Bundles { [Menu Item("Assets/Build Asset Bundles")] static void Build All Asset Bundles() { string dir = "Asset Bundles"; if (Directory.Exists(dir)==false) {Directory.Create Directory(dir);} Build Pipeline.Build Asset Bundles(dir,Build Asset Bundle Options.None,Build Target.Standalone Windows64);}} 該模塊只是實現對裝飾材料的應用認知,則只需要展示操作設備或儀器的三維立體全景圖。可以以不同的角度對該物體進行 360 °觀察,觀察可以通過鼠標來操作虛擬對象的角度轉動即可,這對虛擬現實系統的沉浸性要求不高,通過桌面虛擬現實系統就可以實現(當然也可以在虛擬仿真實驗室做沉浸式體驗);同時適合用于大屏幕投影,使用于課堂上,用于裝飾材料內容教學;也可實現桌面式互動交互,選配材料。重點適用于建筑學專業,可擴展各種綠色建材的內容。既能在普通計算機上獨立運行,也可以在課堂上通過投影播放,可戴上VR眼鏡或不戴,具有較強的可操作性。 以Quest3D作為主要工具軟件,可以有效構建“裝飾裝修材料設計與應用”教學模塊的虛擬仿真資源,實現了裝飾材料任意替換的實時性和可視化,具有很強的實際應用仿真效果,符合模塊化教學的指導思路。4 系統實施
5 結 論