姚震宇(蘇州旅游與財經(jīng)高等職業(yè)技術(shù)學校)
虛幻引擎英文名稱為Unreal Engine,簡稱UE。該引擎是由Epic Games 公司開發(fā)的一款引擎,提供了程序開發(fā)者需要的大量的核心技術(shù)、數(shù)據(jù)生成工具和基礎(chǔ)支持。虛幻引擎4 是當前應(yīng)用最廣的、最穩(wěn)定的虛幻引擎版本。UE4 不僅僅是一款游戲引擎,還能為各行各業(yè)的專業(yè)人士都能帶去無窮的創(chuàng)作自由,基于UE4 除了開發(fā)者能用來制作游戲,影視從業(yè)者還能進行影視制作、建筑設(shè)計師可以進行建筑還原,數(shù)字孿生方向可以用來制作3D 可視化程序??傊磺锌梢杂玫饺S仿真表達、虛擬環(huán)境模擬的行業(yè)都可以用UE4 進行制作。而虛幻引擎5 也由Epic 于2020 年公布,為第五代引擎。2022 年發(fā)布的完整版本可以讓制作者使用其核心技術(shù)——Nanite 虛擬幾何體,可以利用數(shù)以億計的多邊形模型直接導(dǎo)入引擎,而無須像在虛幻4中那樣需要將次世代高面數(shù)模型烘焙到法線貼圖才能完成此類效果。Lumen 為虛幻5 中的全動態(tài)全局光照解決方案,能夠?qū)鼍昂凸庹兆兓龀鰧崟r反應(yīng)。
云旅游的常見實現(xiàn)方式是導(dǎo)游借助手機錄像直播,通過鏡頭向眾網(wǎng)友帶來旅游資源的直接展示,讓觀眾做到人在家中足不出戶飽覽外界景點的效果。云旅游現(xiàn)在也是基于云理論的概念進行的功能性擴展,云技術(shù)(Cloud technology)是指在廣域網(wǎng)或局域網(wǎng)內(nèi)將硬件、軟件、網(wǎng)絡(luò)等系列資源統(tǒng)一起來,實現(xiàn)數(shù)據(jù)的計算、儲存、處理和共享的一種托管技術(shù)?!霸坡糜巍钡母唠A段的效果是把“云游玩應(yīng)用”與“云社交運用”,還有“虛擬現(xiàn)實技術(shù)”三者結(jié)合的一種融合技術(shù)展示。筆者所理解的利用PBR 三維建模和虛幻引擎技術(shù)所打造的“云旅游”概念就是一種可以讓虛擬游客走進虛擬景區(qū),來一場虛擬的旅游活動。游客與游客甚至可以在景區(qū)里碰個照面,互相交流,合影留念。
照片建模的概念是指通過相機等設(shè)備對被攝物體進行照片采集,經(jīng)過計算機圖形圖像處理及三維算法計算,從而生成被攝物體的三維模型的技術(shù)?;谔摶靡婕夹g(shù)的場景還原的基礎(chǔ)部分,照片采集建模和3Dsmax 建模Maya 建模同等重要,相對于傳統(tǒng)手工建模來比,照片采集建模有著高還原度,高寫實光影等一系列優(yōu)點。照片采集的工具分為相機或手機,還有無人機拍攝。無人機拍攝采集也分為線下處理整合照片建模和外出航飛采集照片、整合數(shù)據(jù)在云端建模平臺生成模型這兩種模式。
基于軟件算法來處理照片采集的方案首選在這一領(lǐng)域的常用軟件——Reality Capture,基于圖像和三維點云快速建模軟件。這個軟件掃描速度很快,掃描品質(zhì)極高,導(dǎo)出的模型能達到高精度模型的品質(zhì)要求。其可以用專業(yè)的相機、常用的手機拍攝和無人機拍攝等手法完成初步的照片采集。其在拍攝時要圍繞被攝主體進行環(huán)繞拍攝,要是對于小物件的采集可以用相機或手機拍攝取景比較方便,但是對于古建筑等體量比較大的場景需要用到無人機進行環(huán)繞飛行拍攝,并且拍攝環(huán)境的光線一定要好,也不能有霧氣阻擋。其他要求就是盡量保證每張照片與每張照片有很多重復(fù)的圖像,這些圖像導(dǎo)入Reality Capture軟件就能利用算法來計算圖片位置,進而計算點云。人們會在軟件中見到通過點云生成的模型。這套模型擁有著拍照時帶來的顏色貼圖,最終可以從軟件中導(dǎo)出掃描好的模型進入下一個階段進行制作。
對于照片采集建模之外的建模方式就是最傳統(tǒng)的利用三維軟件進行模型建模。這部分也是大多數(shù)人面臨場景建模時所考慮的制作步驟。對于場景搭建來講,往往需要一個基礎(chǔ)建模來作為基底,這部分是可以用Maya 或者3Dsmax 進行制作。對于模型賦予更多的細節(jié)就需要給基礎(chǔ)建模增加更多的制作流程,這套流程最終的渲染效果是基于物理渲染的效果,也就是PBR 流程,英文全稱為Physically Based Rendering。這是一種著色和渲染技術(shù),用于更精確的描述光如何與物體表面互動,由于其高度的易用性以及方便的工作流,已經(jīng)被影視行業(yè)廣泛使用。PBR 流程建模的優(yōu)勢還在于其通過精確的物理計算公式,可以準確地得到各種光照環(huán)境下的效果,為不同的3D 設(shè)計師們提供統(tǒng)一的工作流程。
對于基于PBR 流程進行的模型建模,是要對原始基礎(chǔ)模型加以加工。
其流程為(1)基礎(chǔ)模型建模:可用Maya 或者3Dsmax。
(2)低模到高模的轉(zhuǎn)換:將低精度模型導(dǎo)入Zbrush 進行細節(jié)雕刻建模,此環(huán)節(jié)要增加模型的面數(shù),來呈現(xiàn)更加逼真的細節(jié),以此來烘焙出帶有雕刻細節(jié)的法線貼圖。
(3)高模轉(zhuǎn)回低模:主要做法是用Maya 拓撲,維持高模的特征的同時減少面數(shù),并方便下一個流程的開展。
(4)展UV:作為給模型繪制貼圖的基礎(chǔ)步驟,就是給模型展UV,而上一部的拓撲就是把高面數(shù)的模型的布線簡化成可以展UV 的低面數(shù)形態(tài)。常用的展UV 軟件有UV layout 和Unfold3D,Maya 中也因為有Unfold3D插件的加持,讓Maya 也可以方便的展好低模的UV。
(5)烘焙貼圖:利用Substance Painter 軟件,簡稱SP。其進行制作烘焙法線貼圖、AO 貼圖、曲線貼圖、置換貼圖等,用來保留高模上面的細節(jié),再貼圖至低模上進行展現(xiàn)。
(6)SP 貼圖制作:此流程即用上一個部分的烘焙出來的貼圖載入到SP 軟件中,利用SP 軟件中強大的材質(zhì)庫與編輯能力完成出彩的光照貼圖效果。
(7)導(dǎo)入引擎:此部分也是最后一個流程,是把前面制作的帶有SP 貼圖的低模載入至UE4 或Unity3D 或者八猴渲染器(Marmoset Toolbag)進行展示,或者進一步2 參與程序或者影視制作,來達到工業(yè)級的渲染效果。
舉項目中的例子來講,當制作同里古鎮(zhèn)的著名三橋景區(qū)時,三橋中的太平橋是用PBR 流程來制作,起先利用照片采集的方式,在光照充足的夏天拍攝了大量的橋體照片,這部分的照片用來輔助建模,從Maya 中建出低模,再導(dǎo)入Zbrush 中進行細節(jié)雕刻,增加石橋的肌理和石磚上的紋路雕刻效果。再通過Maya 進行拓撲,再進行展UV。進入SP 軟件進行貼圖烘焙,把ZB 雕刻出的效果烘焙提煉,再賦予低模,同時在SP 中進行石磚材質(zhì)的賦予,甚至青苔等細節(jié)的添加,讓太平橋的真實感逐級增加。最后,進入UE4 進行場景的搭建,把橋搭建在河道上,逐步豐滿同里景區(qū)的場景。
虛幻引擎能夠使用強大的地形編輯工具進行創(chuàng)建場景地貌,可以使用地形(landscape)工具創(chuàng)建室外場景區(qū)域,這些地貌經(jīng)過優(yōu)化可以在不同設(shè)備上保持穩(wěn)定幀率運行。編輯地形的方法有三種。
第一,使用引擎內(nèi)置的地形工具從頭搭建新的地形高度圖。
第二,導(dǎo)入以前在虛幻引擎編輯器中創(chuàng)建的或在外部工具中創(chuàng)建的地形高度圖。
第三,創(chuàng)建自己的格式來導(dǎo)入地形,這里參照創(chuàng)建自定義地形導(dǎo)入程序。
在虛幻引擎中主要使用的還是本體軟件中自帶的地形編輯器,使用方法就是在主工具欄中點擊選擇模式(Select Mode),然后選擇地形(Landscape),創(chuàng)建一個地形。這其中的分段大小、組件分段、數(shù)量、分辨率等都是根據(jù)同里三橋景觀的場景去創(chuàng)建,同里景區(qū)的第一手地圖由之前無人機拍攝取景時的俯拍照片做地形的參照,再對照百度地圖里的景區(qū)地圖進行比對,力爭取得一個相對高質(zhì)量的精度地圖。
創(chuàng)建好地形后,就利用雕刻工具,按住Shift 加鼠標右鍵,可以做凹陷下去的雕刻繪制,用來模擬景區(qū)里的河道凹陷的效果。利用平整功能可以將沿岸的邊緣處理的平滑一些。而平整功能就是將雕刻功能中將像半球體一樣的凹陷給做推平的效果,以此來達到平整河道底面的效果。最后一個斜坡功能就是在河道邊上將指示器在Z 軸做上下偏移,做一個斜坡,用來表現(xiàn)河道邊上的樓梯斜坡的效果。以上四個功能都要配合相關(guān)的畫筆強度、筆刷大小、衰減效果等來協(xié)同處理雕刻的效果,以此方便制作出近似真實的景區(qū)河道這部分的地形效果。其通過這兩種方案把場景的模型與材質(zhì)完全覆蓋住基礎(chǔ)的地形,再調(diào)整天光效果與攝像機鏡頭取景,一個完整的虛擬景區(qū)場景基本就制作完成了。
在虛幻引擎中,藍圖編程的作用在于給運行的程序加上可行化的程序加持,讓模型或者場景添加上藍圖腳本功能,可以起到交互的作用,給玩家?guī)斫换サ捏w驗。在這個工程中,虛擬景區(qū)的光照強度,光照角度等等自然天光的效果更需要跟顯示時間所結(jié)合,讓游客在任何現(xiàn)實時間里造訪虛擬景區(qū)都能讓畫面里的光影效果同步。這部分的需要創(chuàng)建Clock 控件藍圖,設(shè)置方案就是依照鐘表的時間與天空的運動聯(lián)系起來,利用Light Source 的Y 角度與時鐘相匹配,讓時間與光線存在聯(lián)動。在這種場景漫游的程序中也較為常見一種小地圖的交互界面,創(chuàng)建導(dǎo)航小地圖是為了讓游客在瀏覽過程中能定位自己所在景區(qū)的位置。用的交互方案是創(chuàng)建命名為MAP的Render Target,利用Third Person Character 藍圖,添加相機,并旋轉(zhuǎn)相機角度,利用攝像機的效果實現(xiàn)小地圖的效果。
在場景的布置上,除了建筑模型的建構(gòu)、光影天光與時間的同步,還需要考慮進一步的仿真效果,為場景的交互繼續(xù)增加臨場的寫實感。為了讓這套云旅游項目程序能顧及各個天氣場景的展現(xiàn),天氣系統(tǒng)的交互也要增加進去。這部分需要一個插件Ultra Dynamic Sky下載到項目中,利用Ultra Dynamic Sky 替換掉默認項目中的燈光等,接著把Ultra Dynamic weather導(dǎo)入場景中,這樣景區(qū)中的天氣擁有了可調(diào)節(jié)的選項Weather Type。在天氣這個選項中就有了晴空、多云、陰天、大霧、雨、雪、風暴等十一個不同的天氣效果,而能用在江南水鄉(xiāng)同樣的天氣效果。我們選擇基礎(chǔ)的晴空、陰天、多云之外,適當?shù)男∮旰统跹┬Ч?,都能很好地豐富整個江南的天氣系統(tǒng)。這個插件是可以很方便地改變天氣變化,但是也需要后續(xù)的藍圖編譯調(diào)整來完善天氣與場景的交互效果。比如,當雨雪飄落在景區(qū)中,但是三橋景區(qū)的地面、橋面、周圍的房屋屋檐都沒有落雨雪,也沒有濕漉漉的感覺,這里就需要讓場景模型的材質(zhì)與這套插件的腳本進行結(jié)合,讓整個場景的模型都與這套腳本的特效接應(yīng)上藍圖的端口,場景的氣候變化始終能與場景建筑產(chǎn)生交互關(guān)聯(lián)。最后,為了讓游客能在場景漫游中可切換不同天氣的變化,需要給變換的天氣系統(tǒng)設(shè)置不同的開關(guān)進行控制。在藍圖中復(fù)制Construction Script Function 節(jié)點到事件里粘貼,然后通過變量Weather Type 來觸發(fā)它。在關(guān)卡藍圖中設(shè)置按鍵“1”來簡單設(shè)置一個啟動按鍵,后續(xù)連接Get Actor of Class,最后連接Weather Type 這個變量。這樣調(diào)整Weather Type 為Rain,回到場景界面按鍵盤上的“1”,天氣就變成雨天。同樣的模式復(fù)制剛才的一串藍 圖,改“1” 為“2”Weather Type為Snow,這樣在場景里運行,點擊“2”,場景會由雨天變雪天。這解釋了用按鍵來切換天氣效果,延伸的做法是由鍵盤按鍵變?yōu)槠聊簧系腢I 按鍵,這樣比較方便在手機上運行程序,圖標UI 也更能直觀地表達天氣變化的效果。以上只是作為交互內(nèi)容的一點案例展現(xiàn),具體的項目案例還會有更多復(fù)雜的藍圖變化,需要制作的時候多方考慮運行的合理性,才能順利運行整個程序。
當前面的制作部分都完成,就可以將工程文件打包成可以在電腦或者手機等移動設(shè)備上運行的程序。景區(qū)的場景程序主要是提供給游客進行虛擬游覽的,所以需要提供一整套大小合適、安裝便利的程序安裝包,方便游客通過互聯(lián)網(wǎng)下載并安裝。
從虛幻引擎里將程序打包主要分為導(dǎo)出為Android 系統(tǒng)手機、IOS 系統(tǒng)手機或者Windows 系統(tǒng)的程序。在打包之前,其需要對程序進行測試。如果程序能完美運行,場景的構(gòu)建沒有貼圖或者建模bug,就可以進行打包導(dǎo)出。打包的要點如下:盡量保證工程文件的保存路徑都是英文,項目名稱也是英文格式。選擇項目配置為“發(fā)行”,能讓打包好的安裝包容量比項目配置為“發(fā)開”的選項縮小一半。在默認RHI 選項中選擇最為穩(wěn)定的DirectX11,編譯器版本如果是UE4 開發(fā)的選擇Visual Studio 2017,如果是UE5 開發(fā)的選擇Visual Studio 2019或者2022,Splash 中的編輯器啟動畫面和游戲啟動畫面乃至Icon 中的程序圖標,都可以按照其提示尺寸進行上傳替換。最后,以Windows 平臺打包為例,在平臺選項中選Windows,選擇“發(fā)行”,并在內(nèi)容管理中點擊“打包項目”選擇輸出路徑,也要務(wù)必選擇英文路徑,這套打包流程就算完成。等待制作完成可以運行測試,有問題還可以進行修改來完善工程質(zhì)量,多次嘗試打包出合適設(shè)備運行的程序。
至此,整個虛幻引擎制作江南古鎮(zhèn)景區(qū)的工程的簡略流程如上文所述。該流程結(jié)合業(yè)界成熟的PBR 建模流程與虛幻引擎制作大型影視類型的場景理念,力圖把同里這座江南水鄉(xiāng)的景點一比一分批還原到虛幻引擎中。本文只記錄了同里三橋景區(qū)的制作部分,還有后續(xù)的退思園、嘉蔭堂、崇本堂、王紹鏊紀念館等重要的特色景點還需要逐步制作,并于后續(xù)版本更新中再加入進來。等到景區(qū)的線上版本全部開發(fā)完,就讓游客能在不方便到場的前提下也能“云旅游”,在線上“游覽”這座古鎮(zhèn),欣賞它的四季美景。待到游客能自己到景區(qū)一探究竟時能體會到虛擬與現(xiàn)實的精妙,對于感興趣的場館可以做到線上打卡,線下采風。感慨在方寸之間的景色已然存在于云端之上,乃至作為一個虛擬場景地圖的功能,提升了線下旅游的新維度。
試想一下,僅僅一個優(yōu)秀的線上云體驗景區(qū)游覽就能給游客帶來莫大的方便,要是全國的景區(qū)都上線自己的云旅游場景并提供游客預(yù)覽部分景點,就能讓游客擁有了更多的選擇權(quán),方便游客找尋更合適的游覽景點和旅行路線,甚至能帶動線下景點的建設(shè)與維護,提升各地的景區(qū)競爭力,讓旅游行業(yè)更加透明化。此類虛幻引擎打造的景區(qū)方案無論商業(yè)價值,還是經(jīng)濟價值、社會價值、人文價值都有著不可估量前景。同時,相信未來科技的進步還會讓云旅游的體驗更加豐富和擬真。