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