Landscape室外地形

为大型开放室外环境创建地形的Landscape系统。

Choose your operating system:

Windows

macOS

Linux

地形(Landscape) 系统使您能够为您的世界场景创建地形 - 山脉、山谷、起伏或倾斜的地面,甚至洞穴的开口 - 并通过使用一系列工具轻松修改其形状和外观。

有关开口和使用地形(Landscape)工具的信息,请参阅 创建地形

地形工具模式

Landscape Tool Modes

地形工具有三种模式,可以通过地形工具窗口顶部的图标访问。

图标

模式

说明

Landscape_ManageMode.png

管理模式(Manage mode)

使您能够创建新的地形,并修改地形组件。您也可在管理模式中使用 地形小工具 复制、粘贴、导入、导出部分地形。有关管理模式的更多信息,请参阅 管理模式

Landscape_SculptMode.png

塑造模式(Sculpt mode)

让您可以通过选择和使用特定的工具,修改地形的形状。有关塑造模式的更多信息,请参阅 造型模式

Landscape_PaintMode.png

绘制模式(Paint mode)

使您可以基于在地形材质中定义的图层,通过在地形上绘画纹理以修改部分地形的外观。有关绘制模式的更多信息,请参阅 绘制模式

创建一个地形意味着创建一个地形Actor。与其他Actor一样,您可以在关卡编辑器的 细节(Details) 面板中编辑它的许多属性,包括其指定材质。有关 细节(Details) 面板的更多信息,请参阅 细节面板

地形功能

Landscape地形系统的主要功能和采用的技术如下所述。

大地形尺寸

Landscape系统为地形铺平了道路,这些地形比之前在虚幻引擎中可能出现的地形大若干个数量级。由于其强大的 细节级别(Level of Detail) ( LOD )系统和高效利用内存的方式,现在可以合法地实现和使用高达8192x8192像素的高度图。虚幻引擎现在支持巨大的室外世界场景,它们允许快速、轻松地创建任意类型的游戏,而无需修改现有的引擎或工具。

Landscape_Terrain_Size.png

Landscape内存使用

对于创建大型地形,Landscape通常是比静态网格体(Static Mesh)更好的选择。

对于顶点数据,Landscape为每个顶点使用4个字节。静态网格体(Static Mesh)以12字节矢量的形式存储位置,每个切线X和Z矢量封装为4个字节,并为每个顶点的共24或28个字节存储16位或32位浮点UV。

这意味着,对于相同的顶点密度,静态网格体(Static Mesh)将使用6或7倍于Landscape的内存。Landscape还将它们的数据存储为纹理,并且可以为遥远的区域流送未使用的LOD关卡,并在您接近它们时从后台的磁盘加载它们。Landscape使用一个常规的高度场,因此其碰撞数据也能够比静态网格体(Static Mesh)的碰撞数据更高效地存储。

静态渲染数据作为纹理存储在GPU内存中

在大多数平台上,Landscape系统在GPU内存中以纹理的形式存储地形的渲染数据,允许在顶点着色器中查找数据。数据被打包成32位纹理,高度会占据16位(通过R、G和法线通道);或者保存为两个8位的数值(分别用于X和Y,占据B和A通道)。此外,如果使用了 重新拓步 工具,另外一个32位纹理会保存X和Y偏移。

连续Geo-MipMap LOD

Landscape地形的LOD使用标准纹理mipmap进行处理。每个mipmap都是一个细节级别,可以使用"text2Dlod"HLSL指令指定要采样的mipmap。这不仅允许使用大量LOD,而且还能够实现平滑的LOD过渡,因为两种mip级别都可以采样,然后高度和X和Y偏移量可以内插到顶点着色器以创建一个干净利落的变换效果。

Landscape_LOD1.png

Landscape_LOD1toLOD2.png

Landscape_LOD2.png

完全LOD 1(Fully LOD 1)

从LOD 1变换到LOD 2(Morphing from LOD 1 to LOD 2)

完全LOD 2(Fully LOD 2)

高度图和权重数据流送

由于数据存储在纹理中,因此虚幻引擎4中的标准纹理流送系统可以根据需要对mipmap进行流进流出操作。这不仅适用于高度图数据,也适用于纹理层的权重。只需要每个LOD所需的mipmap,就可以在任何时候最大程度减少要使用的内存量,从而增加由于内存被释放而可以创建的地形的大小。

高分辨率LOD独立照明

由于存储了地形的X和Y斜率,所以所有的高分辨率(非LOD)法线数据都可以用于照明计算。

Landscape_LODs.png

Landscape_FullResNormals.png

地形LOD(Landscape LODs)

全分辨率法线(Full Resolution Normals)

这允许为始终使用地形的最高分辨率执行逐像素照明,甚至在无LOD的遥远组件上也可如此。

Landscape_SimpleVertexLighting.png

Landscape_HRPerPixel.png

简单顶点照明

高分辨率逐像素照明

当这些高分辨率的法线数据与细节法线图结合在一起时,Landscape地形可以实现非常详细的照明,却只需要极少的系统开销。

Landscape_GeometryNormals.png

Landscape_DetailNormals.png

仅几何体法线

带细节法线

PhysX碰撞

Landscape用一个PhysX高度场对象来进行虚幻以及刚体碰撞。您可以为每一图层指定 物理材质 ,碰撞系统将使用每一位置的主导层来确定使用哪一种物理材质。可以使用降低的分辨率碰撞高度场(例如0.5x渲染分辨率)来节省大型Landscape地形的内存需求。远距Landscape的碰撞和渲染组件也可以使用关卡流送系统实现流出。

欢迎帮助改进虚幻引擎文档!请告诉我们该如何更好地为您服务。
填写问卷调查
取消