UE4地形系统(Landscape)

发布时间 2023-07-16 23:32:25作者: 可可西

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

 

概述

 

一个关卡中可以有多个地形Actor对象(ALandscape)。

一个场景世界中只有一个小工具Actor对象(ALandscapeGizmoActiveActor),用于编辑时的地形的拷贝。

 

通过obj list class=Actor -alphasort命令查看场景中Landscape个数和大小

 

地形结构组成

边框颜色

地形单元

包含

黄色

地形Actor边缘

包括2x2个Components

浅绿色

组件(Component)边缘

包括2x2个Sections

中绿色

分段(Section)边缘

包含7x7个Quads

深绿色

四边形(Quad)

每个Quad被缩放100倍,即长宽为100uu(虚幻单位),为1m

 

更多信息请参考:地形技术指南创建地形创建和使用自定义高度图和图层

 

创建地形

点击Create按钮创建地形

注:7条鲜绿的横线和7条鲜绿的竖线将地块划分成8x8个Components

 

 

去掉Component之间的缝隙印记

方法①:将场景中的Directional Light设为Movable后,再设回Stationary

方法②:执行Build Lighting Only

 

 

 

地形系统有三种模式:Manage(管理模式)、Sculpt(塑形模式)Paint(绘制模式)

 

 

Manage(管理模式)

用Select工具来选择地块

点击地块即可选中所在的Component,按Shift键点击则会取消Component的选择

注1:Brush Size为1表示选择面积为1个Component大小

注2:点击Clear Component Selection按钮,可取消掉所有选中的地块

 

用Add工具来添加地块

点击地块即可在绿色方块光标处添加Component。绿色方块光标的大小即为Brush Size指定的值。

注:Brush Size为1表示选择面积为1个Component大小

 

用Delete工具来删除地块

点击地块即可将橙色实心方块光标处的Component删除。橙色实心方块光标的大小即为Brush Size指定的值。

注:Brush Size为1表示选择面积为1个Component大小

 

用Move工具将点中的地块移动到当前关卡中

 

查看Persistent Level关卡中的地块

 

查看LandScapeLevel关卡中的地块

 

用Resize工具来调整地形的所有地块

① Expand模式

 

 

② Clip模式

 

 

③ Resample模式

 

 

地形样条线

Ctrl键,在地形上点击来添加样条线控制点

注:勾选Use Auto Rotate Control Point(使用自动旋转控制点),释放光标后样条点会自动旋转,使样条保持平滑。更多信息参见:地形样条线

 

更多快捷键:

鼠标左键 选择控制点或分段。
Shift+鼠标左键 选择多个控制点或分段。
Ctrl+A 选择所有连接到当前选定控制点的控制点和/或所有连接到当前选定分段的分段。
Ctrl+鼠标左键

① 添加新控制点,并自动连接到任何选定的控制点。

② 在选定一个或多个控制点的情况下,创建分段将所有选定的控制点连接到新的控制点。

③ 在选定一个分段的情况下,在该点拆分分段并插入新的控制点。

ALT+鼠标左键拖动

① 在选定一个控制点的情况下,添加新控制点并将它朝拖动方向平移。

② 在拖动穿过现有分段时拆分路径。

③ 在从样条任一端拖开时添加新分段。

Delete 删除选定的控制点或分段。
R 自动计算选定样条控制点的旋转。
T 自动翻转选定控制点/分段的切线。
F 翻转选定的样条分段(仅影响样条上的网格体)。
End 将选定控制点对齐到下方的地形。

 

 

选中某个控制点来调整位置

 

 

 

 

选中一个样条控制点,然后在Details面板中点击Segments来选中整个样条,然后在Landscape Spline Meshes中为整个样条添加StaticMesh资源

 

 

Sculpt(塑形模式)

 

常用快捷键

鼠标左键 通过笔划将所选工具的效果叠加应用至高度图。
鼠标左键+Shift 通过笔划将所选工具的效果删减应用至高度图。
Ctrl+Z 撤销。
Ctrl+Y 重做。

 

属性说明

属性

说明

Tool Strength(笔刷强度,绿框中)

决定使用造型工具时升高或降低的量。

Brush Size(笔刷尺寸,篮框中)

决定着笔刷的尺寸(为320个虚幻单位)

Brush Falloff(笔刷衰减,白框中)

决定了衰减开始处笔刷范围的百分比。本质上来说,它决定着笔刷边缘的硬度。

0.0的衰减意味着笔刷拥有硬边,整体皆拥有完整的效果。1.0的衰减意味着笔刷只在中心拥有完整效果,效果将从其所在的整个区域到边缘逐渐减弱。

Use Clay Brush(使用泥浆笔刷)

可以用一种有机的、叠加的方法雕刻地形

 

笔刷形状

形状 Circle(圆形) Alpha(透明度) Pattern(图案) Component(组件)
设置项

 

 



Circle(圆形)形状画刷周围衰减

类型 Smooth(平滑) Linear(线性) Spherical(球形) Tip(尖端)
呈现效果

更多请参考:地形笔刷

 

塑形工具

工具 说明
造型(Sculpt) 以当前选中笔刷和衰减的形状升高和降低地形高度图的高度。
平滑(Smooth) 能够柔化高度图绘制值,消除使用造型或侵蚀工具后有时会出现的锯齿穿帮,使地形的外观平滑流畅。
平整(Flatten) 将把高度图的所有部分推拉至鼠标之下的水平线上。 这样便可将周围的高度图数值升高或降低到相同的数值。
斜坡(Ramp) 可在地形上选择两个位置并在两个点之间创建一个平板斜坡,并在侧边指定衰减。
侵蚀(Erosion) 利用热力侵蚀模拟调整地形高度图的高度。它模拟土壤被自然力量从高处移动向低处的效果。 高低落差越大,产生的侵蚀效果越强。该工具还可在侵蚀上应用 noise 效果,呈现出自然真实的随机外貌。
水力侵蚀(Hydro Erosion) 利用水力侵蚀模拟(由水流形成的侵蚀)调整地形高度图的高度。Noise 过滤器用于决定模拟中初始降雨的出现位置。 计算出的模拟将确定初始降雨的水流,以及消融、水流迁移和蒸发。 计算结果将产生实际用于降低高度图的数值。
噪点(Noise) 应用一个噪点过滤器,在地形高度图表面生成各种变化效果。
拓扑(Retopologize) 通过 X/Y 偏移贴图自动调整地形顶点,改善所需区域中的顶点密度(如陡峭悬崖)。它将顶点分散到这些密度较低的区域中, 从而减少这类区域中的纹理拉伸。
可视性(Visibility) 用于在地形部分上如洞穴之类的区域进行遮罩(创建洞窟)。
蓝图笔刷(Blueprint)

提供了一套用户自定义造型笔刷堆栈,其支持非破坏性操纵。因此,若堆栈中的低层笔刷若发生变化,变化也将自动流到堆栈上方的笔刷上。

该笔刷可用于将多个地形操纵彼此叠加,同时让各个操纵相互分离,必要时用户可以围绕地形重新排列或移动地形操纵。

镜像(Mirror) 可沿 X 轴或 Y 轴镜像或旋转现有的地形高度图几何体。

 

使用编辑层(Edit Layers)来管理塑形修改

首先在创建地形时,需要勾选Enable Edit Layers,以层编辑模式来创建

 

创建地形之后,就可以在如下Edit Layers中用Layer来管理对地形的修改了

 

创建并选中RampLayer编辑层,然后选择Ramp工具,在场景中点击来添加控制点,选中控制点来调整位置

 

点击Add Ramp来修改地形

 

隐藏SculptLayer编辑层后,之前所做的修改没有应用到地形上(地形变平了)

 

区域选择

注:点击Clear Region Selection可以取消所有区域选择    更多信息请参考:区域选择

 

区域拷贝与粘贴

点击Fit Gizmo to Selected Regions,可快速将Gizmo移动到选择区域

注:可自由拖动Gizmo到目标位置

 

点击Copy Data to Gizmo按钮,来拷贝Gizmo所在的地形数据

 

拖放Gizmo选择Cube到新的位置之后,按Ctrl + V来粘贴

 

得到最终的结果:

 

更多信息请参考:复制与粘贴区域地形小工具

 

Paint(绘制模式)

常用快捷键

鼠标左键 将选中Layer的颜色应用到地形。
鼠标左键+Shift 将擦除应用到地形特定部分的选中材质。
Ctrl+Z 撤销。
Ctrl+Y 重做。

 

属性说明

下面属性的含义与Sculpt模式是一致的:

①  Tool Strength(笔刷强度)、Brush Size(笔刷尺寸)、Brush Falloff(笔刷衰减)、笔刷形状【Circle(圆形)、Alpha(透明度)、Pattern(图案)和Component(组件)】

② Circle(圆形)形状画刷周围衰减【Smooth(平滑)、Linear(线性)、Spherical(球形)和Tip(尖端)】的含义同Sculpt(塑形模式)中一样。

更多信息请查看:绘制模式

 

绘制工具

工具 说明
绘制(Paint) 以当前选定的笔刷和衰减的形式,增加或减少应用于地形的材质图层的权重。
平滑(Smooth) 平滑受其影响的地形范围内的图层权重。强度决定平滑量。
平整(Flatten) 将选定图层的权重设置为 工具强度(Tool Strength) 滑块的值。
噪点(Noise) 将噪点滤波器应用于图层权重。强度决定噪点量。
蓝图笔刷(Blueprint) 提供了一套用户自定义绘制笔刷

 

地形材质节点

地形材质也是一个普通的材质球。只是在材质中使用了一些地形节点的功能。这些节点如下:

更多请查看:地形材质

 

制作带颜色的地形材质

创建一个材质,然后在LandscapeLayerBlend节点上新建如下4个Layer(Grass、Flower、Rock、Ground),并分别为它们赋不同的颜色值

 

为地形设置材质

 

为地形层创建LayerInfo文件

注1:地形材质(Landscape Material )中定义的图层将自动在地形工具的 绘制(Paint) 模式下填充 目标图层(Target Layers) 列表中。

注2:地形图层决定纹理(或材质)如何应用于地形Actor。地形可以使用多个具有不同纹理的图层来创建最终的纹理地形。

 

注:选择保存LayerInfo文件的目录,然后点击OK按钮。

 

用选择的地形图层进行绘制

 

制作带纹理的地形材质

 

制作带植被的地形材质

创建LandScape Grass Type资产

 

设置LandScape Grass Type资产的StaticMesh

 

在地形材质中添加LandscapeGrassOutput结点和LandscapeLayerSample结点,并配置LandScape Grass Type资产

 

带颜色的材质效果

 

带纹理的材质效果

 

带植被的材质效果

 

孤立图层

如果一个图层在填充了一个地形的 目标图层(Target Layers) 列表后被从地形材质中移除,并且它已经在此地形上绘制了数据,那么它在此列表中将显示一个 ? 图标。这表示一个孤立图层。

 

扩展阅读

视频:A Boy & His Kite: An Animated Short | Unreal Engine        marketplace

草地工具快速入门 

程序化植被工具快速入门

开放世界场景工具提示和技巧

ContentExamples中的LandScape示例

Landscapes | 5-Minute Materials [UE4]

Landscape Grass | 5-Minute Materials [UE4]

Quick Unreal Engine 4 Grass Tutorial