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

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


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

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位纹理,高度以R和G信道的形式占据16位,X和Y偏移量以8位数值分别存储在B和A信道中。
连续Geo-MipMap LOD
Landscape地形的LOD使用标准纹理mipmap进行处理。每个mipmap都是一个细节级别,可以使用"text2Dlod"HLSL指令指定要采样的mipmap。这不仅允许使用大量LOD,而且还能够实现平滑的LOD过渡,因为两种mip级别都可以采样,然后高度和X和Y偏移量可以内插到顶点着色器以创建一个干净利落的变换效果。
高度图和权重数据流送
由于数据存储在纹理中,因此虚幻引擎4中的标准纹理流送系统可以根据需要对mipmap进行流进流出操作。这不仅适用于高度图数据,也适用于纹理层的权重。只需要每个LOD所需的mipmap,就可以在任何时候最大程度减少要使用的内存量,从而增加由于内存被释放而可以创建的地形的大小。
高分辨率LOD独立照明
由于存储了地形的X和Y斜率,所以所有的高分辨率(非LOD)法线数据都可以用于照明计算。

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

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

PhysX碰撞
Landscape用一个PhysX高度场对象来进行虚幻以及刚体碰撞。您可以为每一图层指定物理材质,碰撞系统将使用每一位置的主导层来确定使用哪一种物理材质。可以使用降低的分辨率碰撞高度场(例如0.5x渲染分辨率)来节省大型Landscape地形的内存需求。远距Landscape的碰撞和渲染组件也可以使用关卡流送系统实现流出。
——————————————————————————————————————————————————————————————————————————————————————————————
创建地形新建地形地貌指南
虚幻引擎 4(UE4)内置强大的地形编辑工具,可在项目中创建以巨大地形为基础的世界场景。 地形 工具可创建以巨大且经过优化的户外地块,并在多种设备上维持正常游戏的帧率。 用户可通过以下方法任意创建地形:
1.使用引擎中的地形工具可从零开始新建地形高度图。
2.可导入虚幻编辑器中创建的地形高度图或通过外部工具进行创建。详情请参阅创建和使用自定义高度图和图层。
3.用户甚至可以为导入地形创建自己的格式。详情请参阅创建自定义地形导入器。
打开地形工具
创建地形之前,须先在 模式(Modes) 面板中打开地形工具。点击 模式(Modes) 下拉菜单中的 地形(Landscape) 选项即可打开地形工具。

打开地形工具后,将自动前往 管理模式 标签。 如当前关卡中不存在其他地形 Actors,系统将提示你创建一个。 在地形管理模式中可创建新地形并修改现有地形及其组件。

如关卡已包含一个或多个地形,地形(Landscape) 标签页的外观将有所不同。Landscape Editor 部分显示下拉菜单,Selection 工具也为可见状态。 可从此下拉菜单中选择需要使用的地形。

使用地形工具新建地形
在地形工具 地形(Landscape) 工具面板的 新地形(New Landscape) 分段中,可从零开始新建地形。


地形编辑层说明高度图中非破坏性地形层和样条的地形编辑层功能。
地形编辑层(Landscape Edit Layers) 可以编辑地形高度图,并使用非破坏性地形层绘制地形。你可以给地形添加多个层,每个都可以独立编辑。 你也可以保留一个层给样条使用,以便非破坏性地添加和绘制样条。添加、移动和编辑这些样条会自动更新非破坏性层。
要使用地形编辑层,请在 管理(Manage) 标签页下勾选 编辑层(Edit Layers)。层无法反向添加到现有地形中,你始终需要新建一个地形来在项目中使用它们。
将图层添加到地形中
新版本中不再用一个层来雕刻高度图或绘制材质,可将多个层添加到地形。 这些新层可作为雕刻和绘制地形的基础,从而更高效地操纵和维持地形。
默认情况下固定有一个层(Layer1),它是初始的基础层。要添加新层,右键点击 现有层并选择 创建(Create)。也可以通过此菜单 重命名 层。
我们建议对层进行重命名,这样就知道哪个是基础层,哪些是添加的层。可以在地形中添加任意数量的层。

管理层
有几个用来管理层的选项,包括:锁定/解锁层、隐藏/取消隐藏层,以及用层贡献高亮显示层。
锁定和解锁层
你可以选择 锁定 图标锁定该层。关闭的锁则表示无法编辑该层,打开的锁表示可以编辑该层。

隐藏和取消隐藏层
如要从混合中排除某个层,可选择眼睛图标来 隐藏 该层。

高亮显示层
要高亮显示层,可打开 层贡献(Layer Contribution)。通过高亮显示层可看到雕刻层的全貌。层将保持高亮显示,直到关闭高亮显示为止。要打开层贡献,导航至 光照(Lit)> 显示器(Vizualizers)> 层贡献(Layer Contribution)。 要查看层对高度图的贡献,在 雕刻 模式下选择该层。要查看层对绘制层的贡献,在 绘制 模式下选择该层。
请组合使用这些工具高效地雕刻和绘制高度图。例如,如决定绘制Layer1但不锁定基础层,可同时绘制这两个层。隐藏Layer1即可看到在基础层上的何处进行绘制。然而,如果在绘制Layer1前锁定基础层,那么基础层不会有任何改变。
调整透明度层混合
可以通过增减 透明度 值来更改每个层的混合。视口会实时显示这些数值的更改。

擦除层中的高度
如对层使用擦除工具,雕刻会恢复到默认层高度。使用擦除工具时层贡献可能很有帮助,因为它会让层便于识别。
使用非破坏性样条线
新版本中可以在单独的层中创建和管理样条,使其与高度图的基础层分开。也就是说,新版本中可以非破坏性的方式编辑、更改和移动样条,地形将会自动成形。
要添加样条,首先添加一个新层。右键点击重命名该层,然后选择 为样条保留(Reserve for Splines)。系统提示时选择 继续(Continue)。

其他信息
地形编辑层还包括一些其他功能,能让你以非破化性的方式轻松创建地形。