Skip to main content

流式关卡

概述

流式关卡(Streaming Level)指的是关卡的集合,可以动态地加载、卸载关卡资源。有了流式关卡功能,玩家进入场景后不需要加载整个场景资源。玩家走到指定区域时加载需要看到的关卡,卸载不需要看到的关卡。这样可以节省内存,减轻渲染压力,实现无缝大世界。

流式关卡

创建流式关卡

依次点击菜单栏文件(File)-> 新建流式关卡(New Streaming Level),弹出关卡另存为(Save Level As)窗口,点击 2023-01-13_170339 按钮选择关卡存储目录,并在关卡名(Level Name) 中输入新的流式关卡名称,点击OK即可完成创建。

2023-01-13_164342

2023-01-13_164824

保存流式关卡

大纲(Hierarchy)面板中双击选中流式关卡节点,绿色的关卡节点则表示当前选中的关卡。依次点击菜单栏文件(File)-> 保存当前关卡(Ctrl+S)(Save Current Level (Ctrl+S))即可保存当前选中的流式关卡,存储路径默认为创建时所选择的路径。

2023-01-13_171612

2023-01-13_171634

或者在大纲(Hierarchy)面板中双击选中流式关卡节点,然后依次点击菜单栏文件(File)-> 将当前关卡另存为(Ctrl+Alt+S)(Save Current Level As (Ctrl+Alt+S)),弹出关卡另存为(Save Level As)窗口,设置新的关卡存储路径和名称,点击OK即可完成关卡另存为。

2023-01-13_175327

2023-01-13_175815

添加流式关卡

依次点击菜单栏文件(File)-> 添加已经存在的流式关卡(Add Existing Streaming Level),弹出选择文件(Select File)窗口,选择已创建的流式关卡,点击OK按钮即可添加相应的关卡。成功添加后,关卡会显示在右侧的大纲(Hierarchy)面板中。

2023-01-14_103329

2023-01-14_103711

关卡流送体积

关卡流送体积(Level Streaming Volume)是一种用于辅助流式关卡的加载和卸载的体积对象。一个关卡流送体积可以关联多个流式关卡。通过判断玩家进入体积、离开体积来控制关联的流式关卡的加载和卸载。

创建关卡流送体积

依次点击创建游戏对象(Create Game Object)-> 体积(Volumes)-> 关卡流送体积(Level Streaming Volume)来创建一个关卡流送体积。

注意:关卡流送体积需要在持久关卡(Persistent Level)中创建,否则将无法生效。

2023-01-14_110723

2023-01-14_110726

在大纲面板中选中关卡流送体积对象,然后在观察器(Inspector)面板下的笔刷生成器类别名称(Brush Builder Class Name)属性中设置其笔刷生成器类型,并在笔刷设置(Brush Settings)属性下编辑笔刷相关参数。

2023-01-14_111424

属性描述
笔刷生成器类别名称(Brush Builder Class Name)使用指定类型的笔刷生成器生成笔刷。
镂空(Hollow Out)立方体是否为镂空。
曲面细分(Tessellated)是否需要为每个立方体面生成额外的内部面。
X轴方向大小(X)立方体X轴方向上的大小。
Y轴方向大小(Y)立方体Y轴方向上的大小。
Z轴方向大小(Z)立方体Z轴方向上的大小。
墙体厚度(Wall Thickness)镂空时立方体的墙壁厚度。

使用关卡流送体积

依次点击菜单栏窗口(Windows)-> 关卡细节(Level Details),弹出关卡细节窗口,选中流式关卡,点击流送体积列表(Streaming Volume List)下的添加元素(Add Element)按钮,选择所需添加的关卡流送体积。

2023-01-16_102442

属性描述
关卡X轴角度(Level Angle X)关卡X轴角度(关卡加载后会应用到关卡内的场景对象上)。
关卡Y轴角度(Level Angle Y)关卡Y轴角度(关卡加载后会应用到关卡内的场景对象上)。
关卡Z轴角度(Level Angle Z)关卡Z轴角度(关卡加载后会应用到关卡内的场景对象上)。
关卡X轴位置(Level Position X)关卡X轴位置(关卡加载后会应用到关卡内的场景对象上)。
关卡Y轴位置(Level Position Y)关卡Y轴位置(关卡加载后会应用到关卡内的场景对象上)。
关卡Z轴位置(Level Position Z)关卡Z轴位置(关卡加载后会应用到关卡内的场景对象上)。
初始加载(Initially Loaded)场景加载时该关卡是否需要被加载。
初始可见(Initially Visible)场景加载时如果关卡需要被加载,是否需要可见。
在编辑器中忽略流送体积(Ignore Streaming Volume In Editor)在编辑器中加载或显示该关卡时,是否忽略流送体积。
在编辑器中加载(Should Be Loaded In Editor)该关卡在编辑器中是否被加载。
在编辑器中可见(Should Be Visible In Editor)该关卡在编辑器中是否可见。
添加元素(Add Element)添加一个关联的关卡流送体积。
清除元素(Clear Elements)清除所有关联的关卡流送体积。