摘 要:從古至今,國內(nèi)外對自然的戀慕與期望,始終藏匿在內(nèi)心的深處。而湖居帶來的悠閑與靜謐,穿越時光與空間,成為人居信仰。使用虛擬現(xiàn)實(shí)技術(shù)設(shè)計(jì)的湖景別墅,可為用戶帶來沉浸式、交互式的逼真體驗(yàn)感,推進(jìn)臨湖而居、聚水為財(cái)?shù)奈幕瘋鞒?。文章圍繞臨湖景觀和智能家居兩大方面,基于Unreal Engine 4(UE4)引擎,通過材質(zhì)編程設(shè)計(jì)逼真的湖泊,并在湖景周圍添加山地和樹林等自然景觀。別墅內(nèi)部還添加了電視機(jī)、掃地機(jī)器人等人機(jī)交互,使用戶可以更好地感受湖景別墅的智能化居住體驗(yàn)。
關(guān)鍵詞:Unreal Engine 4引擎;湖景別墅;材質(zhì)編程;人機(jī)交互
中圖分類號:TP391.9 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2025)02-0064-05
Design and Key Technology Implementation of Lake View Villa Based on UE4
XIA Zheng
(Changzhou Vocational Institute of Industry Technology, Changzhou 213164, China)
Abstract: From ancient times to the present, the admiration and expectation for nature at home and abroad are always hidden deeply in the heart. The leisure and tranquility brought by the lake habitation, crossing time and space, becomes a belief in human habitation. The lake view villa designed by Virtual Reality technology can bring users the immersive and interactive realistic experience, and promote the cultural inheritance of lakeside habitation and gathering water for wealth. This paper revolves around two aspects of lakeside landscape and smart home to design the realistic lake by material programming based on Unreal Engine 4 (UE4) engine, and adds natural landscapes such as mountains and woods around the lake landscape. The human-computer interactions such as televisions and sweeping robots are also added inside the villa, so that users can better feel the intelligent living experience of the lake view villa.
Keywords: Unreal Engine 4 engine; lake view villa; material programming; human-computer interaction
DOI:10.19850/j.cnki.2096-4706.2025.02.011
0 引 言
UE4(Unreal Engine 4)是由Epic開發(fā)的一款游戲引擎。該引擎被廣泛應(yīng)用于游戲開發(fā)、虛擬現(xiàn)實(shí)(VR)、汽車展廳等領(lǐng)域[1-3]。UE4提供了豐富的功能和工具,包括場景編輯器、材質(zhì)編輯器、動畫編輯器、藍(lán)圖可視化編程、物理引擎等,使用戶能夠體驗(yàn)逼真的游戲場景[4-6]。UE4在游戲畫面和沉浸體驗(yàn)方面要明顯優(yōu)于Unity3D引擎。UE4畫面效果完全達(dá)到3A游戲水準(zhǔn),光照和物理渲染效果也明顯優(yōu)于Unity等不少游戲引擎,這為本文設(shè)計(jì)出逼真的湖景和智能化的室內(nèi)交互打下了堅(jiān)實(shí)的基礎(chǔ)[7-10]。
本文圍繞臨湖景觀和智能家居兩大方面,將自然和智能完美融合,使用戶享受愜意的湖居時光。該湖景別墅的搭建基于Unreal Engine 4軟件平臺,在Maya建模軟件中設(shè)計(jì)獨(dú)棟別墅、門、燈具、掃地機(jī)器人等模型,并導(dǎo)入到UE4中。場景中添加了帶有丘陵和小山坡的地形,并生成了一片樹林。植被還添加了被風(fēng)吹動后搖曳的效果以及風(fēng)的聲音,使風(fēng)吹草動的效果更加逼真。通過材質(zhì)編程在別墅前添加了湖景,湖泊具有清澈見底、波光粼粼的逼真效果。用戶可以在別墅落地窗前觀賞湖景和山林景觀,享受大自然的熏陶。別墅內(nèi)部還添加了開關(guān)門、開關(guān)電視、開關(guān)燈、掃地機(jī)器人4種人機(jī)交互,使用戶體驗(yàn)智能化居住體驗(yàn)。
1 總體設(shè)計(jì)流程
湖景別墅總體設(shè)計(jì)效果如圖1所示。從圖中可以看出,遠(yuǎn)處是連綿不斷的山坡,通過指數(shù)級高度霧技術(shù),營造了云山霧罩、云煙繚繞的效果。圖中央是導(dǎo)入的獨(dú)棟別墅模型,別墅前是通過材質(zhì)編程技術(shù)設(shè)計(jì)出的湖泊,湖泊具有多重流動、奔流不息的效果。另外,湖泊旁邊還有風(fēng)中搖曳的垂柳,是生成的樹林中的一部分。
別墅內(nèi)部交互總體設(shè)計(jì)效果如圖2所示。別墅內(nèi)部完成了基礎(chǔ)裝修,并添加了門、沙發(fā)、桌子、茶幾等家具,以及電風(fēng)扇、電視機(jī)、掃地機(jī)器人等家電。用戶控制的角色可以通過按鍵,開啟這些家電實(shí)現(xiàn)人機(jī)交互。
1.1 整體地形搭建
通過高度圖導(dǎo)入地形,地形包含丘陵、小山坡。在地形上選取一片區(qū)域,利用程序化植物生成器生成一片樹林,樹林包含楊柳、野花、野草、石頭等植被。通過材質(zhì)編程,給樹林中的植被添加被風(fēng)吹動后的搖曳效果。
1.2 湖泊的設(shè)計(jì)
在材質(zhì)函數(shù)中添加湖泊的灰度圖、粗糙貼圖、法線貼圖,這些貼圖在增強(qiáng)渲染效果、提高性能、節(jié)約資源和減少模型復(fù)雜性方面都發(fā)揮著重要作用。通過材質(zhì)編程設(shè)計(jì)出湖泊的多重水流效果,并設(shè)置湖泊的基礎(chǔ)顏色、湖泊深度、反射強(qiáng)度等參數(shù),營造出湖泊清澈見底、碧波蕩漾的逼真效果。
1.3 別墅室內(nèi)人機(jī)交互
用戶不僅可以享受優(yōu)美的臨湖景觀,還可以體驗(yàn)智能化居住體驗(yàn)。在別墅內(nèi)部添加4種人機(jī)交互,包括開關(guān)門、開關(guān)電視、開關(guān)燈、啟動掃地機(jī)器人。用戶可以按鍵盤開門,進(jìn)入別墅。用戶可以按鍵盤打開電視,電視會播放多段視頻。用戶靠近燈具后會顯示文字提示,提醒用戶開燈,用戶可以按鍵盤開燈,調(diào)整室內(nèi)燈光效果。用戶還可以按鍵盤啟動掃地機(jī)器人,掃地機(jī)器人遇到家具、家電、墻體等障礙后會停止前進(jìn),然后改變方向繼續(xù)移動。
2 湖景別墅關(guān)鍵技術(shù)實(shí)現(xiàn)
2.1 地形整體設(shè)計(jì)
2.1.1 地形導(dǎo)入
在UE4中從選擇模式切換到在地形模式,導(dǎo)入地形高度圖。通過設(shè)置導(dǎo)入地形的分段大小和組件數(shù)量,確定地形的大小。在地形縮放選項(xiàng)中,地形Z軸方向的數(shù)值從默認(rèn)的100調(diào)低到20左右,防止地形中的山坡和丘陵過于銳利。最后點(diǎn)擊導(dǎo)入地形,地形中包含了多處丘陵和小山坡。
2.1.2 生成樹林
首先使用程序化植物工具,要在偏好設(shè)置中打開(通用—試驗(yàn)性功能—程序化植物),或者是搜索Procedural打開程序化植物;其次創(chuàng)建靜態(tài)網(wǎng)格體植物,用來識別靜態(tài)網(wǎng)格體,傳給程序化植物生成器;再次創(chuàng)建程序化植物生成器;最后創(chuàng)建程序化植物體積,規(guī)定生成范圍。
如圖3所示,程序化植物生成器添加了4種植被,包括柳樹、野花、野草、巖石,從而確定樹林中植被的種類。
具體實(shí)現(xiàn)方法是,首先導(dǎo)入fbx格式的植被模型,包括柳樹、野花、野草、巖石等。隨后對導(dǎo)入的植被模型分別創(chuàng)建靜態(tài)網(wǎng)格體植物,設(shè)置植被的大小和碰撞屬性。最后將上述創(chuàng)建的柳樹、野花、野草、巖石對應(yīng)的靜態(tài)網(wǎng)格體植物添加到程序化植物生成器中,點(diǎn)擊重新模擬按鈕,一鍵生成包含上述植被的樹林。
2.1.3 添加風(fēng)吹草動的效果
首先添加材質(zhì)參數(shù)集,設(shè)置風(fēng)的強(qiáng)度、風(fēng)速和風(fēng)的權(quán)重三個參數(shù),其中風(fēng)的強(qiáng)度設(shè)置為0.05,風(fēng)速設(shè)置為0.2,風(fēng)的權(quán)重設(shè)置為3。然后添加材質(zhì)函數(shù),如圖4所示,將風(fēng)的強(qiáng)度、風(fēng)速和風(fēng)的權(quán)重三個參數(shù)分別連接到SimpleGrassWind節(jié)點(diǎn)的WindIntensity屬性、WindSpeed屬性和WindWeight屬性,完成材質(zhì)的搖曳效果。
最后打開植被不同部位的材質(zhì)球,例如樹葉、花朵、樹干等。如圖5所示,將創(chuàng)建好的材質(zhì)函數(shù)和權(quán)重值10相乘,乘積連接到植被材質(zhì)球的世界場景偏移屬性,使植被的樹葉、花朵、草等部位產(chǎn)生風(fēng)吹草動的效果。
2.2 湖泊的設(shè)計(jì)
2.2.1 基礎(chǔ)顏色設(shè)置
創(chuàng)建材質(zhì)球,首先設(shè)置河流的基礎(chǔ)顏色,分別設(shè)置R、G、B三個通道的值為0、0.05、0.77,達(dá)到深藍(lán)色的效果。
2.2.2 水流效果設(shè)置
如圖6所示,選擇水波紋的法線貼圖,使用Panner節(jié)點(diǎn)進(jìn)行制作UV動畫效果。通過Panner節(jié)點(diǎn),分兩個組來進(jìn)行分別調(diào)節(jié)不同軸向的移動速度和紋理大小,這樣可以讓水波紋產(chǎn)生一些隨機(jī)變化。分別設(shè)置灰度貼圖、粗糙貼圖、法線貼圖X和Y方向的偏移速度, 其中X方向速度設(shè)置為0.01,Y方向速度位置為0.02,模擬水流在不同方向上的流速。同時,為了營造不同方向的水流匯聚的效果,繼續(xù)新增一個Panner節(jié)點(diǎn),設(shè)置和上一個Panner節(jié)點(diǎn)完全不同的X和Y方向的偏移速度,并通過Add節(jié)點(diǎn)將上述兩個Panner節(jié)點(diǎn)進(jìn)行疊加,達(dá)到多重水流匯集的效果。
把材質(zhì)球的透明模式打開,同時開啟半透明體積,同時激活半透明和法線通道。用DepthFade節(jié)點(diǎn)來制作水面的透明度信息,該節(jié)點(diǎn)可以根據(jù)場景深度信息來控制水的透明度,比如在河岸邊水比較淺的地方,水會比較清澈,在河中心顏色會比較深。
2.2.3 透明度設(shè)置
如圖7所示,通過Depth Fade節(jié)點(diǎn)設(shè)置湖泊的透明度和深度距離,其中透明度參數(shù)設(shè)置為1.5,深度距離參數(shù)設(shè)置為10,營造湖泊清澈見底的效果。
2.2.4 折射設(shè)置
使用Fresnel節(jié)點(diǎn)設(shè)置折射指數(shù),將環(huán)境光遮擋指數(shù)設(shè)置為1.5,模擬光照反射。
2.3 別墅基本交互
2.3.1 開關(guān)門交互
如圖8所示,導(dǎo)入門的模型,并給門添加盒體碰撞,當(dāng)用戶控制的角色進(jìn)入門的盒體觸發(fā)范圍時,會顯示提醒用戶開門的文字提示,并啟用鍵盤輸入,用戶可以按鍵盤E開門。通過時間軸節(jié)點(diǎn),添加兩個關(guān)鍵幀。第一個關(guān)鍵幀時間設(shè)置為0秒,對應(yīng)的值也為0;第二個關(guān)鍵幀時間設(shè)置為3秒,對應(yīng)的值為90,也就是門在3秒的時間內(nèi)轉(zhuǎn)動的角度為90度,完成開門。通過FlipFlop節(jié)點(diǎn)實(shí)現(xiàn)開門關(guān)門的交替執(zhí)行,用戶在完成開門后,再按鍵盤E可完成關(guān)門操作。最后,將時間軸輸出的軌道連接到設(shè)置相對旋轉(zhuǎn)節(jié)點(diǎn)的Z軸,門繞著Z軸旋轉(zhuǎn)90度。
2.3.2 開關(guān)電視交互
準(zhǔn)備視頻資源:首先,將MP4格式的視頻文件放置在項(xiàng)目的“Content/Movies”文件夾中。
創(chuàng)建媒體播放器:在UE4編輯器中,通過右鍵點(diǎn)擊內(nèi)容瀏覽器并選擇“Media”gt;“Media Player”來創(chuàng)建一個媒體播放器。
配置媒體播放器:打開媒體播放器設(shè)置,選擇視頻源。對于本地視頻,可以使用“FileMediaSource”并指定視頻文件在硬盤上的路徑。如果需要播放視頻流,則可以使用“StreamMediaSource”并輸入視頻流的URL。
創(chuàng)建媒體紋理和材質(zhì):在配置媒體播放器的同時創(chuàng)建媒體紋理(MediaTexture),這是視頻幀將被渲染到的紋理。通過媒體紋理創(chuàng)建材質(zhì),并將該材質(zhì)應(yīng)用于電視機(jī)模型的屏幕材質(zhì)上,以顯示視頻幀。
集成到電視機(jī)模型中:將之前創(chuàng)建的材質(zhì)應(yīng)用于電視機(jī)模型上,以顯示視頻幀。此外,可以添加控制按鈕(如播放/暫停按鈕)并編寫相應(yīng)的藍(lán)圖邏輯來控制視頻的播放。
如圖9所示,在事件圖表中添加如下節(jié)點(diǎn),通過打開源節(jié)點(diǎn),用戶按鍵盤1可以打開電視機(jī),使電視機(jī)模型播放導(dǎo)入的電視視頻。
2.3.3 開關(guān)燈交互
導(dǎo)入燈具模型,在燈具上方添加光源Spot Light。如圖10所示,給光源添加盒體碰撞,當(dāng)用戶控制的角色進(jìn)入門的盒體觸發(fā)范圍時,啟用鍵盤輸入,用戶可以按鍵盤E開燈,同時,門的前方出現(xiàn)提示語,提醒用戶按鍵盤E開門。當(dāng)用戶離開盒體觸發(fā)范圍時,提示語消失并禁用鍵盤輸入,用戶不能再通過按鍵盤E開門。在盒體觸發(fā)范圍內(nèi),可視性節(jié)點(diǎn)的New Visibility選項(xiàng)上打鉤,將光源Spot Light設(shè)置為可見,完成開燈操作。離開盒體觸發(fā)范圍后,可視性節(jié)點(diǎn)的New Visibility選項(xiàng)上不打鉤,將光源Spot Light設(shè)置為不可見,完成關(guān)燈操作。通過FlipFlop節(jié)點(diǎn)實(shí)現(xiàn)開關(guān)燈的交替執(zhí)行,用戶在完成開燈后,再按鍵盤E可完成關(guān)燈操作。
2.3.4 掃地機(jī)器人交互
如圖11所示,創(chuàng)建掃地機(jī)器人藍(lán)圖類,在設(shè)置場景位置節(jié)點(diǎn)的Sweep選項(xiàng)上打勾,如果在位移過程中遭遇家具家電等障礙,掃地機(jī)器人會中途停止位移。添加Bool類型變量,命名為是否啟動。如果掃地機(jī)器人當(dāng)前是啟動的狀態(tài),則設(shè)置該變量為False,如果掃地機(jī)器人當(dāng)前不是啟動的狀態(tài),則設(shè)置該變量為True。
如圖12所示,在掃地機(jī)器人藍(lán)圖類添加自定義事件,并根據(jù)bool類型變量的值,切換是否啟動變量的狀態(tài)。如果是啟動的狀態(tài),則切換為False,如果不是啟動的狀態(tài),則切換為True,從而實(shí)現(xiàn)掃地機(jī)器人開關(guān)的切換。
如圖13所示,在角色藍(lán)圖類添加掃地機(jī)器人的對象引用,并調(diào)用掃地機(jī)器人藍(lán)圖類中定義的啟動事件,完成藍(lán)圖通信。當(dāng)用戶控制的角色按鍵盤1時,觸發(fā)啟動事件,掃地機(jī)器人開始位移。
3 結(jié) 論
本文使用了地形材質(zhì)編程技術(shù)和人機(jī)交互藍(lán)圖編程技術(shù),實(shí)現(xiàn)了優(yōu)美如畫的臨湖景觀和智能化的家居體驗(yàn)。在搭建樹林的過程中使用了程序化植物生成器,該技術(shù)可以快速生成大面積的原始森林,大面積生成其他網(wǎng)格體,就像是地形植被的延伸功能。在設(shè)計(jì)湖泊的過程中采用了多重Panner節(jié)點(diǎn)疊加的技術(shù),使湖泊更加清澈見底、水光瀲滟。在設(shè)計(jì)人機(jī)交互的過程中重點(diǎn)采用了盒體碰撞技術(shù)和時間軸技術(shù),角色進(jìn)入觸發(fā)范圍后,可以在設(shè)置的時間內(nèi)完成相應(yīng)的交互。
隨著城市化進(jìn)程和生活節(jié)奏的加快,人們更渴望擁抱自然,領(lǐng)略寧靜與繁華的居住體驗(yàn)。本文提出的湖景別墅設(shè)計(jì)方案,將自然與現(xiàn)代完美融合,讓用戶既能享受湖居的愜意時光,又能享受智能家居的交互體驗(yàn)。未來湖景高品質(zhì)住宅的發(fā)展和應(yīng)用空間會更加廣闊。臨湖而居,享受夢幻湖景的理念將會成為不少人的人生追求。
參考文獻(xiàn):
[1] SANDERS A. An Introduction to Unreal Engine 4 [M].New York:A K Peters/CRC Press,2016.
[2] 吳敬兵,范濤.基于UE4的液位過程控制實(shí)驗(yàn)平臺的開發(fā) [J].自動化與儀表,2020,35(9):22-25.
[3] 馮騁凌.基于UE4虛擬現(xiàn)實(shí)交互技術(shù)應(yīng)用的室內(nèi)感知覺研究 [D].太原:山西大學(xué),2020.
[4] 陳緒寧,鄭建英,胡勇,等.基于UE4的火星地表環(huán)境視景仿真 [J].空間控制技術(shù)與應(yīng)用,2021,47(6):77-84.
[5] 劉廷言.基于UE4引擎李冰紀(jì)念館虛擬展示系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn) [J].現(xiàn)代信息科技,2023,7(6):38-40.
[6] 李楠,連淦,段林濤.基于UE4藍(lán)圖的火災(zāi)逃生體驗(yàn)系統(tǒng)關(guān)鍵技術(shù)研究 [J].廊坊師范學(xué)院學(xué)報:自然科學(xué)版,2020,20(1):15-18.
[7] 田濤,孫忠云,付戰(zhàn)平,等.基于UE4引擎的海洋虛擬可視化分析 [J].電子測試,2020(17):135-136.
[8] 李新,李飛,方世巍,等.基于UE4的井下變電所巡檢機(jī)器人數(shù)字孿生系統(tǒng) [J].煤礦安全,2021,52(11):130-133.
[9] 丁浩.基于UE4的道交事故車輛定損VR系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [D].南昌:江西財(cái)經(jīng)大學(xué),2024.
[10] 渠垚.基于UE4引擎的數(shù)字博物館的交互設(shè)計(jì)研究 [J].建筑與文化,2024(6):31-33.
[11] 雷一鳴,陳雨人,汪凡.基于UE4的在線駕駛仿真系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn) [J].計(jì)算機(jī)測量與控制,2022,30(2):179-185.
作者簡介:夏政(1994—),男,漢族,江蘇常州人,助教,碩士,研究方向:虛擬現(xiàn)實(shí)技術(shù)。
收稿日期:2024-06-15