許曉琦 魏佳豐 吳嘯宇 劉嘉森 張 帆 李 攀*
(防災科技學院 信息工程學院,河北 三河 065201)
Virtual Reality(虛擬現(xiàn)實技術(shù))是融合了構(gòu)想三維世界和真實世界的虛擬仿真系統(tǒng)。虛擬現(xiàn)實技術(shù)用計算機模擬生成三維場景,融合具有交互性、沉浸性、構(gòu)想性的三維動態(tài)世界和真實世界的虛擬仿真技術(shù),讓體驗者沉浸在虛擬環(huán)境中。Virtual Reality 包括對人物觸覺、環(huán)境交互、三維場景、傳感設(shè)備等方面多種技術(shù)的綜合。將Virtual Reality 技術(shù)和中國傳統(tǒng)建筑斗拱結(jié)合,以一種新的面貌形式展示斗拱建筑文化精髓,同時能夠發(fā)揚斗拱建筑的特殊柔韌性結(jié)構(gòu)在抗震方面有著極其重要的作用。
斗拱具有悠久的歷史文化,良好的抗震性能,地震來臨時,斗拱結(jié)構(gòu)能夠進行相應的形變來抵消地震波。在“斗拱抗震性能體驗館”項目中,設(shè)計人員以斗拱抗震性能為核心,并從視覺,觸覺等方面入手,打造了展示系統(tǒng)、組裝系統(tǒng)、展覽系統(tǒng)、三維場景系統(tǒng)、粒子系統(tǒng)、光照系統(tǒng)等系統(tǒng)。通過虛擬場景中與斗拱的交互以及設(shè)備的多元化反饋,讓體驗者直觀感受中國古代斗拱的抗震效果和機理。此項目以斗拱抗震性能展示與模擬為核心,并從斗拱模型制作、斗拱展示、組裝斗拱、觀影系統(tǒng)、文獻展覽等方面進行擴展,不僅能夠增加體驗者對中國傳統(tǒng)建筑斗拱的認識,更能夠讓體驗者能夠切身感受到斗拱在古代抗震方面的重要性。
本項目結(jié)合多個研究考察資料,最終參照潘德華所著《斗拱》取材進行工業(yè)化制作。其中“單拱”參照“每跳令拱上只用素方;令拱、素方為兩材,令拱上枓為一栔”,按照比例進行制作,其中用令拱、交互枓、素方和正心拱各一個,散枓兩個。其中交互枓制作尺寸最為復雜,其底部尺寸為14×10,外高尺寸為10,上方兩邊尺寸為3×18,其下方為一個梯形。
場景整體設(shè)計為復古寫實風格,二層宮殿,四面環(huán)山,周圍環(huán)水,庭院中種有花草樹木,陽光斜透過窗戶灑落在室內(nèi),給人一種寧靜,柔和的氛圍。項目開始后,以過場動畫形式從高空俯視整個場景,將場景中美景盡收眼底。而后進入宮殿門口,寓意開始,選擇體驗項目后向前行走,觀看途中美景,斗拱展示臺在一樓室內(nèi)整齊排列成兩排,室內(nèi)陽光微照,一束明亮的燈光照耀在斗拱上,體驗者可以靜下心來仔細觀賞。經(jīng)過多次測試后,將斗拱抗震所用的亭子在宮殿后院,體驗者觀賞完斗拱后可以進行抗震性能實驗。
1.4.1 抗震性能演示設(shè)計。斗拱抗震性能體驗館的核心內(nèi)容是斗拱的抗震性能演示,為了使得在UE4 中模擬出真實的抗震體驗效果。選擇用斗拱構(gòu)件組裝的亭子和現(xiàn)代結(jié)構(gòu)混凝土組成的墻體來進行抗震性能演示,可以根據(jù)相應等級,將斗拱形變數(shù)值調(diào)節(jié)在0-1 之間、地震等級模擬0-8 級,在UE4 動畫藍圖中進行邏輯編寫展現(xiàn)斗拱的特殊柔韌性結(jié)構(gòu)。體驗者可以通過右手柄扳機按鍵進行地震等級的調(diào)節(jié),調(diào)節(jié)成功后會有震感反饋,提高了VR 體驗交互性,并且在交互體驗的過程中,體驗者的右邊會出現(xiàn)對地震相應等級的科普介紹,豐富了體驗者對地震等級的知識體系。
項目核心設(shè)計在于通過數(shù)學公式和物理公式計算抗震級數(shù)及影響,并通過編程實現(xiàn),在虛幻引擎中展示相應的抗震效果,展示表明:隨著地震等級的增加,混凝土組成的墻體(下文簡稱“墻體”)開始出現(xiàn)裂縫,斗拱構(gòu)建組裝的亭子(下文簡稱“亭子”)開始出現(xiàn)輕微形變;當?shù)卣鸬燃壋^6 級后墻體出現(xiàn)倒塌,亭子開始搖晃;當?shù)卣鸬燃夁_到程序設(shè)定的最高等級8 級時,墻體猛烈搖晃后轟然倒塌,激起產(chǎn)生的煙霧。斗拱隨地震等級增加,亭子形變加大,斗拱通過形變抵消一定的地震能量,減小結(jié)構(gòu)的地震響應。地震等級和形變系數(shù)表如圖1 所示。
圖1 地震等級和形變系數(shù)表
多次實驗得出結(jié)論:抗震性能關(guān)系:斗拱抗震性能>墻體抗震性能;柔韌性關(guān)系:斗拱柔韌性>墻體柔韌性;震后完整度關(guān)系:斗拱木建筑>混凝土墻體;斗拱在抗震過程中產(chǎn)生形變抵消地震波,減小結(jié)構(gòu)地震響應;地震等級為7、8 時,斗拱形變系數(shù)為0.65、0.97;墻體形變系數(shù)為:0.11、0.15。
1.4.2 組裝系統(tǒng)設(shè)計。組裝系統(tǒng)設(shè)計的場景分布在環(huán)境優(yōu)美的江岸上,組裝臺上整齊分布著單個斗拱結(jié)構(gòu),讓體驗者集中注意力更加專注進行組裝。體驗者在組裝系統(tǒng)中可以近距離觀察斗拱的單個結(jié)構(gòu),用手抓取單個斗拱結(jié)構(gòu)時會提供真實反饋,可以跟隨手臂進行轉(zhuǎn)動,帶來更加沉浸式的體驗。單個斗拱結(jié)構(gòu)是根據(jù)真實的比例進行工業(yè)化建模,通過程序化計算編程和讀表為單個斗拱結(jié)構(gòu)綁定相應的文獻資料,根據(jù)公式計算斗拱所受的重力,模擬松手后斗拱會掉落在組裝臺上。根據(jù)提示完成斗拱結(jié)構(gòu)的組裝,即添加了項目的互動性,又增強了體驗者對斗拱單個構(gòu)架的認識與理解,斗拱組裝如圖2 所示。
圖2 斗拱組裝
1.4.3 場景引導系統(tǒng)設(shè)計。對于一個體驗者,從不熟悉整個項目操作到開始熟悉體驗項目,并能夠完全獨立進行體驗操作,最終理解斗拱在抗震中發(fā)揮了極其重要的作用獲得感悟。一個良好的場景引導系統(tǒng)設(shè)計,能夠讓體驗者更快速的上手體驗項目,從斗拱抗震性能體驗館項目中得到樂趣,學到知識。該項目開始首先由過場動畫將鏡頭由遠處緩緩拉至體驗關(guān)卡,體驗關(guān)卡的操作指南能幫助體驗者更快熟悉整個項目應該如何操作,我們設(shè)計了按下左手柄扳機鍵可以在整個項目流程中隨時查看操作指南,防止體驗者在體驗過程中遺忘操作步驟,玩家熟悉引導后可以自行選擇關(guān)閉。無論是進入哪一個體驗館,都會有下一步提示引導體驗者,整個項目全方位覆蓋引導設(shè)計,降低了項目入門難度,增強了項目的體驗。
1.4.4 文獻系統(tǒng)設(shè)計。設(shè)計文獻系統(tǒng)的初衷是為了讓體驗者能夠從該項目中學到更多的斗拱文化和斗拱在抗震中的知識?,F(xiàn)如今越來越多的人不愿意看紙質(zhì)圖書,失去了閱讀文獻的耐心。該項目為不同的斗拱三維模型配備了相關(guān)的文獻介紹,對于如此龐大的文獻資料,在項目設(shè)計過程中通過讀表進行整理排列。在斗拱展示館和文獻展覽館都有文獻系統(tǒng),體驗者在與斗拱互動的同時,能夠了解斗拱的重要知識,在體驗過程中進行學習。
斗拱抗震性能體驗館項目的模型主要使用3Ds Max 參照真實斗拱抗震實驗,按照比例進行工業(yè)化三維建模,用AdobePhotoshop 軟件完成斗拱原畫設(shè)計,Substance Painter 軟件制作斗拱紋理貼圖輸出。Substance painter 提供的大量材質(zhì)能夠使技術(shù)人員設(shè)計出符合要求的斗拱紋理模型,自動為斗拱匹配相應的紋理。3Ds Max 制作完成后精簡斗拱UV,刪除多余的點線面,調(diào)整參數(shù)和UE4 的相對應,通過游戲?qū)С銎鲗С鰹镕BX格式,至此斗拱三維模型構(gòu)建完成。
斗拱場景主要由宮殿模型,光照系統(tǒng)和材質(zhì)系統(tǒng)構(gòu)成,斗拱場景的材質(zhì)由UE4 材質(zhì)編輯器系統(tǒng)進行實現(xiàn),調(diào)節(jié)材質(zhì)的Texture、Metallic、Roughness、Emissive Color 等參數(shù),調(diào)整宮殿模型的粗糙度和金屬度,使得宮殿呈現(xiàn)木制復古顏色。斗拱宮殿模型是由3DMax 進行制作,將制作好的宮殿模型經(jīng)由3Ds Max轉(zhuǎn)換為FBX 格式導入到UE4 中,結(jié)合UE4 智能化光照系統(tǒng)進行斗拱場景的制作,此項目展現(xiàn)的是宋代斗拱,在光照系統(tǒng)中調(diào)節(jié)RGB 值使得整個場景色調(diào)調(diào)節(jié)為復古、明亮、暖色色調(diào)。將宮殿場景從3DMax 導入UE4 時應注意將模型轉(zhuǎn)化為Mesh,坐標軸指定Z 軸為正方向,坐標全部歸零,將貼圖指定到文件夾用英文路徑保存。
2.3.1 抗震性能演示實現(xiàn)。斗拱抗震性能演示編程核心內(nèi)容在Pawn 中進行編寫,將震動反饋事件綁定到手柄上,經(jīng)過多次實驗后得出結(jié)論,調(diào)節(jié)RunSteamVRTactileFeedback 函數(shù)的Frequenc=1.0 和Amplitude=0.9 可以使體驗交互更加真實,自定義函數(shù)來調(diào)節(jié)抗震等級。斗拱特殊柔韌性在動畫藍圖中進行編寫,混合空間1D 將亭子Idle、Move、Quick 動畫合為一個Montage,通過改變浮點型變量Amplitude 的值展現(xiàn)斗拱的柔韌性。將動畫通過狀態(tài)機混合進行播放, 可以讓動畫更加連貫絲滑??紤]到程序的運行效率,將調(diào)節(jié)震級和亭子柔韌性展現(xiàn)通過接口進行實現(xiàn)。地震等級調(diào)節(jié)核心程序通過SelectIndex 函數(shù)進行控制,調(diào)節(jié)地震等級后亭子和墻體變換,使程序精簡。現(xiàn)實生活中地震導致建筑倒塌具有隨機性,為使得本項目更加真實,在UE4 中編寫墻體物理公式來控制墻體運動方向和裂縫倒塌的隨機性。在每次運行完成之后都將地震等級參數(shù)設(shè)置成0,避免程序運行過程中出現(xiàn)死循環(huán)。
2.3.2 組裝系統(tǒng)實現(xiàn)。斗拱組裝能夠讓體驗者更加了解斗拱結(jié)構(gòu)的內(nèi)部機理和抗震特性。組裝系統(tǒng)涉及到眾多數(shù)據(jù),將該系統(tǒng)作為獨立關(guān)卡進行制作。在Pawn 中編寫核心邏輯,將每一個單獨的斗拱結(jié)構(gòu)貼上標簽。抓取邏輯通過LineTraceForObjects函數(shù)進行線性檢測,得到斗拱結(jié)構(gòu)的標簽,與組裝斗拱的標簽進行Bool 判斷,結(jié)果為true 后才能進行組裝。當體驗者未將斗拱結(jié)構(gòu)放到指定位置時會觸發(fā)重力系統(tǒng),斗拱結(jié)構(gòu)會按照g=9.8m/s2進行自由落體。為了讓體驗者更快速、精準的進行組裝,我們?yōu)槎饭暗拿恳粋€結(jié)構(gòu)都設(shè)定了一種閃光材質(zhì),閃光材質(zhì)由Time 事件和正弦函數(shù)(Sin)組成,最后通過Lerp 進行每秒變換顏色。斗拱結(jié)構(gòu)的介紹用讀表實現(xiàn),導入UE4 中的DataTable 編程進行斗拱結(jié)構(gòu)和介紹一一對應。
2.3.3 場景引導系統(tǒng)實現(xiàn)。場景引導系統(tǒng)貫穿整個項目,所以將場景引導系統(tǒng)獨立封裝成為一個Actor。場景引導模型主要是以3DMax 制作,按壓引導動畫是在Maya 中完成,將模型和動畫導入到UE4 中,在Actor 根組件下添加Widget 交互控件來完成手柄觸碰操作。操作教學Widget 中包含3 張教學UI,每個UI之間的切換用WidgetSwitch 完成。Actor 和Widget 交互控件之間通過接口進行通訊,交互動畫用時間軸進行實現(xiàn)。作為VR 項目,應將玩家體驗放在首位,我們通過SetViewTargetwithBlend 實現(xiàn)切換攝像機之間平滑移動。在大量的模擬測試中發(fā)現(xiàn),開始切換相機時將BlendTime 調(diào)節(jié)為2.5,最終回調(diào)相機時將BlendTime 調(diào)節(jié)為0.5 能夠提高體驗效果。
2.3.4 文獻系統(tǒng)實現(xiàn)。文獻系統(tǒng)是項目的重要組成部分,文獻邊框和背景圖示在Photoshop 中制作,轉(zhuǎn)化為png 格式導入UE4。我們?yōu)槊恳粋€斗拱模型都配備了相關(guān)文獻因為文獻眾多,直接進行添加費時費力,將Excel 文獻表格導入UE4,由string和int 類型組成的結(jié)構(gòu)體加載為DataTable。保存數(shù)據(jù)部分編程如圖3 所示,在接口中編寫一套文獻匹配庫系統(tǒng),每次只要調(diào)用該接口就會在文獻匹配庫進行自動配對。為使字體和項目整體風格一致,導入宋體來替換UE4 默認字體。
圖3 保存數(shù)據(jù)
當今在虛擬仿真技術(shù)發(fā)展革新的浪潮中,通過虛擬仿真復原傳統(tǒng)文化,作為一種新的內(nèi)容表現(xiàn)形式,可以更好的吸引更多的玩家,對文化的傳播起到了很好的效果。虛擬仿真斗拱抗震性能體驗館按照真實的比例進行工業(yè)化建模,并且參照真實的斗拱抗震實驗,依托VR 設(shè)備,直觀感受中國古代斗拱的抗震效果和機理,展現(xiàn)斗拱特殊的柔韌性結(jié)構(gòu)體。重點在于斗拱抗震性能的效果展示與模擬。在虛擬現(xiàn)實設(shè)備中既便于理解中國古代宋式斗拱的組裝方式以及各組件功能,又著重體現(xiàn)古代木建筑的抗震機理,讓玩家得到更好“3I”體驗的同時,也弘揚了傳統(tǒng)文化。