UE5世界分区系统 | 高度图最大尺寸是多少? | 地形的大小与内存显存关系?...
Game艺视界原创文章原创 16000 0
实名

通过了实名认证的内容创造者

发布于 2022-8-18 18:37:37

您需要 登录 才可以下载或查看,没有账号?注册

x
本期内容:
世界分区是虚幻引擎5中的新的世界流系统。世界上一些被称为“单元格”的区域在我们的视野中时隐时现

2f8a3310721317487edbe17e68ad14d1.png


根据他们与流源的距离,通常世界分区取代了虚幻引擎4的世界合成功能和其关卡流媒体系统

0000cd2cda4e6df65a1ef902b65a56b9.png


在虚幻引擎5内分区中的模板创建新项目,游戏类别创建一个新的关卡使用开放世界关卡模板







或转换现有关卡,使用世界分区
将现有关卡转换为使用世界分区,使用工具菜单转换关卡项目或使用世界分区

转换commandlet在命令提示符窗口




景观属性
不像世界构成那样禁止景观位置的旋转和缩放属性与世界分区这些值之后仍然可以调整引入了地形,这允许改变地形在关卡开发过程中随时提升或缩放




景观大小

*世界分区支持epic景观技术指南文档中定义的所有推荐景观尺寸。尽管景观参与者可以支持多种地形尺寸,但应使用推荐尺寸。这些尺寸为127、253、505、1009、2017、4033和8129
*也有三种中等大小,很好地与景观1513 3025和6097所有这些尺寸都可以选择




直接使用景观创建模式,要创建大于8129x8129大小的景观,您应该使用建议的世界分区大尺寸




对于png文件,建议的世界分割大尺寸与世界合成大尺寸不同。可以在Terraculptor unreal engine景观对话框中找到世界分区大大小。大尺寸的总数因为太长,无法在此列出







景观导入

使用“世界分割”,您不再需要将大型高度贴图拆分为瓷砖进行导入。可以导入分辨率高达32767x32767的完整png高度贴图文件,但是对于分辨率大于32767的必须使用瓷砖。原始文件格式导入器的最大大小仍然限于8161乘8161。随着平铺导入,它将不会导入大尺寸的高度贴图



.
单元格大小
虚幻引擎5横向导入器忽略共享边,并将每个瓷砖作为直线拟合边到边加载。一组10×10的1009×1009大小的瓷砖,用于在世界合成下导入,共享边总计为10081×10081,实际上在ue5中导入为10090×10090,因此在世界分区导入器中根本不支持共享边,而且由于10090分辨率不高,可被新的更大的511截面大小整除。世界分区将地形大小填充为10201*10201这有效地添加了边缘填充111个顶点到这个例子的大小


如果你不使用正确的世界瓷砖的分区大小,你将结束一个裁剪高度地图或一个填充高度地图的一种方法来确定瓷砖大小,对于各种世界分区高度映射分辨率,到目前为止我检查过的所有分辨率的质数大多数只能被另一组数字整除,对于适当的瓷砖尺寸一些大尺寸的世界不能平铺




作为4033和8129一个8129 × 8129景观高度地图,导入将产生一个景观actor和256个景观流媒体代理actor,在大纲中列出了景观流媒体代理角色和生成的高度地图视图资产文件将存储在外部

系统要求
计算机系统的基本规则要求世界分区世界,导入贴图集和编辑所有单元格的创建如下所示




单元格大小
单元大小决定用于生成流级别的网格单元的大小。默认单元大小为25600世界单位(厘米),可以再世界设置分区运行时是指单元格大小

通过启用预览网格,可以在视口中显示单元格网格,选项在世界分区运行时设置中将显示网格,显示单元格区域所在位置的线条每个单元格的大小将与景观组件的大小接近8129 × 8129的景观,254 × 254




一个8129 × 8129的景观是1024x4绘制调用或,总共有4096张图需要绘制整个地形单元格装载范围为76800,单元格大小为25600绘制次数约为50次,截面大小增加到511,最有可能减少每个横向图的绘制调用数
单元加载范围
是距离流源的距离,通常情况下玩家将加载世界中的单元格,并使其在也包含风景的关卡中可见。此加载范围将包括在视图距离中可见和渲染的风景流代理角色





单元格加载范围可在“世界设置”“世界分区”“运行时设置”“加载范围”中设置这个值是以厘米为单位的虚幻引擎世界默认值为776800,即768米默认的单元格加载范围对于大多数横向来说通常太小世界设计的最佳视觉距离是5公里左右要获得5公里的视图距离,请设置单元格加载范围为512000




世界分区小地图允许你选择和加载单个单元格,景观迷你地图被分为景观部分,所以对于8129 by 8129景观是由两部分组成的32乘32部分将是一个64乘64节的网格,可以选择和加载或卸载
注意视口渲染性能可能会显著下降,切换世界分区小地图标签在我的RTX3090上选择了一些大的1024平方公里关卡,其他选项卡渲染50FPS,但选择世界分区小地图选项卡将视口FPS降低到20左右




小地图纹理
小地图是用于控制的自上而下的世界概览,用于控制单元格的装载和卸载以及放置在世界上的角色的展示

一个16k * 16k的迷你贴图是可以用默认纹理创建的最大的贴图,创建一个16k * 16k的小地图纹理,对于一个16公里×16公里的世界,通常会导致纹理流池超过预算,需要增加池尝试使用标准纹理创建一个大于16k的迷你贴图纹理







如果启用了虚拟纹理,会导致以下日志错误,项目属性,然后可以创建更大的迷你地图,如32公里×32公里的世界记住了迷你地图的纹理计数到计算机系统纹理流池,使系统可以创建大的小地图纹理时耗尽资源池




HLOD
一些世界成分,如景观和水成分,目前还没有文档,因此,如果您有一个仅为横向的测试地图,那么生成HLOD是没有用的。
请使用“参与者详细信息”世界分区设置中的“空间加载”复选框选项来控制参与者的持久可见性。如果未选中,则即使世界被分割,参与者也始终可见它所在的单元格被卸载


如何改变小地图和流网格属性
虚幻引擎5世界分区系统支持推荐,景观尺寸从127到8129,但是分辨率大于8129使用世界分区的不同大小系统




这包括正方形和矩形尺寸集,请确保使用正确的世界分区大小,否则高度地图通常被填充到下一个更大的有效分辨率




流网格用于指定流角色的正方形区域,在世界内外网格大小值是用世界设置世界分区运行时设置网格单元格大小

网格大小值是以厘米为单位的世界单位数,流网格单元格的宽度和长度都是相同的,该值通常设置为所需的流距离的大小通常是景观组件大小的倍数

小地图用来控制景观的装卸




小地图单元格的大小由“世界设置”世界分区控制高级世界分区编辑器,单元格大小这个尺寸值也是厘米的世界单位,但通常会设置到每个景观流媒体代理的大小,以便能够控制在这个粒度上的世界可见性,可以改变小地图单元格的大小,点击保存按钮和重新加载关卡

可以通过重新加载关卡来完成,在编辑器中右键单击关卡,选择保存然后编辑

迷你地图纹理
可以通过选择世界分区小地图来访问项然后转到细节面板,双击查看小地图纹理大小可以改变,通过更改“小地图平铺大小”属性,此值默认为1024,这将生成一个与“小地图”相同的二维景观,512对应4096小地图,一个4096纹理这可以减少纹理流池的要求,并允许创建小型地图纹理的景观较大超过16k不使用运行时虚拟纹理,因此,对于32公里的景观,将小地图的贴图大小属性设置为256创建一个8192 * 8192的小地图纹理

您可能会发现,最好将“小地图”和“流网格”属性设置为与横向属性相匹配。其原因是,演员流单元格大小基于横向组件大小,而“小地图单元格大小”基于横向流代理演员大小。默认的小地图单元格尺寸为12800,会导致非常拥挤的小地图界面




当一个高度地图被导入一个景观,高度地图被分割成被称为景观流代理的作品
每个横向流代理actor都是您可以加载的最佳粒度

在你的世界设计中为一个景观演员工作。例如,世界大小和高度地图大小可能是16321 * 16321将分割成一个16 × 16网格的景观流媒体演员,为一个景观系统共有256个角色,默认的流网格单元格大小是25600




要将流网格单元大小设置为横向组件分辨率,请加载一个或多个横向流代理并选择一个。要查看属性,请将网格单元大小设定为组件大小减去1或50%其中一个分量的分辨率乘以100





默认的小地图单元格大小是12800,以匹配小地图单元格

尽可能接近横向流媒体代理的大小以便选择

定位或卸载一个迷你地图单元格,大致相当于一个横向流媒体代理设置编辑器。单元格大小为横向维度除以横向流代理计数,沿着最大维度大小,如宽度
注意,小地图单元格不能与横向流精确匹配,因此每个小地图单元可以加载一到四个彼此相邻的横向流代理。这是因为小地图单元格编辑器单元格大小,不是浮点值,不能正确等于单个横向流媒体代理大小




显示网格功能不是很可靠和网格线在许多显示分辨率下不能正确显示。我有一台34英寸的4k显示器,分辨率可以是1920x1080以外的任何分辨率,显示网格线是流动的和不精确的并到处移动镜头,这是在虚幻引擎5发布5.0.2这个问题使得不能告诉流演员所在的网格




为了防止高度地图填充和拉伸地形它是必须使用有效的世界分区高度映射大小,根据你的世界设计,边缘的拉伸可能是可见的在游戏或可视化中取决于摄像机的位置




要计算有效的世界分区高度地图大小,请使用公式511乘以(n - n - 1)其中n是每半千米的距离所以10千米高的地图是511乘以20减去20减去1




在这个例子中我导入了一张,9700乘9700高的地图是无效的你可以看到世界分区填充景观到10201 by 10201

这将导致501像素填充拉伸周围的周长地形




UE5横向模式可以导入png格式的单高度地图,大小不超过32768,因此无需再使用瓷砖。对于大多数大型世界,65535乘65535的高度地图是最好的。我尝试过更大的他不会导入到ue5.0.2。在线框预览之前,由于平台内存错误而迅速崩溃
我也尝试了一些额外的小尺寸来确定上限,包括56101和45901,它们还因平台内存错误而使编辑器在线框预览之前崩溃
一个40801乘40801高度贴图,导入到线框预览中而不会崩溃,但在完成导入之前出现gpu内存耗尽的错误,超过128g的电脑加上24g的内存将会是需要32641乘32641高度地图导入完全,但使用所有可用的128gb CPU内存和所有24gb RTX 3090Gpu内存,最大的可行世界通常是32公里乘32公里




虚幻引擎5世界分区有效地具有相同的最大世界大小,因为高度图的大小而限制了世界组成数据项目数据的大小和导入所需的内存量
世界组成和世界划分之间的一个主要区别是世界组成你可以加载瓷砖批量,但这是很多额外的实际上我的测试世界分区总体上没有什么好处,需要比世界合成更多的内存来导入高度地图




















以下是世界分区中几个典型的世界大小导入和播放统计信息













平铺高度图导入、与虚幻引擎5世界分区
世界合成系统,如果世界合成贴图设置在世界上使用,它们将形成一个填充和拉伸的景观





世界分区的有效大小中大约有一半是质数,这意味着它们只能被自己整除为一所以这些尺寸的瓦片都没有,它们也必须有导入为单个大的16位PNG文件其他尺寸只有大的瓷砖计数,如101 × 101瓷砖结果在10201瓷砖文件,所以不要使用那些




使用开放世界模板创建一个新关卡,以便世界划分




导入我们的高度图


请注意,通常在16公里乘16公里的地形上工作需要一台有64g内存和10g显卡的电脑,通常在32公里乘32公里的地形上工作需要一台拥有128g内存和24g显卡的电脑

我经常看到人们抱怨大开放对内存的要求,虚幻引擎中的世界太高了,这是一个纯粹的事实创造更大的世界需要大量的数据世界越大建议系统要求的资产大小更大epic unreal engine页面严格用于非常基本的游戏创建和编辑这并不能说明大型开放世界需要什么,大多数关卡编辑都需要64g的内存。创造大型世界的内存需求非常高


所涉及的资产数据例如一个32641by 32641 png-16高度地图是2g的数据。带有MIPS的流媒体纹理大约有6g大小加上其他内存需求,所以随着场景渲染和网格而一个32k × 32k地形场景的纹理内存则需要几十gb的ram当将结果项目加载到磁盘上时,内存通常是原来的10倍比高度地图数据更大,32k × 32k项目的高度约为磁盘上20gb的ram内存的要求




导入和创建大型世界遵循这一规则



具体内容以下方视频教程为准

本期分享就到这里!更多精彩+++关注联系我们   
下期见,学习不止,不止学习


公众号地址:UE5世界分区系统 | 高度图最大尺寸是多少? | 地形的大小与内存显存关系?

本帖被以下画板推荐:

微信公众号:Game艺视界
使用道具 <
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表