文档

Unity Engine

Unity Engine

地形图层

Create Terrain Layers
阅读时间7 分钟最后更新于 1 个月前

地形图层 (Terrain Layer) 是定义地形表面质量的一种资源。地形图层保存由地形材质用于渲染地形表面的纹理 (Textures) 和其他属性。因为地形图层是资源,所以可以将其重复用于多种地形区块。
您可以将纹理添加到地形表面以创建自然色彩和精细的细节。地形游戏对象通常很大,因此最好使用带有纹理的基本地形图层,这些纹理平铺在表面上并无缝重复。可以使用多个地形图层(每个图层具有不同纹理)来构建有趣的多样化地形表面。
应用于地形的第一个地形图层将自动成为基础图层,并分布在整个景观上。可以用其他地形图层来绘制各个区域以模拟不同地面(如草地、沙漠和雪地)。要在草木繁茂的乡村和沙滩之间创建一个渐进过渡,可以选择应用具有可变不透明度的纹理。

带有沙地纹理的地形

创建地形图层

要直接从地形检视面板 (Terrain Inspector) 中创建地形图层,请单击地形检视面板顶部工具栏中的画笔图标,然后从下拉菜单中选择__绘制纹理 (Paint Texture)。在__地形图层__部分底部,单击__编辑地形图层 (Edit Terrain Layers) 按钮,然后选择__创建图层 (Create Layer)__。

在地形检视面板中创建图层

要从覆盖层编辑地形层:
  1. 在地形工具 (Terrain Tools) 覆盖层中,选择材质模式 (Materials Mode)

    材质模式菜单 (Material Mode Menu) 按钮

    。材质模式工具显示在地形工具覆盖层的末尾。
  2. 从地形工具覆盖层上的可用材质模式工具中,选择绘制纹理 (Paint Texture)

    绘制纹理 (Paint Texture)

    。
  3. 在工具设置 (Tool Settings) 覆盖层中,选择编辑地形图层 (Edit Terrain Layers)。

在覆盖层中创建图层

选择__创建图层 (Create Layer)__ 时,Unity 会打开__选择 Texture2D (Select Texture2D)__ 窗口。在此处,选择要用作地形图层__漫射 (Diffuse)__ 通道的图像。要将__法线贴图 (Normal Map)__ 或__遮罩贴图 (Mask Map)__ 纹理分配到地形图层,请在 Project 视图中选择相应的地形图层,并使用其检视面板窗口。
或者,若要创建未自动与地形关联的地形图层资源,请右键单击项目 (Project) 窗口,然后从上下文菜单中选择__创建 (Create) > 地形图层 (Terrain Layer)__。然后,在检视面板窗口中,为新地形图层配置各种属性。
请参阅渲染性能以了解有关地形图层数量如何影响渲染性能的信息。即使分配的地形图层并没有在地形瓦片上实际绘制,也可能影响渲染性能。

添加地形图层

最初不会为地形指定地形图层。默认情况下,在添加地形图层之前会使用棋盘纹理。
在项目中创建地形图层后,单击__编辑地形图层 (Edit Terrain Layers)__ 按钮,然后选择__添加图层 (Add Layer)__ 以打开__选择地形图层 (Select TerrainLayer)__ 窗口。双击此窗口中的地形图层,将其添加到您的地形。

地形图层属性

根据在地形设置 (Terrain Settings) 中设置的材质,以及当前使用的渲染管线,您可能在检视面板中看到不同的选项和属性。

检视面板中的地形图层设置

| 属性 |

描述

Diffuse
Normal Map
Normal Scale
Mask Map
Channel Remapping
Specular
Metallic
Smoothness
Tiling Settings

Texture painting

Unity 将您添加的第一个地形图层应用于整个地形。如果添加多个地形图层,请使用绘制纹理 (Paint Texture) 工具将后续纹理应用于地形。
如果您添加一个没有任何地形图层的新地形瓦片,并在此瓦片上进行绘制,系统会自动将所选地形图层添加到新的地形瓦片。因为这是第一个地形图层,所以该纹理成为基础图层,并填充整个地形瓦片。
在地形检视面板 (Terrain Inspector) 中的 Brushes 下,有一个框中会显示可用的画笔,而且其下还有 Brush Size 和 Opacity 选项。请参阅创建和编辑地形 (Creating and Editing Terrains) 以了解关于这些工具的更多信息。

Rendering performance

分配给一个地形区块的地形图层数可能会影响渲染器的性能。地形图层的建议最大数量取决于您的项目使用的渲染管线。
  • 如果您的项目使用通用渲染管线 (URP) 或内置渲染管线 (Built-in Render Pipeline),您可以在每个纹理通道中使用四个地形图层,对通道的数量则没有限制。这意味着,虽然可以使用任意数量的地形图层,但是每个通道都会增加渲染地形所用的时间。为了实现性能最大化,请将每个地形瓦片都限制为四个地形图层。
  • 如果您的项目使用高清渲染管线 (HDRP),您可以为每个地形瓦片添加最多八个地形图层,且系统会在单个通道中渲染这些图层。无法添加更多通道。如果添加的地形图层超过八个,它们会显示在 Unity Editor 中,但在运行时会被忽略。