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