IT培訓(xùn)網(wǎng)
IT在線學(xué)習(xí)
我們現(xiàn)實(shí)世界中是24小時(shí)的晝夜循環(huán)機(jī)制,所以很多生存類的游戲中也會模擬這種晝夜循環(huán),白天和夜晚會有不一樣的機(jī)制,可以給玩家?guī)砀碳さ捏w驗(yàn)。接下來就交給大家如何在UE4中制作一個(gè)簡單的晝夜循環(huán)效果。
首先我們需要?jiǎng)?chuàng)建新工程,您也可以在現(xiàn)有工程中創(chuàng)建一個(gè)新場景。在新建場景時(shí)選擇“Default”模板,因?yàn)檫@個(gè)模板自帶天空盒和燈光,這正是我們所需要的。
創(chuàng)建完成之后我們根據(jù)自己的需要對場景進(jìn)行微調(diào)。選擇Floor,將其縮放調(diào)整為(100,100,1),其他保持默認(rèn)。在正式制作晝夜循環(huán)之前我們首先分析一下思路。場景中的LightSource和SkySphere兩個(gè)物體比較關(guān)鍵,LightSource為場景中的主光源,本質(zhì)是Directional Light。SkySphere是場景中默認(rèn)的天空盒,這個(gè)天空盒比較強(qiáng)大,自帶朝陽、正午、夕陽和夜晚等各個(gè)時(shí)段的效果。稍微仔細(xì)觀察就會發(fā)現(xiàn)兩個(gè)物體之間還是有關(guān)聯(lián)的。點(diǎn)擊SkySphere的Directional Light Actor屬性旁邊的放大鏡圖標(biāo)可以定位到LightSource物體,這說明天空盒的燈光來源是LightSource。
通過上面的分析可以得知,我們只需要控制LightSource的旋轉(zhuǎn),之后刷新SkySphere即可。接下來我們按照這個(gè)思路去實(shí)現(xiàn)。
因?yàn)樾枰獙?shí)時(shí)刷新,所以需要借助Tick函數(shù),這個(gè)函數(shù)每幀調(diào)用。首先將LightSource和SkySphere引入到關(guān)卡藍(lán)圖中。然后在Tick函數(shù)中控制LightSource的旋轉(zhuǎn),通過測試會發(fā)現(xiàn),沿著Y軸旋轉(zhuǎn)是我們想要的效果,所以我們需要調(diào)用LightSource的AddActorWorldRotation函數(shù),修改Y軸的旋轉(zhuǎn),每幀增加1度的旋轉(zhuǎn),目前的關(guān)卡藍(lán)圖如下所示。
如果此時(shí)運(yùn)行會發(fā)現(xiàn)場景中的燈光并沒有改變方向,并且在停止運(yùn)行之后還會報(bào)錯(cuò),如下圖所示。
大體意思是如果想對燈光進(jìn)行變換,那么必須將燈光設(shè)置為 Movable 類型。
修改完之后運(yùn)行游戲,發(fā)現(xiàn)場景中陰影和亮度已經(jīng)有效果了,但是天空盒并沒有刷新,依然是白天的樣子,所以接下來我們需要刷新天空盒。SkySphere中有一個(gè)函數(shù)叫Update Sun Direction可以根據(jù)燈光朝向刷新天空盒的材質(zhì)球。完善之后的關(guān)卡藍(lán)圖如下
做完上面的步驟,運(yùn)行游戲可以發(fā)現(xiàn)已經(jīng)初步實(shí)現(xiàn)了晝夜交替的效果。
這只是最簡單的晝夜變換,您還可以繼續(xù)完善,例如晝夜變換時(shí)燈光的亮度不一樣等等功能。
>>本文地址:http://liujunjsxg.cn/zhuanye/2021/64808.html
聲明:本站稿件版權(quán)均屬中公教育優(yōu)就業(yè)所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
1 您的年齡
2 您的學(xué)歷
3 您更想做哪個(gè)方向的工作?