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可以根据灯光朝向刷新天空盒的材质球。完善之后的关卡蓝图如下

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



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

课程好礼申请领取
您的姓名
您的电话
意向课程
 

中公优就业

官方QQ

扫描上方二维码或点击一键加群,免费领取价值599元网课,加群暗号:599。 一键加群

>>本文地址:
注:本站稿件未经许可不得转载,转载请保留出处及源文件地址。

推荐阅读

优就业:ujiuye

关注中公优就业官方微信

  • 关注微信回复关键词“大礼包”,领80G学习资料
QQ交流群
领取免费网课
(加群备注“网站”)
IT培训交流群 加入群聊 +
软件测试 加入群聊 +
全链路UI/UE设计 加入群聊 +
Python+人工智能 加入群聊 +
互联网营销 加入群聊 +
Java开发 加入群聊 +
PHP开发 加入群聊 +
VR/AR游戏开发 加入群聊 +
大前端 加入群聊 +
大数据 加入群聊 +
Linux云计算 加入群聊 +
优就业官方微信
扫码回复关键词“大礼包”
领取80G学习资料

测一测
你适合学哪门IT技术?

1 您的年龄

2 您的学历

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

获取测试结果
 
课程资料、活动优惠 领取通道