[浅析]UE4关卡流

通过关卡流可以在需要的时候动态加载关卡,不需要的时候卸载,降低内存使用率,构建大型场景。通过简单的示例了解关卡流的用法。

1、新建一个两个关卡,在关卡里分别放一个"Level1"和"Level2"的文本,保存文件名为StreamLevel1和StreamLevel2
请添加图片描述
2、新建一个空关卡,并打开Levels窗口
请添加图片描述
3、在Levels界面,将StreamLevel1StreamLevel2拖入PersistentLevel下,作为当前关卡的子关卡,如图所示,可以看到拖进来的两个关卡
请添加图片描述

4、在子关卡上右键,弹出的菜单可以对子关卡进行一些操作,其中ChangeStreamingMethod可以改变关卡的载入方式,默认是Blueprint,也就是通过蓝图来加载,AlwaysLoaded会在游戏启动时就载入,能同时看到所有关卡。如果要在编辑器中隐藏子关卡可以 将对应的子关卡前面的眼睛点一下就可以了。
请添加图片描述

5、打开关卡蓝图,写入如下蓝图代码,这段代码在用户按下空格键时判断StreamLevel1有没有打开,如果没有打开就使用LoadStreamLevel打开,并使用UnloadStreamLevel卸载StreamLevel2(即使没打开过也不会出错),否则打开StreamLevel2并卸载StreamLevel1,结果就是每按下空格键就会在StreamLevel1和StreamLevel2之间切换。
请添加图片描述
6、以上是通过蓝图代码加载关卡流,还可以通过LevelStreamingVolume自动加载,在用户进入该体积内,对应的关卡就会载入。调整上面两个子关卡位置,并在当前关卡中拖入两个LevelStreamingVolume放到合适的位置,这里还放了两个锥体作为位置标识。
请添加图片描述
7、在关卡界面点击Summons level details打开关卡详情窗口
请添加图片描述

8、在关卡详情页面添加Streaming Volumes项,选择关卡中对应的关卡流体积,Inspect level可以切换子关卡
在这里插入图片描述
9、运行后角色走到体积处,子关卡就会自动加载出来了
在这里插入图片描述
附1:如果要在当前关卡编辑子关卡,可以使用MakeCurrent,后面的编辑就是针对这个子关卡了,比如拖入物体就是拖到子关卡中
在这里插入图片描述
附2:OpenLevel也用于动态加载关卡,但是会卸载当前关卡,而关卡流不会卸载当前关卡
在这里插入图片描述
附3:下图是其他一些与关卡相关的节点,LoadLevelInstance能打开多个关卡实例,并设置关卡位置和旋转,GetCurrentLevelName用于获取当前关卡名。
在这里插入图片描述
————————————————
版权声明:本文为CSDN博主「蓬 蒿 人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/yb0022/article/details/100053799

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值