国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于UE4引擎的營造法式大木工藝可視化復(fù)原研究★

2019-12-20 01:11:54
山西建筑 2019年22期
關(guān)鍵詞:法式藍(lán)圖可視化

楊 曙 光

(徐州工程學(xué)院,江蘇 徐州 221008)

0 引言

虛擬可視化技術(shù)發(fā)展到今天,已經(jīng)遍及到各個領(lǐng)域,相關(guān)的研究成果猶如雨后春筍令人目不暇接,特別是建筑文化領(lǐng)域相繼出現(xiàn)了趙辰先生的虛擬江西廬山東林寺大殿大木作研究成果,陳薇教授對唐宋建筑的計算機(jī)演繹成果、以及故宮博物院的虛擬演示系統(tǒng)等,這些成果的出現(xiàn)為我國傳統(tǒng)建筑文化的研究提供了新的手段和方法。《營造法式》(以下簡稱《法式》)作為傳統(tǒng)建筑典籍也需順應(yīng)時代發(fā)展之潮流,以新的面貌和形式來展示其文化之精髓。

1 《法式》大木作建筑工藝的虛擬可視化可行性分析

《法式》是北宋時期將作監(jiān)李誡組織編撰的由官方頒行的一部建筑設(shè)計學(xué)著作,其中大木作制度是《法式》最重要的內(nèi)容之一?!斗ㄊ健肪硭拈_篇即提到“凡構(gòu)屋之制,皆以材為祖。材有八等,度屋之大小,因而用之”[1]。這明確了構(gòu)造房屋都要以材為根本,而對材的等級規(guī)定也表明了不同房屋類型和級別要有相應(yīng)之材用之。也就是說明確了材的概念就可以推算出不同級別房屋和各構(gòu)件數(shù)據(jù),有了數(shù)據(jù)就可以在計算機(jī)進(jìn)行模擬建模并進(jìn)行編程。如今這些數(shù)據(jù)已經(jīng)被我國的專家學(xué)者研究成功,如陳明達(dá)先生的《營造法式大木作研究》將大木作材份制、房屋的規(guī)模形式、各種構(gòu)件的作用與規(guī)格都有明確的表述[2],潘德華先生的《斗栱》一書中,將斗栱的組合次序,各種分件的詳細(xì)的尺寸數(shù)據(jù)都作了極為詳盡的標(biāo)注(精確到小數(shù)點后兩位數(shù))[2]。根據(jù)這些數(shù)據(jù),在計算機(jī)里采用3dsmax進(jìn)行建模,Unreal Engine4進(jìn)行編程成為了可能。3dsmax是當(dāng)今世界應(yīng)用最廣泛的建模軟件,而Unreal Engine4引擎則隨著絕地求生游戲的風(fēng)靡而被熟知,它擁有超高的效能和畫質(zhì)。有了這些數(shù)據(jù)基礎(chǔ)和技術(shù)基礎(chǔ)作保障,再進(jìn)行虛擬可視化研究就可以做到水到渠成。

《法式》大木作建筑工藝可視化復(fù)原要經(jīng)歷數(shù)據(jù)確定、虛擬建模、藍(lán)圖編程等三個階段。

2 《法式》大木作之殿堂尺度和構(gòu)件形制確定

《法式》卷四大木作制度第一條就開宗明義地說:“凡構(gòu)屋之制,皆以材為祖,材有八等,度屋之大小,因而用之。”它所規(guī)定的八個等級對應(yīng)“廣”“厚”的用材范圍和規(guī)格清晰地表明了材的大小是與房屋的規(guī)模相對應(yīng)的,但是并沒有屋頂?shù)男问竭M(jìn)行等級規(guī)定。由于在《法式》中多數(shù)以較高等級的舉例來說明問題,因此本項目的虛擬房屋規(guī)模的選擇是殿閣,用材第二等級,斷面尺寸8.25寸×5.5寸(見表1),而屋頂?shù)男问诫m沒有做明確的等級規(guī)定,但是在實際運用中已經(jīng)有了等級次序(見表2),本案選擇四阿殿(廡殿)頂。綜上概括為:重檐廡殿殿閣七間十椽,副階周匝各兩架椽,身內(nèi)雙槽。殿身用二等材,副階減一等為三等材。這是虛擬建模最基礎(chǔ)最重要的一個環(huán)節(jié),也規(guī)定了整個項目的規(guī)模。

表1 宋代屋頂?shù)燃塠4]

表2 《營造法式》材等尺寸及取用[2]

“材份制”是整部著作的靈魂,根據(jù)等級規(guī)定了取值范圍,又或間廣不勻,即“每補(bǔ)間鋪作一朵,不得過一尺”之表述,可見其規(guī)定并非是一成不變的,而是留有余量,無具體固定值可以借鑒。因此,間廣(長)、椽架平長(寬)和柱高的確定只有利用相關(guān)的研究假說成果作為依據(jù),本項目參照的是陳明達(dá)所著《營造法式大木作制度研究》研究成果以及華南理工大學(xué)黃存慧碩士論文的研究成果,最終確定殿閣用雙補(bǔ)間,間廣為375份(以二等材每份為0.55寸折合營造尺20.625尺),副階面闊九間,除去稍間外,其他間廣與殿身間廣尺寸相同(折算二等材375份為三等材412.5份),副階(三等材)深二椽,每椽平長120份,故副階進(jìn)深為三等材240份,即副階梢間為三等材240份(折為二等材218.2份)。椽架平長為二等材130份,且等長。殿身進(jìn)深為(130×10)1 300份。副階二椽,椽架平長為三等材120份,折二等材109.1份。殿身平柱柱高二等材500份,副階柱高三等材250份折二等材約227份。

綜上,整個殿閣的三維空間就建立起來,下面就大木作構(gòu)件斗、栱、昂、爵頭四類鋪作以及柱、額枋、梁、蜀柱、駝峰托腳、叉手、替木、檁和襻間、陽馬(角梁)、椽和飛子(飛檐椽)等構(gòu)件進(jìn)行尺度確定。因本研究采用殿堂實例進(jìn)行建模,故此鋪作擬選用較高級別的七鋪作重栱出雙杪兩下昂[5],里轉(zhuǎn)六鋪作重栱出雙杪,并計心造[5];副階采用五鋪作重栱,出單杪單昂,并計心造[5];殿閣槽深約327份,身槽內(nèi)鋪作用六鋪作。鋪作構(gòu)件尺度、形制在潘德華先生所著《斗栱》一書中有詳細(xì)地記載,其他構(gòu)件的尺度同樣借鑒華南理工大學(xué)黃存慧碩士論文的研究成果(如圖1~圖3所示)。

至此,《法式》中較高等級的殿堂建筑的三維空間尺度,以及各構(gòu)件的尺度和形制都已經(jīng)確定,為下一步的建模工作奠定了基礎(chǔ)。

3 《法式》大木作之殿堂的虛擬建模

虛擬建模是可視化復(fù)原的基礎(chǔ),現(xiàn)在比較流行的建模工具有AutoCAD,3dsmax,Maya,Sketch UP還有雕刻工具Substance,Zbrush等。本研究所選用的是使用最廣的AutoCAD和3dsmax。在AutoCAD中,將上述工作中確定的殿堂間廣(長)、椽架平長(寬)、柱高三維空間尺度,結(jié)合《法式》卷二十九大木作制度圖樣(下)確定殿閣地盤分槽(平面)、測樣(立面),最后導(dǎo)入3dsmax。

3dsmax擁有極其強(qiáng)大的建模功能,特別是它的編輯多邊形,配合編輯樣條線相關(guān)的工具,幾乎可以實現(xiàn)除特殊曲面和異形之外的任何圖形[6]。長期的建模實踐證明,利用樣條線為基礎(chǔ)建模起始點,往往是最方便、最靈活的建模方式,因此虛擬殿堂的建模流程是樣條線—編輯樣條線—擠出—轉(zhuǎn)換為可編輯多邊形,即通過對照地盤分槽(平面)、測樣和柱高的方法(通常所講的三視圖)將殿堂三維空間建立起來。大木作構(gòu)件中最復(fù)雜、最具有典型意義的是斗、栱、昂、爵頭,這四類鋪作的建模區(qū)別于上述的方法,直接在3dsmax里通過矩形作為參考標(biāo)尺進(jìn)行數(shù)據(jù)定位,通過編輯樣條線再擠出三維圖形,這種方法的好處是針對《斗拱》一書中不明確的數(shù)據(jù)關(guān)系,可以通過導(dǎo)入圖片的方式進(jìn)行描紅,然后根據(jù)其他的數(shù)據(jù)按照比例推算出確切數(shù)據(jù)。建模時合理運用捕捉工具力求數(shù)據(jù)精確,但也難免有數(shù)據(jù)偏差,因此構(gòu)件組合拼裝就能檢驗出這些偏差,需要在拼裝時對這些偏差進(jìn)行修改和調(diào)整,常用的工具包括編輯多邊形、編輯網(wǎng)格、FFD2X2等(如圖4所示)。

特別要注意的是在3dsmax中建模一定要慎用Boolean,由于Boolean的算法不同,造成Boolean之后會產(chǎn)生很多無用的亂線和點,雖對整個模型外觀沒有太大影響,但是會大大加重渲染負(fù)擔(dān),影響體驗。當(dāng)必須要進(jìn)行布爾運算時,應(yīng)當(dāng)首選Proboolean。所以在整個建模過程中,Boolean通常是不得已的最后選擇。

另外,為了方便接下來的工作順利高效的開展,順利導(dǎo)入UE4游戲引擎,建模時還應(yīng)特別注意以下幾點:

1)3Dsmax單位設(shè)置為cm,因UE4游戲引擎默認(rèn)單位是cm;最大化的精簡模型面數(shù)和點數(shù),多余的點、線、面、組務(wù)必要刪除或移除;

2)因UE4有一套更加智能化的燈光系統(tǒng)和材質(zhì)系統(tǒng),因此在3dsmax中不需要設(shè)置燈光,也不需要編輯材質(zhì),只需要在默認(rèn)材質(zhì)上指定好貼圖,加上貼圖坐標(biāo)調(diào)整滿意即可;

3)利用Max自帶UVW展開工具(也可以用第三方展UV插件),進(jìn)行第二套UV展開工作,此套UV通常是指燈光UV;

4)模型轉(zhuǎn)換為Mesh,坐標(biāo)全部歸零; 收集貼圖到指定文件夾,采用英文路徑。

完成以上工作以后,將模型導(dǎo)出FBX格式文件(采用CG工具箱專用導(dǎo)出插件更方便)。

4 《法式》大木作之殿堂的藍(lán)圖編程

藍(lán)圖(Blueprint)是UE4游戲引擎的可視化腳本,是一個完整的游戲腳本系統(tǒng),其理念在基于節(jié)點的編輯中創(chuàng)建游戲可玩性元素,其工作原理是通過各種用途的節(jié)點構(gòu)成圖表來進(jìn)行工作,這些節(jié)點包括針對藍(lán)圖每個實例的對象構(gòu)建、獨立的函數(shù)及一般的游戲性事件,然后使用連線把節(jié)點、事件、函數(shù)及變量連接到一起,從而創(chuàng)建復(fù)雜的游戲性元素[7]。本研究基于這種可視化腳本,通過第三人稱實現(xiàn)拼裝、拆解、旋轉(zhuǎn)、孤立顯示、實時顯示名稱、表格等交互信息。

4.1 自動拼裝與拆解實現(xiàn)方法與藍(lán)圖

1)正確導(dǎo)入FBX文件,正確設(shè)置好材質(zhì)屬性。

2)設(shè)置模型坐標(biāo)。新建藍(lán)圖類(Actor)拖入場景并復(fù)制若干,每一個類都嵌入一個不同的構(gòu)件,再根據(jù)max文件的坐標(biāo)對應(yīng)設(shè)置好場景里的模型坐標(biāo)。

3)拆分與組合藍(lán)圖編程。打開藍(lán)圖類進(jìn)行拆分編程,所用到的節(jié)點是添加自定義事件(命名Chaifen),時間軸(TimeLine)和Set World Location,自定義Vector類型變量與TimeLine設(shè)置的時間函數(shù)相乘得到拆分X,Y,Z三維的數(shù)據(jù),時間函數(shù)越大拆解的距離和持續(xù)的時間越大且實時更新[8],Chaifen自定義事件執(zhí)行的命令是play from start。Zuhe自定義事件執(zhí)行的命令是Reverse from End。

自定義(Chaifen和Zuhe)事件,新建藍(lán)圖Pawn(命名MyPawn)并打開,設(shè)置鍵盤輸入事件“1”,執(zhí)行分支判斷(自定義布爾型變量作為條件接入),按下“1”鍵、當(dāng)為假的時候執(zhí)行FlipFlop節(jié)點并開始遍歷場景中的所有類,循環(huán)完之后開始執(zhí)行“Chaifen”事件,再次按下“1”鍵,按照同樣的邏輯執(zhí)行“Zuhe”事件。常用節(jié)點是鍵盤事件“1”、分支、FlipFlop,Get all Actors of class,F(xiàn)or Each Loop。

4.2 自動旋轉(zhuǎn)

1)設(shè)置鼠標(biāo)控制事件。

新建Yaw,Pitch浮點型(Float)變量,添加Spring Arm和Camera組件。在My Pawn里分別輸入坐標(biāo)軸yaw事件和pitch事件分別執(zhí)行Addcontroller Yaw Input,Add Controller Pitch Input節(jié)點,分支(Branch)判斷(軸輸出值不相等作為條件接入)為真的時候分別執(zhí)行設(shè)置Yaw和Pitch變量。

鼠標(biāo)左鍵事件執(zhí)行時間軸0 s~2 s,執(zhí)行序列節(jié)點,并與Yaw,Pitch兩個變量相乘的結(jié)果分別接入Add controller Yaw Input,Add Controller Pitch Input節(jié)點。

鼠標(biāo)滾輪軸事件,重點要得到Spring Arm實時更新的取值范圍(200~1 500)作為條件接入分支,為真的時候執(zhí)行設(shè)置Target Arm Length節(jié)點。

2)設(shè)置鍵盤事件。

執(zhí)行FlipFlop節(jié)點A和B,按下“Z”鍵執(zhí)行A,執(zhí)行play from start時間軸節(jié)點,并將自定義0~500的取值范圍輸出到Add controller Yaw Input并執(zhí)行旋轉(zhuǎn),再次按下“Z”鍵,執(zhí)行FlipFlop節(jié)點的B,執(zhí)行時間軸stop,將自定義0~500的取值范圍輸出到Add controller Yaw Input執(zhí)行結(jié)束旋轉(zhuǎn)。

3)雙擊孤立顯示物體。

此交互功能實現(xiàn)的藍(lán)圖邏輯:鼠標(biāo)通過序列同時執(zhí)行兩個命令,一是單擊物體通過Line Trace By channel節(jié)點檢測到物體,通過Convert Mouse Location To World Space節(jié)點進(jìn)行世界空間鼠標(biāo)和射線起始值,沿給定的線執(zhí)行碰撞追蹤,執(zhí)行分支節(jié)點判斷真或假[9],Out Hit接入Break Hit Result,從Hit Actor對象引用判斷是否執(zhí)行藍(lán)圖接口,最后作為條件接入分支。二是自定義整數(shù)型變量(鼠標(biāo)按下次數(shù))結(jié)合函數(shù)運算和Retriggerable Delay,執(zhí)行分支判斷真或假,再遍歷每一個Actor,當(dāng)與射線檢測到的Actor不相等的時候執(zhí)行真,執(zhí)行設(shè)置可見性節(jié)點(Set Visibility)和世界坐標(biāo)節(jié)點(Set World Location),執(zhí)行時間軸的相機(jī)時間函數(shù),最后賦值給孤立模式變量(新建布爾型變量)。再通過鍵盤事件B執(zhí)行退出孤立模式(不再贅述)。

4.3 手動組裝藍(lán)圖

此交互功能的實現(xiàn)要經(jīng)歷三大部分:

1)設(shè)置2D紋理渲染目標(biāo)。添加Scene Capture Compont2D組件,從單一平面采集場景的一個“快照”并將其填入渲染目標(biāo),通過Texture Target選擇設(shè)置常規(guī)2D紋理源用作渲染目標(biāo),從而新建且保存一個New Text tureRenderTarget2D[9]。

2)創(chuàng)建UMG控件藍(lán)圖(略),再創(chuàng)建自定義事件(shoudongzuzhuang)執(zhí)行Set Visibility,獲取變量start并分解其引腳為x,y,z三個輸出值,z值單獨相加120,輸出到Set World Location并執(zhí)行。其次創(chuàng)建自定義事件(Zuzhuang)執(zhí)行Set Visibility、設(shè)置時間軸執(zhí)行緩動函數(shù)節(jié)點,通過Get World Location設(shè)置向量A確定減緩起始值,通過變量start設(shè)置向量B確定減緩最終值,Alpha值確定減緩時間函數(shù),Result(結(jié)果)實時更新新位置,最后執(zhí)行 Set World Location,得到組裝的實時世界位置信息。最后創(chuàng)建自定義事件(Tuichuzuzhuang)執(zhí)行Set Visibility和Set World Location并通過變量start實時更新New Location。

3)輸入鍵盤事件M,按下M鍵執(zhí)行“手動組裝”布爾型變量,顯示UI控件,并通過遍歷每一個構(gòu)件的藍(lán)圖執(zhí)行組裝程序, 再次按下M鍵退出顯示UI控件,退出組裝程序(界面效果如圖5所示)。

4.4 優(yōu)化體驗

虛擬可視化最終目的是營造出一個虛擬的具有極強(qiáng)沉浸感和代入感的可交互場景空間,因此需要在上述基礎(chǔ)上添加控制聲音節(jié)點,以及按鈕音效等。虛擬可視化的聲音是通過聲音節(jié)點建外部的聲音文件導(dǎo)入虛擬世界形成,只支持wav格式,常用節(jié)點:Play Sound 2D(播放聲音無音量衰減),Play Sound at Location(以3D方式播放聲音并可以設(shè)置音量衰減范圍)[10]。按鈕音效比較簡單不再贅述。

4.5 最后打包和發(fā)布

最后發(fā)布到pc端,分別通過鍵盤“1”“Z”“B”“M”“O”執(zhí)行建筑構(gòu)件的自動拆分與組合、自動旋轉(zhuǎn)、構(gòu)件的孤立顯示與退出、手動搭建與拆解構(gòu)件模型、信息列表顯示等實時交互功能。此外,鼠標(biāo)事件執(zhí)行構(gòu)件的高亮顯示和構(gòu)件名稱信息實時顯示。

5 結(jié)語

《營造法式》大木作遵循的“以材為祖”的設(shè)計原則,許多專家和學(xué)者以此為依據(jù)作了許多深入而詳盡的研究,并總結(jié)出“材份”模數(shù)制度,獲得了許多珍貴的研究數(shù)據(jù)。項目將這些研究數(shù)據(jù)圖像化和可視化,通過推演計算確定了地槽間廣(長)、椽架平長(寬)、柱高三維空間尺度,并進(jìn)行數(shù)字化建模。在UE4游戲引擎里實現(xiàn)大木作的自動旋轉(zhuǎn),構(gòu)件孤立顯示、拆分和組裝,手動拆分和組裝等交互功能,可以實時顯示構(gòu)件的名稱及文字解釋等信息,讀者通過操作這一套虛擬可視化系統(tǒng)可以更加直觀地學(xué)習(xí)到宋《法式》大木作的結(jié)構(gòu)構(gòu)成、構(gòu)件形態(tài)與數(shù)據(jù)、拼接組合方式等建筑工藝的復(fù)原內(nèi)容,同時,這種對傳統(tǒng)工藝的虛擬可視化研究方法也可以為其他領(lǐng)域研究方法的創(chuàng)新提供一種新的可能。此外,因研究的深度和廣度不足也難免出現(xiàn)一些數(shù)據(jù)錯誤和概念錯誤,期望在以后研究中能夠繼續(xù)完善,力求做到準(zhǔn)確還原《法式》本義。

猜你喜歡
法式藍(lán)圖可視化
日常之美
藍(lán)圖
中國自行車(2022年6期)2022-10-29 02:05:40
基于CiteSpace的足三里穴研究可視化分析
基于Power BI的油田注水運行動態(tài)分析與可視化展示
云南化工(2021年8期)2021-12-21 06:37:54
五年藍(lán)圖
基于CGAL和OpenGL的海底地形三維可視化
“融評”:黨媒評論的可視化創(chuàng)新
傳媒評論(2019年4期)2019-07-13 05:49:14
我們的健康新藍(lán)圖
繪好國家級健康新藍(lán)圖
法式高腰傘裙,“遮肉與優(yōu)雅”兩得
Coco薇(2015年10期)2015-10-19 12:49:56
比如县| 宾阳县| 高台县| 库车县| 英超| 济阳县| 保康县| 平舆县| 徐汇区| 曲靖市| 偏关县| 海晏县| 德格县| 静安区| 陆河县| 库车县| 大同市| 郓城县| 贺兰县| 寻甸| 翼城县| 阿尔山市| 平江县| 潞西市| 城步| 黄平县| 武汉市| 邹城市| 宣城市| 苗栗市| 水富县| 潜江市| 牙克石市| 大关县| 沭阳县| 中江县| 昌图县| 长垣县| 洛扎县| 东兴市| 荥经县|