关闭

虚幻4动态加载画面(后台加载关卡)的实现

标签: 虚幻
6395人阅读 评论(0) 收藏 举报
分类:

我们知道虚幻里要加载新的关卡一般是通过Open Level函数实现,如下所示。

这里写图片描述

但是,load level函数会阻塞进程,如果之前有加载动画在播放的话,当执行load level函数时,所有进程都停止,动画将会停止。如下为验证蓝图。
这里写图片描述

loading是一个widget蓝图,其含有throbber控件,可以模拟加载动画。根据实测,这个蓝图无法实现动态的加载画面,在open level执行后,所有其他代码都停止执行了。这一点可以在创建loading 控件蓝图后使用delay函数,延迟执行open level验证。在delay时间内,loading都会动态显示,当开始执行open level时,动画停止。

根据这几天在官方论坛的搜索,目前普遍的做法是使用level stream关卡流。level stream本来是用来动态加载超级无限大地图的,防止一次性加载大地图“卡死”。它可以根据设置的触发条件动态的加载、卸载地图map,也就是子关卡。
所以,使用level stream必选改变当前关卡的层级关系。在“窗口”菜单下找到“关卡”,如下所示,点击左上角的level可以给当前关卡添加子关卡(创建新关卡或者添加现有的)。

这里写图片描述

在任一子关卡上右击,弹出对话框,如下。在“Change Streaming Method”下可以选择当前关卡是“总是加载”还是通过“蓝图”控制。选择“蓝图”,在启动当前关卡(比如开始的游戏UI界面)时就不会加载子关卡,通过load stream level就可以在后台加载子关卡而不会影响当前其他进程(如正在进行的动态加载画面)。
这里写图片描述

实现的蓝图如下。

这里写图片描述

所以,最终的区别就是open level和load stream level的区别。

0
0
查看评论

虚幻4 加载蓝图过程(2)——读取文件过程

读取文件过程 /UnrealEngine/Engine/Source/Runtime/CoreUObject/Private/UObject/LinkerLoad.cpp /** * Ticks an in-flight linker and spends InTimeLimit se...
  • lqpgfz
  • lqpgfz
  • 2017-07-08 20:52
  • 402

UE4高级功能--初探超大无缝地图的实现LevelStream

总结一下吧,其实本篇文章的起因是对于GDC_Demo中三个地图嵌套关系的疑惑,然后我去群里问了一下,得到了LevelStream的信息,于是就去官网的文档上搜索了关了LevelStream的知识,结果发现了官方文档专门有介绍这部分的内容,即如何动态创建无缝超大地图的知识,然后就....有了这篇文章的...
  • u011707076
  • u011707076
  • 2015-04-06 16:41
  • 12541

UE4中动态创建并加载流关卡

在运行时将指定的.umap关卡文件以流关卡形式加载并显示出来,主要实现代码如下 关卡在Content中的路径 为 Content/TempUmap/Level_01 那么生成的PackageName就应为  Game/TempUmap/Level_01 把以下代码添加到Act...
  • xi_niuniu
  • xi_niuniu
  • 2017-01-13 14:45
  • 2042

Unreal4 入门(关卡动态加载)

对于大型游戏MMORPG游戏或是3D街景(虚拟现实)还有大型无缝地图都需要地图啊,关卡动态加载的机制来达到让用户感觉自己一直是在漫游,而不会出现Loading(读条),卡界面等情况。当然除非是垮区域无法依靠关卡和关卡中之间的关系做处理。    ...
  • sh15285118586
  • sh15285118586
  • 2016-10-19 11:50
  • 970

Unreal Engine 4 —— 异步加载关卡的实现方法及思考

这篇文章介绍了在ue4中实现异步加载关卡的方法,以及我对应的思考。 背景 在很多游戏中都有用到关卡的异步加载,关卡的异步加载指的是在游戏的某个阶段,使用多线程的方法进行新关卡对应的内容加载。从而能够免去直接的Loading阶段,提升游戏体验的效果。 ...
  • u013131744
  • u013131744
  • 2017-03-16 20:33
  • 901

关于UE4动态资源加载(蓝图类)

本帖纯属个人原创,如有转载请注明出处 需要注意的几点: 1.调试环境下进行的资源加载方式到打包出来后不一定能够使用。 2.假如遇到调试模式下程序运行正常,但是打包出来后程序crash,可以查看log: Saved/Logs/filename/log 3.资源路径的代码书写格式  ...
  • u011718663
  • u011718663
  • 2016-04-21 11:12
  • 3685

UE4 异步资源加载

On this page: 概述FStringAssetReferences 和TAssetPtr资源注册表和对象库StreamableManager(动态加载管理器)和异步加载 概述 虚幻引擎4中有几个新系统,使得可以更加轻松地异步加载资源数据,这些系统代替了虚幻引擎3中的免...
  • pizi0475
  • pizi0475
  • 2015-09-02 15:24
  • 5328

UE4-利用UMG动画制作场景切换Loading进度条

用UMG动画实现一个场景切换Loading进度条。
  • zilisen
  • zilisen
  • 2017-06-09 11:14
  • 2025

虚幻4里的地图动态加载

动态加载是把一张大地图分成若干块,然后每块只在需要的时候加载进来,不需要的时候在卸载掉,有助于节省内存。 先打开关卡面板,在没有建立用于动态加载的地图前是这样的 在这里来添加地图,当前的地图就是为永久性关卡,是不能被卸载掉的。 像定向光源和天空光源这样的只要在永久性关卡里存在1个就可以了。在关...
  • qq_22033759
  • qq_22033759
  • 2016-02-08 23:55
  • 2332

虚幻4 UI加载优化

虚幻4 UI加载过慢,可选择自己更改UMGDesign保存为二进制格式,并异步加载TEXTURE,可以最大化提高UI的打开速度。 1,在UMG编辑界面增加导出功能。 2,新建OBJECT处理UI的各种消息与逻辑,保存一个SWIDGET的指针。 3.创建SWIDGET的子类,解析二进制文件,产生对应s...
  • lqpgfz
  • lqpgfz
  • 2017-06-21 15:49
  • 430
    个人资料
    • 访问:154970次
    • 积分:1573
    • 等级:
    • 排名:千里之外
    • 原创:23篇
    • 转载:10篇
    • 译文:1篇
    • 评论:9条
    文章分类
    最新评论