转自:http://blog.ch-wind.com/ue4-level-streaming/

流关卡可以使得关卡内容只在玩家“需要”的时候才加载,在很多游戏中都有使用这个技术。

当前UE4版本4.11.0 P6。

官方提供的流关卡功能目前有两种应用方式。

世界构成器

有点类似于Tile地图制作的方法,可以将子关卡拼成大地图。方便关卡设计人员的并行开发以及内容的复用。

这部分官方有提供详细的[文档]可供参考。这里只作简短的记录。

开启世界构成器的部分,属性的路径稍微有些变更。

关于Simplygon,虽然官方说明上是说引擎自带的,但是要使用的话需要Simplygon官方的许可证。有许可证之后可以参照Simplygon官方的[说明]在UE4中开启相关功能。

流关卡

如果关闭World Composition开关的话,就是“正常”的使用流关卡功能了。

使用流关卡功能时,相关界面会比世界构成器时有一些功能上的变更。

在此功能下用于计算每个关卡大小的Level Bounds不会再被创建。

在关卡列表中可以对每个子关卡的动态加载方式进行选择

关卡左边有蓝色图标的为使用蓝图进行动态加载的子关卡。

“总是加载”的子关卡在游戏开始后默认是可见的。

“蓝图”控制动态加载的子关卡还可以在关卡详细属性中进行单独的配置

关卡的载入以及可视性可以通过很多方法进行控制。

Level Streaming Volume

当玩家进入体积中时,被绑定的子关卡就会进行相应的变更。默认的情况下,子关卡将会显示出来,而玩家离开时就会将关卡移除。

具体的功能对应,可以在属性中进行调整:

作用都比较直观。

子关卡和体积的绑定是在关卡详细设定中进行的。

Level Streaming Volume必须放到永久关卡中才会起作用。

对于简单的逻辑使用关卡流体积非常的方便。

蓝图

对于一些复制的逻辑,可以使用蓝图对关卡的载入进行控制。

例如,使用触发器对关卡的载入进行控制。

或者用按钮进行调试。

蓝图和Level Streaming Volume联合使用时可能会出现冲突,使用时需要注意。

关卡的载入和移除都是异步的,可以在操作完成之后再触发其他事件,例如打开通往该关卡的门。

UE4流关卡的更多相关文章

  1. 【UE4 C++】关卡切换、流关卡加载卸载

    切换关卡 基于 UGameplayStatics:: OenLevel UGameplayStatics::OpenLevel(GetWorld(), TEXT("NewMap") ...

  2. UE4 游戏模块初始化顺序

    最近看教学,有个讲解UE4初始化顺序的,记录一下. 首先创建一个Actor,Character,GameInstance,GameMode,LevelScriptActor(关卡),PlayerCon ...

  3. 【UE4 C++ 基础知识】<9> Interface 接口

    概述 简单的说,接口提供一组公共的方法,不同的对象中继承这些方法后可以有不同的具体实现. 任何使用接口的类都必须实现这些接口. 实现解耦 解决多继承的问题 蓝图使用 使用方法 三种调用方法的区别 调用 ...

  4. 剖析虚幻渲染体系(06)- UE5特辑Part 1(特性和Nanite)

    目录 6.1 本篇概述 6.1.1 本篇内容 6.1.2 基础概念 6.2 UE5新特性 6.2.1 UE5编辑器 6.2.1.1 下载编辑器及资源 6.2.1.2 启动示例工程 6.2.1.3 编辑 ...

  5. UE4创建空白关卡并添加碰撞体

    让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...

  6. UE4 difference between servertravel and openlevel(多人游戏的关卡切换)

    多人游戏的关卡切换分为无缝和非无缝.非无缝切换时,客户端将跟服务器断开连接,然后重新连接到同一个服务器,服务器则加载一个新地图.无缝切换不会发生这样的情况. 有三个函数供我们使用:UEngine::B ...

  7. UE4新手编程之创建空白关卡和添加碰撞体

    让我们接着上次继续学习UE4引擎,今天我们学习下怎样创建空白的关卡以及添加碰撞物体. 一. 创建空白关卡 1) 点击文件 -> 新建关卡(或者按快捷键Ctrl+N). 2) 你可以选择Defau ...

  8. 【UE4】异步加载关卡 LoadingScreen ( 蓝图和C++ )

    一般先跳转到一个临时的关卡,然后异步加载目标关卡,同时展示Loading界面 对于含有流关卡的目标关卡,可以先载入子关卡 蓝图异步加载 无进度条 C++ 异步加载关卡 LoadPackageAsync ...

  9. UE4 编译后 不能正常使用Open Level 打开关卡解决方案:Open Level Blueprint Node not workin

    配置DefaultEditor.ini 文件 [AllMaps] +Map=/关卡文件路径   参考文献: https://answers.unrealengine.com/questions/141 ...

随机推荐

  1. 1.mysql导论

    虽然之前用过mysql一年多,但大多只是会用,深入了解的不多.所以想利用平时时间 系统的总结总结. 一.什么是数据库:(数据库软件)     1).什么是数据库(软件):数据库(DB:DataBase ...

  2. RealThinClient SDK 学习笔记(1)

    从客户端调用远程函数的两种方法 1: RtcClientModule1.Prepare('select'); // call the "select" function on th ...

  3. SSH或者SSM开发web,mysql数据库,数据库配置文件配置不当~数据库读写数据乱码问题解决办法。

    相信,大家都有遇到过在传入一个中文string,debug自己的每一行代码时,都发现始终是没有乱码的(即:排除了,源码文件的编码格式是没问题的),但是数据进入数据库之后就是乱掉了. 那么很明显问题就出 ...

  4. 关于 Java正则表达式中的Possessive数量修饰词的理解

    关于 Java正则表达式中的Possessive数量修饰词的理解 正则表达式对于数量限定符如 ?, + , *, {n, m} 的匹配默认是贪婪模式,比如: a.*b   匹配 acbab 的结果是 ...

  5. linux命令:mv命令

    mv命令是move的缩写,可以用来移动文件或者将文件改名(move (rename) files),是Linux系统下常用的命令,经常用来备份文件或者目录. 1.命令格式: mv [选项] 源文件或目 ...

  6. Python OS导入一个文件夹所有文件

    import os path = 'F:/save_file/seminarseries/' for root, dirs, files in os.walk(path): print(root) 这 ...

  7. svg_path

    1. path 的 d属性中,M的大/小写貌似不影响图形显示效果(至少现在[20160108]我测试下来是这样[chrome 版本 47.0.2526.80 m]):L/H/V 的大小写 是影响图形显 ...

  8. java导包

    下载响应的zip文件,就可以导入了,导入src目录也是可以的.

  9. substr 方法

    substr 方法 返回一个从指定位置开始,并具有指定长度的子字符串. 参数 start 必选.所需的子字符串的起始位置.字符串中第一个字符的索引为 0. length 可选项.返回的子字符串中包含的 ...

  10. CSS高度自适应 height:100%;

    在初次尝试高度自适应时都会遇到这样的问题: 对象的heith:100%; 并不能直接产生实际效果 为什么呢?之所以没有效果,与浏览器的解析方式有一定关系,查看下面代码 <!DOCTYPE htm ...