大家好,我是很久不见,主要从事的方向是引擎美术。上次文章介绍了地形制作, UE4中使用真实世界地形的制作案例 。这一次的文章,我们介绍一下虚幻引擎关卡流送的使用内容。
先来看一下最终的效果展示:
1、关卡流送的方式
关卡流送体积域
使用UE4体积中的关卡流送体积流送子关卡,这种方法易于使用,不要求脚本编写,是控制关卡流送的理想方式。此外,基于体积域的关卡流送和基于脚本的流送相比更易于维护:加载系统的需求发生变化时,调整体积域的大小即可对关卡加载/卸载行为进行修改。
使用蓝图进行关卡流送
关键函数为 Load Stream Level 和 Unload Stream Level,并指定关卡按命名加载。
使用C++进行关卡流送。
2、具体的使用方法
首先需要将关卡手动进行拆分,以下我将关卡拆分为了两个子关卡,
这里我简易的给每个场景放入了不同的基础模型
然后在体积中找到“关卡流送体积”并放入场景中,
在关卡详细信息中可以对关卡流送体积进行操作,
在这里点击加号把刚才拖入场景中的关卡流送体积添加进来,
这里也可以一次加载多个流送体积,
这样在运行的时候,就可以进行关卡之间的动态加载。
使用蓝图进行关卡流送,就不需要关卡流送体积,但是需要触发事件去启动关卡的流送,这可以是某个键盘按下的操作,也可以是某个响应去触发。这里我新建了两个盒体触发器来驱动关卡的流送。
在关卡蓝图中对盒体触发器开启了碰撞事件,并简单做了一个关卡加载和卸载的蓝图,这里关卡的加载卸载与触发器的触发离开可以根据实际需要灵活操作。
运行一下看下效果。
3、关卡流送的灵活应用
当然在实际的项目中,场景资源不管是复杂程度还是资源量都要庞大的多,在加载中也可能会有卡顿的情况,这里就需要在两个关卡加载的时候做一些停顿的技巧,一般比较常见的是做一个界面的加载进度条。
这里做一个控件蓝图,
在界面中创建一个进度条
做一个进度条从0到1的进度动画
下面我将关卡一设为固定加载,并在关卡蓝图中做了一个触碰到盒体触发器后加载2秒进度条,并开启关卡二的蓝图。
运行一下看下效果。
当然也可以更加丝滑的使用场景中的角色相机进行过场动画的播放。
下面运行看一下效果
实际上这里利用了中间播放过场动画的时间,加载了下一个关卡。
这也是在运行大型游戏时候,中间出现过场动画的原因,一般此时都是在后台进行下一个关卡的加载。当然,将关卡流送运用得当的话,在沙盒类游戏中玩家是感觉不到关卡加载的过程的,这也是有些人一直觉得沙盒游戏没有所谓的关卡,实际上这是一种错误的概念,只是优化体验很友好,让玩家没有感觉到关卡的存在而已。
以上就是本次教程案例的内容了,希望大家可以从中有所收货。
下一期的文章会接着关卡流送延伸到大型地图世界场景构成方面的内容。
本次案例是我的个人练习,如有不足之处,希望大家可以一起交流学习,一起变得更强!
- End -
来源:Thepoly公众号
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答《黑神话:悟空》作为一款现象级中国游戏,其成功离不开多种先进计算机技术的支持。本文将深入解析该游戏背后的关键技术,包括虚幻引擎......
在游戏开发领域,Unity和Unreal Engine(虚幻引擎)都是备受推崇的游戏引擎,但它们各自拥有不同的特点和优势。
春节之后大量抢人!这6个行业是转行首选,进去1年顶3年!火星毕业就能进
春节后求职,哪些行业进去能立马涨薪?打破信息差很关键!
还没毕业,就去帮电视台拍活动,作品被主任说“非常好”!猜猜是哪个专业呀?
回想过去,电子游戏里的草其实并不是真正的草。开发者们只是简单地把草的纹理直接贴在游戏关卡的地板上
在火星的就业指导老师那里,经常收到同学们这样、那样的提问。其中有一些共性问题,就业老师会根据自己丰富的经验,为同学们给出合适的回答。