400-650-7353

精品课程

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

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

我们现实世界中是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 您更想做哪个方向的工作?

获取测试结果
 
课程资料、活动优惠 领取通道
 
 
网站地图 500w彩票网址 58彩票网游戏 500w彩票网客户端下载
申博娱乐0559 澳门葡京官网登入 申博sunbet下载 申博太阳城代理开户
乐点彩票平台登入 网易彩票官方网登入 天天中彩票是黑彩票嘛 新生彩票广西快3
58彩票网开户 58彩票安卓版 500w彩票网开户 500w彩票app下载
五星彩票网平台登录 快乐彩票什么网 58彩票app下载 快乐彩票网址
518jbs.com 758XTD.COM 298PT.COM 67jbs.com 8WJS.COM
767XTD.COM 588BBIN.COM 292SUN.COM 062xx.com 885jbs.com
134sun.com 79jbs.com 165sun.com XSB638.COM 8DTS.COM
882XTD.COM 187ib.com 687XTD.COM 697XTD.COM 676sj.com