UE4-(蓝图)实现昼夜交替

一、创建蓝图类选择Actor,命名为DayNight,在蓝图类中编辑昼夜交替的效果,如果在关卡蓝图中编辑,对于后期很多场景中都有就需要不停地重复编辑关卡蓝图。

二、双击打开DayNight蓝图类,在事件图表中,创建三个变量类型分别为Directional Light、BP Sky Sphere、Sky Light,分别为场景中的平行光(LightSource),天空球(SkySphere),天光(SkyLight),这三个变量都是场景中存在的,所以定义出来之后要公开变量。用于将场景中的对应的物体拖入。

UE4-(蓝图)实现昼夜交替_第1张图片  UE4-(蓝图)实现昼夜交替_第2张图片  UE4-(蓝图)实现昼夜交替_第3张图片UE4-(蓝图)实现昼夜交替_第4张图片

二、控制平行光旋转,造成白天黑夜效果。

将平行光(Light Source)选入变量中,并且将Light Source更改为可移动,使用Tick事件节点,控制平行光在Y轴上旋转,移动后,需要更新天空球使用 Update Sun Direction节点更新,才可以看到太阳升起落下的效果。将天空球选入到变量中。将天光选入到变量中。并在场景界面将DayNight拖入到场景中,

UE4-(蓝图)实现昼夜交替_第5张图片 UE4-(蓝图)实现昼夜交替_第6张图片 UE4-(蓝图)实现昼夜交替_第7张图片

UE4-(蓝图)实现昼夜交替_第8张图片

蓝图:

UE4-(蓝图)实现昼夜交替_第9张图片

三、控制光的强度,配合白天黑夜的效果。

1.因为存在黑夜及白天效果,所以用创建函数的方式,将两个情况封装成两个函数,方便调用。在DayLight蓝图类中,我的蓝图面板,增加函数。命名为Night,因为Day 只是将变量与Night设置相反即可,所以完成Night函数后,直接复制更改变量。

UE4-(蓝图)实现昼夜交替_第10张图片UE4-(蓝图)实现昼夜交替_第11张图片

2.设置平行光强度,及天光亮度。

双击函数,进入到函数蓝图中,LightSource变量获取节点及SkyLight获取节点拖入到蓝图中。要获取到两个灯光的灯光组件,然后获取到强度。中文版的UE4 右键输入 Light ,找到获取Light Component ,英文版直接输入 get Light Component 。

UE4-(蓝图)实现昼夜交替_第12张图片UE4-(蓝图)实现昼夜交替_第13张图片

获取各自灯光的强度,并创建设置强度节点(中文版获取组件右侧直接拖拽搜索Intensity选择获取Intensity。英文版直接搜索 get Intensity),创建设置强度节点。(Sky Light 相同操作)

UE4-(蓝图)实现昼夜交替_第14张图片 UE4-(蓝图)实现昼夜交替_第15张图片

设置强度函数,要有过渡效果,使用FInterp To 节点

UE4-(蓝图)实现昼夜交替_第16张图片

参数:Current 当前数值  Target 目标数值 Delta Time 帧率 Interp Speed 差值完成时间。

该节点配合Tick 事件节点使用,每一帧都进行调用执行,如果不是每帧执行,可能会造成到中间某个值就停止的情况。

因为存在帧率参数,让效果看上去更平滑,在Night触发节点中增加变量。(连线将Delta Time拖入也可)

UE4-(蓝图)实现昼夜交替_第17张图片

控制天空球中的云的飞行速度及透明度,拖入Sky Sphere获取变量节点,

创建get Cloud Speed节点,获取云当前速度节点  及set Cloud Speed节点,

创建 Get Cloud Opacity 获取云当前透明度节点,及Set CloudOpacity 设置云透明度节点。晚上透明度低,白天高。

通过差值节点对值进行差值处理。

(我只处理了云的透明度)

UE4-(蓝图)实现昼夜交替_第18张图片

四、复制Night函数,创建Day函数,内容一致,将FInterp To 的目标数值更改为Light Source 为5,Sky Light 为1.

UE4-(蓝图)实现昼夜交替_第19张图片

五、判断白天黑夜的y值对光照强度进行衰减和增强效果。

获取Light Source 的旋转值,get Actor Rotation节点 ,将变量分解,获取到y轴值,如果小于0 就是在白天,如果大于0,就是在夜晚,使用判断节点,并使用branc来进行判断分支。

UE4-(蓝图)实现昼夜交替_第20张图片

连线为:

UE4-(蓝图)实现昼夜交替_第21张图片

编译后,运行。

六、如果不想用Tick事件节点自带的帧率,使用Get World Delta Seconds节点,根据电脑性能获取帧率。

UE4-(蓝图)实现昼夜交替_第22张图片

七、小伙伴提醒:

请务必在 Sky sphere 中“默认”选项下 ,找到 Directional light选项卡,将场景中你要使用的定向光选进去,才能运转起来。

你可能感兴趣的:(UE4)