简单尝试UE5的WorldPartition

前言

在过去,创建大世界地图主要是使用 WorldComposition,开发者手动将世界分割为子关卡,然后运行时由关卡流送系统来加载和卸载关卡。其中一个缺点是多个开发者可能在编辑同一个关卡时出现冲突。

而在UE5中,有了WorldPartition,不再需要创建子关卡了。同时与之配合的 一Actor一文件(One File Per Actor) 也减少了开发者之间的编辑冲突。

本篇将对 WorldComposition 进行些简单的尝试。参考资源除了官方文档外还有UE5 World Partition / Getting Started Tutorial - YouTube

0. 在项目设置中启用WorldPartition

当打开关卡的WorldSettings面板时,可以看到Enable World Partition是灰色的。这也许说明当前并不支持单独让个别关卡启用WorldPartition。
在这里插入图片描述
要想启用WorldPartition,需要在项目设置中勾选:
在这里插入图片描述
之后当新创建关卡时,就可以在WorldSettings面板中看到启用了WorldPartition。
在这里插入图片描述

1. 在WorldPartition窗口中加载网格

新建一个关卡:
在这里插入图片描述
保存关卡。
但是再次打开这个关卡时,会发现之前的地板不见了:
在这里插入图片描述
这是因为地板所属的网格并未被加载,因此地板也没被加载
在这里插入图片描述


打开WorldPartition窗口
在这里插入图片描述
可以选择多个网格并右键加载他们。
在这里插入图片描述
加载后便可以再次看到地板了:
在这里插入图片描述

2. Actor的“网格放置”选项

每个Actor在detail面板都可以设置自身的网格设置
在这里插入图片描述
三个选择效果为:

设置作用
边界(Bounds)将Actor放置在所有与其边界体积(bounds volume)相交的网格单元中。
位置(Location)将Actor放置在包含Actor中心点的网格单元中。
始终加载(Always Loaded)始终加载Actor。

默认是“Location”。

为了测试,现在将地板改为“Always Loaded”,这样不管怎么样都会被加载。

3. 预览网格单元

当前的地板相对于网格单元过小了。为了预览可以将其缩放的XY都改为100。

在WorldSettings中,勾选Preview Grids可以预览网格单元。
在这里插入图片描述
修改网格单元尺寸可以实时地看到划分的变化:
在这里插入图片描述
(注意:此处预览的网格和WorldPartition窗口中加载的网格并不一样,待后续研究)

4. 运行时的流加载

为了测试,在网格上放一些几何体:
在这里插入图片描述
点击Play运行后,在控制台输入wp.Runtime.ToggleDrawRuntimeHash2D即可预览网格的加载情况:
在这里插入图片描述
移动人物,可以看到远处的圆锥所属的网格在到达加载范围后被加载:
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值