400-650-7353
您所在的位置:首页 > IT干货资料 > unity > 【Unity基础知识】UE4昼夜循环制作

【Unity基础知识】UE4昼夜循环制作

  • 来源:Unity干货资料
  • 2021-01-08 14:38:19
  • 阅读()
  • 分享
  • 手机端入口

我们现实世界中是24小时的昼夜循环机制,所以很多生存类的游戏中也会模拟这种昼夜循环,白天和夜晚会有不一样的机制,可以给玩家带来更刺激的体验。接下来就交给大家如何在UE4中制作一个简单的昼夜循环效果。

首先我们需要创建新工程,您也可以在现有工程中创建一个新场景。在新建场景时选择“Default”模板,因为这个模板自带天空盒和灯光,这正是我们所需要的。

创建完成之后我们根据自己的需要对场景进行微调。选择Floor,将其缩放调整为(100,100,1),其他保持默认。在正式制作昼夜循环之前我们首先分析一下思路。场景中的LightSource和SkySphere两个物体比较关键,LightSource为场景中的主光源,本质是Directional Light。SkySphere是场景中默认的天空盒,这个天空盒比较强大,自带朝阳、正午、夕阳和夜晚等各个时段的效果。稍微仔细观察就会发现两个物体之间还是有关联的。点击SkySphere的Directional Light Actor属性旁边的放大镜图标可以定位到LightSource物体,这说明天空盒的灯光来源是LightSource。

通过上面的分析可以得知,我们只需要控制LightSource的旋转,之后刷新SkySphere即可。接下来我们按照这个思路去实现。

因为需要实时刷新,所以需要借助Tick函数,这个函数每帧调用。首先将LightSource和SkySphere引入到关卡蓝图中。然后在Tick函数中控制LightSource的旋转,通过测试会发现,沿着Y轴旋转是我们想要的效果,所以我们需要调用LightSource的AddActorWorldRotation函数,修改Y轴的旋转,每帧增加1度的旋转,目前的关卡蓝图如下所示。

如果此时运行会发现场景中的灯光并没有改变方向,并且在停止运行之后还会报错,如下图所示。

大体意思是如果想对灯光进行变换,那么必须将灯光设置为 Movable 类型。

修改完之后运行游戏,发现场景中阴影和亮度已经有效果了,但是天空盒并没有刷新,依然是白天的样子,所以接下来我们需要刷新天空盒。SkySphere中有一个函数叫Update Sun Direction可以根据灯光朝向刷新天空盒的材质球。完善之后的关卡蓝图如下

做完上面的步骤,运行游戏可以发现已经初步实现了昼夜交替的效果。



这只是最简单的昼夜变换,您还可以继续完善,例如昼夜变换时灯光的亮度不一样等等功能。

文章“【Unity基础知识】UE4昼夜循环制作”已帮助

>>本文地址:https://www.ujiuye.com/zhuanye/2021/64808.html

THE END  

声明:本站稿件版权均属中公教育优就业所有,未经许可不得擅自转载。

1 您的年龄

2 您的学历

3 您更想做哪个方向的工作?

获取测试结果
  • 大前端大前端
  • 大数据大数据
  • 互联网营销互联网营销
  • JavaJava
  • Linux云计算Linux
  • Python+人工智能Python
  • 嵌入式物联网嵌入式
  • 全域电商运营全域电商运营
  • 软件测试软件测试
  • 室内设计室内设计
  • 平面设计平面设计
  • 电商设计电商设计
  • 网页设计网页设计
  • 全链路UI/UE设计UI设计
  • VR/AR游戏开发VR/AR
  • 网络安全网络安全
  • 新媒体与短视频运营新媒体
  • 直播带货直播带货
  • 智能机器人软件开发智能机器人
 

快速通道fast track

近期开班时间TIME