4 关卡流 进阶_虚幻4渲染编程(大世界篇)【第三卷:Slice The Open World Terrain】

本文介绍了如何在虚幻4中实现大世界地形的流加载,通过将地形切块并分布到子关卡中,利用关卡流技术动态加载和卸载资源。详细讲解了地形接缝问题的产生原因和解决方案,通过调整TileOverlap值实现了无缝对接,并探讨了数据连续性在消除接缝中的关键作用。后续将继续研究地形材质技术。
摘要由CSDN通过智能技术生成

MY BLOG DIRECTORY:

YivanLee:专题概述及目录​zhuanlan.zhihu.com
0cfc83047e3df5de5563af7528342a1d.png

INTRODUCTION:

因为各种外界因素限制,硬件限制,耗电,贴图分辨率等因素。我们不可能把大世界的所有数据全部一次性加载到内存显存里渲染,所以需要做Streaming。因为地形系统的这个需求,所以需要制作符合这个需求的资源拿给地形系统渲染。因此需要对地形资源进行切块。

顺带一提,把地形数据进行切块并且分布到多个Landscape中可以打破Landscape的精度限制。如果想制作一个千米大山,可以用多块landscape拼凑出这座大山。


MAIN CONTENT:

为了解释引擎是如何渲染地形的,下面先做一个简单是演示。

首先创建一个4X4Component共16个Component的地形,从本专栏“大世界篇”系列的第一节可以知道,每个component对应一个sceneproxy。引擎会以component为基础单位对地形进行剔除,避免不必要的渲染消耗。

47d440ae955270ba9d3776350c00d534.png

当摄像机能看到全部地形Component时

185c6476568ba24673ad62f3a9e46863.gif

BasePass一共有16次DrawCall

切片过程 1)开始切片过程,在Unity编辑器顶部选择地形选项,然后单击“切片地形”选项。一个窗口会出现一些配置信息。 2)拖动您希望分割为“地形切片”字段的地形。或者,如果您在步骤1中单击“切片地形”选项时选择了地形,则该字段中已经出现了地形。 3)输入每个补丁的详细分辨率。优选地,该值应与每个补丁值的基本地形细节分辨率匹配。这些信息不能通过脚本访问,这就是为什么你必须在这里输入它。您可以输入与基础地形设置不同的值,但这将导致细节网格(植物和草地)复制的准确性降低。 4)选择您希望结束的切片维度。2×2仅仅意味着基本地形将沿着X轴2次和Z轴2次分割,以创建4个地形片。64×64未经测试,不建议使用,所以请自行承担风险。 5)设置希望存储地形数据的文件路径。默认情况下,这是资产/ terrainslicing /地形数据。如果您希望暂时在另一个文件夹中创建地形数据,只需在这里输入新路径。如果希望永久更改默认文件夹,请输入新的文件路径,并选择“保存当前文件路径作为默认文件路径”按钮。请确保没有“/”后的文件路径上的文件夹名称(例如,用于文件的默认路径的地形数据后),否则将会出现错误。 6)当单击“创建地形”按钮时,选择是否覆盖现有的地形数据。这是一个安全功能,以确保你不小心覆盖的地形数据,你已经创造了。如果试图在未选中此值时重写数据,则会出现警告消息,告诉您要检查此值,而切片操作将不会开始。 7)单击“创建地形”按钮,等待进度条填充。如果进度条未显示,则在编辑器窗口显示通知错误的通知消息。有时您可能需要检查控制台以获得更详细的信息。最后,确保只在编辑模式下执行切片地形脚本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值