流式关卡
概述
流式关卡(Streaming Level)指的是关卡的集合,可以动态地加载、卸载关卡资源。有了流式关卡功能,玩家进入场景后不需要加载整个场景资源。玩家走到指定区域时加载需要看到的关卡,卸载不需要看到的关卡。这样可以节省内存,减轻渲染压力,实现无缝大世界。
流式关卡
创建流式关卡
依次点击菜单栏文件(File)-> 新建流式关卡(New Streaming Level),弹出关卡另存为(Save Level As)窗口,点击 按钮选择关卡存储目录,并在关卡名(Level Name) 中输入新的流式关卡名称,点击OK即可完成创建。
保存流式关卡
在大纲(Hierarchy)面板中双击选中流式关卡节点,绿色的关卡节点则表示当前选中的关卡。依次点击菜单栏文件(File)-> 保存当前关卡(Ctrl+S)(Save Current Level (Ctrl+S))即可保存当前选中的流式关卡,存储路径默认为创建时所选择的路径。
或者在大纲(Hierarchy)面板中双击选中流式关卡节点,然后依次点击菜单栏文件(File)-> 将当前关卡另存为(Ctrl+Alt+S)(Save Current Level As (Ctrl+Alt+S)),弹出关卡另存为(Save Level As)窗口,设置新的关卡存储路径和名称,点击OK即可完成关卡另存为。
添加流式关卡
依次点击菜单栏文件(File)-> 添加已经存在的流式关卡(Add Existing Streaming Level),弹出选择文件(Select File)窗口,选择已创建的流式关卡,点击OK按钮即可添加相应的关卡。成功添加后,关卡会显示在右侧的大纲(Hierarchy)面板中。
关卡流送体积
关卡流送体积(Level Streaming Volume)是一种用于辅助流式关卡的加载和卸载的体积对象。一个关卡流送体积可以关联多个流式关卡。通过判断玩家进入体积、离开体积来控制关联的流式关卡的加载和卸载。
创建关卡流送体积
依次点击创建游戏对象(Create Game Object)-> 体积(Volumes)-> 关卡流送体积(Level Streaming Volume)来创建一个关卡流送体积。
注意:关卡流送体积需要在持久关卡(Persistent Level)中创建,否则将无法生效。
在大纲面板中选中关卡流送体积对象,然后在观察器(Inspector)面板下的笔刷生成器类别名称(Brush Builder Class Name)属性中设置其笔刷生成器类型,并在笔刷设置(Brush Settings)属性下编辑笔刷相关参数。
属性 | 描述 |
---|---|
笔刷生成器类别名称(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)按钮,选择所需添加的关卡流送体积。
属性 | 描述 |
---|---|
关卡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) | 清除所有关联的关卡流送体积。 |