使用Terrain Editor
Tutorial
·
Beginner
·
+0XP
·
60 mins
·
(123)
Unity Technologies

利用Unity Terrain Editor可创建详细逼真的地形。借助系统提供的Terrin工具集,您可以轻松高效地设计优化景观。在本教程中,您将学习如何使用特定工具和技术来创建并自定义地形,包括景观塑造、添加树木以及使用画笔增强地形细节等。完成本教程学习后,您对于Terrain Editor的强大功能和灵活性,以及如何轻松地为项目创建自定义地形,将会有较深入的了解。
Languages available:
1. 项目设置准备
首先,请在新建的Universal Render Pipeline (URP)项目中创建空白场景。您可以使用Terrain Editor,但需要采用3D、HDRP或URP项目模板。请注意,Terrain Editor不适用于2D项目模板。建议您使用自己保存的项目进行练习,也可以从Unity Hub中创建新的URP项目并按本教程操作。但首先应创建新的Terrain GameObject。
2. 创建地形
要在Unity中使用Terrain Editor,您首先需要创建Terrain GameObject。
1.从顶部下拉菜单中选择:“GameObject”>“3D Object”>“Terrain”。这会将新的Terrain GameObject添加到场景中。

创建地形也会将相应的Terrain Asset添加到“Project”窗口。

您的地形是一大块平面。在“Hierarchy”窗口中选中Terrain GameObject后,“Inspector”中将出现Terrain工具。

Inspector中“Terrain”组件的五个图标工具栏提供了不同的选项,允许您创建相邻地形,雕刻景观特征并在地形上绘制纹理贴图。您可以添加树木和草、花及岩石等其他细节。您还可更改选定地形的常规设置。
3. 创建相邻地形
默认的地形是一块方形网格,长宽均为1000米。 如果您想使用平铺网格系统扩展地形,则可以使用“Create Neighbor Terrains”按钮进行扩展。
1.首先选择“Create Neighbor Terrains”按钮,即“Inspector”窗口中“Terrain”工具栏中的第一个按钮。接下来,将鼠标悬停在“Scene”窗口中,此时会出现一个新网格,显示4个象限,代表地形的东南西北四个方向。

2.在“Scene”窗口中,选择任何相邻象限轮廓以添加相邻地形。每新建一个地形,Hierarchy中都会随之增加相应的GameObject。

利用这项技术,您可以创建大量地形贴图,根据项目需求覆盖或宽或窄的区域。在本教程中,相邻地形设置为2 x 2(或4000 x 4000米)的均匀网格。

4. 雕刻地形特征
Paint Terrain工具提供大量功能,从雕刻到平滑处理,再到应用其他效果。接下来详细了解Paint Terrain工具。
1.选择Paint Terrain工具,即“Terrain”工具栏中的第二个按钮。从下拉菜单中选择:“Raise or Lower Terrain”可看到可用选项列表。可通过此下拉菜单使用各种绘画和雕刻工具。我们首先看看“Raise or Lower Terrain”工具选项。

在“Scene”窗口中,您将看到一个圆柱体悬停在鼠标光标所在位置。这是可启用地形雕刻功能的默认画笔。

2.在“Scene”窗口中启用圆柱形画笔后,单击鼠标左键选中画笔,然后拖动以抬高地形。您立刻就会注意到,画笔非常敏感,因此地形高度迅速上升。您可以在后续步骤中微调画笔,但现在请在单击鼠标左键时按住Shift键,即可使地形重新降到地面高度。

3.现在微调画笔设置,调低画笔力度。在“Inspector”中,将“Opacity”降低为15。这会影响画笔力度,减慢利用鼠标雕刻时抬升地形的速度。此外,请将“Brush Size”增加到50。现在,“Scene”窗口中的画笔光标外观改变,呈现一个更加宽扁的圆形。用鼠标点击“Paint Terrain”工具并沿地形拖动,继续雕刻地形。现在可以有效地雕刻和抬高地形,并进行更精确的控制。

4.接下来,我们试着改变画笔形状。从Inspector的内置画笔调色盘中选择另一种画笔,尝试使用其他画笔形状进行雕刻。一定也要尝试一下调整“Opacity”和“Brush Sizes”设置

5.尝试组合不同的画笔形状,利用不同的“Brush Size”和“Opacity”雕刻出造型独特的山脉。技巧提示:在雕刻时使用键盘上的括号键( [ ] )可加大或缩小画笔大小。

6.要将地形雕刻为指定高度,请选择“Terrain Brush”下拉菜单,然后选择“Set Height”。接下来,将“Height”值设为55(或近似高度值)。选择画笔形状、大小和透明度,并将光标放在场景中。接下来,点击并在地形上拖动以雕刻地形特征。该地形的地势平缓,海拔限制在特定的“Set Height”值。这在创建峡谷、河床或岩层时特别有用。

7.要修整地形的粗糙边缘,或使地形线条柔和,请选择“Terrain Brush”下拉菜单,然后选择“Smooth Height”。无论使用哪种画笔雕刻,地形的崎岖边缘都会变得平滑。增加“Opacity”以提高雕刻平滑度。

8.要使用Stamp Terrain工具调整地形,请选择“Terrain Brush”下拉菜单,然后选择“Stamp Terrain”。使用Stamp Terrain工具时,无论使用哪种画笔雕刻,地形都可达到“Stamp Height”属性中指定的设置高度,但会保留现有地形的高海拔特征,从而将这两种高度充分融合。加大“Stamp Height”值,将光标放在场景中,然后单击鼠标应用图章。

5. 地形纹理概述
您可以使用Paint Texture工具在地形上绘制细致逼真的纹理。借助Paint Texture工具,使用材质层即可直接在地形表面绘制纹理。还可以组合构建多个材质层,获得更加精细的纹理。因为地形可能很大,所以通常将材质纹理制成无缝边缘贴图,这样可以在景观范围内重复绘制这种纹理图案,而无需使用大型图像材质。为了给地形设置一些样本纹理材质,您需要自行准备图像纹理,或下载样本材质并放入项目的Assets文件夹中。接下来我们将使用一些可从Asset Store下载的材质。
6. 样本纹理准备
可通过多种方法将材质纹理资产放入项目中。在本教程中,我们已经从Asset Store下载了样本纹理,使用的是大家熟悉的“Standard Assets”。尽管一些Standard Assets文件夹可能非常适合我们的项目,但还有一些其他项与我们的需求无关。因此,您只需导入与地形相关的选定文件夹即可。
1.从顶部下拉菜单中选择,打开“Asset Store”窗口:“Window”>“Asset Store”。
2.搜索并选择“Standard Assets”,然后选择“Import”。

3.此时将出现“Import Unity Package”弹出窗口。折叠所有三角形,然后选择“None”以取消选中所有复选框。接下来,仅选中“Environment”文件夹的 “SpeedTree”和“TerrainAssets”文件夹,然后选择“Import”。

现在您已准备就绪,可以使用样本“Environment Assets”,包括地形纹理。
7. 绘制地形纹理
现在开始使用地形图层在地形上绘制纹理。
1.在“Hierarchy”窗口中选中“Terrain”,在“Inspector”中选择“Paint Terrain”画笔工具,然后将下拉菜单选项设置为“Paint Texture”。选择“Edit Terrain Layers”按钮,然后选择“Create Layer”。

2.此时会出现“Select Texture2D”弹出窗口,其中包含项目中保存的完整2D Asset集合。在搜索字段中输入“albedo”并搜索,就会看到一组地形2D样本表面纹理。选择标记为“GrassRockyAlbedo”的纹理。

3.现在“GrassRockyAlbedo”纹理已作为Terrain Layer均匀添加到选定地形中。

4.为了向其他相邻地形象限应用相同的Terrain Layer,首先在“Hierarchy”窗口中选择地形贴图“GameObject”,在Inspector中选择“Edit Terrain Layers”按钮,然后选择“Add Layer”。

5.此时将显示“Select TerrainLayer”弹出窗口。在各层中进行选择,确定哪一层具有相关的表面纹理,然后选择相应层。请注意,这里仅为层分配了一个表面纹理,您可通过本教程中的后续步骤为层添加其他纹理。

6.继续为其余的地形添加Terrain Layer。

7.放大地形,从而更清楚地查看纹理细节。请注意,您现在应能看出纹理中的重复平铺图案。

8.现在应用其他表面纹理,然后用这些纹理向地形添加更多细节。重复之前的步骤,首先选择“Edit Terrain Layers”按钮,然后选择“Add Layer”菜单,最后添加其他表面纹理,包括“GrassHillAlbedo”、“CliffAlbedo”和“SandAlbedo”纹理。

9.选择其他Terrain Layer,尝试向地形绘制表面纹理组合。确保调整“Brush Siz”和“Opacity”,实现更加细致独特的融合效果。

8. 使用树和细节画笔
Tree工具能够识别SpeedTree(IDV Inc.推出的第三方产品),该产品可提供预构建树资产和建模软件。您可利用这些画笔在地形上直接绘制树、树叶、草和岩石,不需要单独放置各个对象模型。SpeedTree Asset在Standard Assets中,之前已导入您的项目。或者,也可去Asset Store查找,包括其他已上线销售的树木和植被资源包。
9. SpeedTree设置准备
要在项目中免费试运行SpeedTree模型,您可以从Asset Store下载并安装免费的SpeedTrees包,然后使用Package Manager将这些资产直接导入项目中。
1.打开Web浏览器,在Unity Asset Store中搜索“Free SpeedTrees Package”,然后选择“Add to My Assets”按钮。

2.在Package Manage中,首先选择“Download”按钮,完成下载后再选择“Import”按钮。最后,在“Import Unity Packages”弹出窗口中再次选择“Import”按钮,将SpeedTrees Package保存到项目中。

在地形上绘制SpeedTrees之前,您首先需要重新生成SpeedTree材质,这样才能用于Universal Render Pipeline (URP)项目。只需快速调整即可轻松完成。
3. 在“Project”窗口中导航至“Assets”文件夹内的“Free_SpeedTrees”文件夹。接下来,选择第一个名为“Broadleaf_desktop.spm”的树资产。 在Inspector中选择“Apply & Generate Materials”按钮。

4. 重复上述步骤,为其余的以下名称的树重新生成材质:Broadleaf_Mobile、Conifer_Desktop和Palm_Desktop。现在可以开始在地形中应用这些树。
10. 使用Paint Trees工具
Paint Trees画笔工具的使用方式与Paint Terrain类似,但是您必须首先定义树网格才能使用画笔。
1. 在“Hierarchy”窗口中选中“Terrain”,选择“Paint Trees”工具,即“Terrain”工具栏中的第三个按钮。选择“Edit Trees”按钮,然后从下拉菜单中选择“Add Tree”。

2. 此时将显示“Add Tree”弹出窗口。选择“Tree Prefab”字段右侧的“Object Loader”圆圈按钮,选择树模型。

3.此时将显示“Select GameObject”弹出窗口。选择标记为“Broadleaf_Desktop”的树网格,然后在“Add Tree”窗口中选择“Add”按钮,将树模型加载到“Paint Trees”画笔工具中。

4.您现在可以在地形上绘制树了。调整“Brush Size”和“Tree Density”设置,确定树木放置的密度或稀疏程度。此外,勾选复选框以启用“Random Tree Height”,然后调整滑块范围以扩大或缩小随机性范围。始终勾选“Random Tree Rotation”,确保每棵树都按随机旋转角度放置,最后,调整滑块以提高或降低树的Color Variation。将光标放在“Scene”窗口的地形上,点击并拖动鼠标,从而有选择地将树纹理绘制到地形上。绘制时按住Shift键可删除树木。

5.通过调整“Brush Size”和“Tree Density”值,练习绘制小树林或大片森林。

11. 绘制细节
Paint Details画笔工具的使用方式与Paint Trees和Terrain画笔工具类似,但是您同样必须首先定义详细的网格才能使用画笔。在此例中,您将刻画草的细节。
1. 在“Hierarchy”窗口中选中“Terrain”,选择“Paint Details”工具,即“Terrain”工具栏中的第四个按钮。选择“Edit Details”按钮,然后从下拉菜单中选择“Add Grass Texture”。

2. 此时将显示“Add Grass Texture”弹出窗口。选择“Detail Texture”字段右侧的“Object Loader”圆圈按钮,选择草纹理。

3. 此时将显示“Select Texture2D”弹出窗口。在搜索字段中输入“grass”,然后选择标记为“GrassFrond01AlbedoAlpha”的草网格。接下来,在“Add Grass Texture”窗口中选择“Add”按钮,从而将草纹理加载到“Paint Details”画笔工具中。

4. 现在就可以在地形上绘制草纹理了。调整“Brush Size”和“Target Strength”设置,设置草纹理的大小和密度。将光标放在“Scene”窗口的地形上,点击并拖动鼠标,从而有选择地将草纹理绘制到地形上。绘制时按住Shift键可删除细节。

12. 地形设置工具
利用“Terrain Settings”工具,可以检查地形特征并进行调整。
1. 在“Hierarchy”窗口中选中“Terrain”,选择“Terrain Settings”工具,即“Terrain”工具栏中的第五个,也是最后一个按钮。

虽然本教程不会详细介绍该部分内容,但您会看到还有一些其他设置也可用于调整和修改地形,包括“Basic Terrain”、“Tree & Detail Objects”、“Wind Settings”、“Mesh Resolution”、“Holes Settings”、“Texture Resolutions”和“Lighting”等类别。
13. 后续步骤
Terrain Editor是一项功能强大的工具,方便您迅速创建广阔、细致、复杂且可配置的地形景观。通过实践,您可以轻松地雕刻丘陵、山脉、高原、山谷等,实现富有创意的地形设计。可尝试自我挑战,通过雕刻创建独特多样的地形地貌,并绘制添加更多纹理细节。无需繁复的工作,即可轻松打造出栩栩如生且极具创意的景观。