栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 游戏开发 > 其他

简单尝试UE5的WorldPartition

其他 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

简单尝试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即可预览网格的加载情况:

移动人物,可以看到远处的圆锥所属的网格在到达加载范围后被加载:

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/901340.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号