美文网首页Ureal Engine
UE4 Landscape室外地形0059bate1

UE4 Landscape室外地形0059bate1

作者: 深呼吸10911 | 来源:发表于2021-05-18 01:14 被阅读0次

Landscape室外地形

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

地形工具模式


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


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

地形功能

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) 选项即可打开地形工具。


按下 Shift + 2 组合键可即时切换至地形工具。
打开地形工具后,将自动前往 管理模式 标签。 如当前关卡中不存在其他地形 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)。


其他信息

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

相关文章

网友评论

    本文标题:UE4 Landscape室外地形0059bate1

    本文链接:https://www.haomeiwen.com/subject/vtscjltx.html