地形光照着色器 (Terrain Lit Shader)
URP 为 Unity 地形使用地形光照着色器。此着色器是光照着色器的简化版本。地形可以使用具有最多八个地形层的地形光照材质 (Terrain Lit Material)。
如何创建地形光照材质
要创建与地形游戏对象兼容的材质,请执行以下操作:
- 创建新的材质 (Assets > Create > Material)。
- 选择这个新材质。
- 在 Inspector 中,单击 Shader 下拉选单,然后选择 Universal Render Pipeline > Terrain > Lit。
如何将地形光照材质分配给地形游戏对象
要将地形光照材质分配给地形游戏对象,请执行以下操作:
- 选择一个地形游戏对象。
- 在 Inspector 中,单击 Terrain Inspector 工具栏右侧的齿轮图标以打开 Terrain Settings 部分。
- 在 Material 属性中,选择一个地形光照材质。为此,可以使用对象选择器(圆形图标),或将材质拖放到该属性上。
使用 Paint Holes 工具
要在地形上使用 Paint Holes 工具,请确保在项目的 URP 资源中选中 Terrain Holes 复选框。否则,在构建应用程序时不会出现地形孔洞。
地形光照材质属性
属性 | 描述 |
---|---|
Enable Height-based Blend | 启用此选项后,URP 将从遮罩贴图纹理的蓝色通道获取高度值。禁用此选项后,URP 将根据控制泼溅贴图纹理中绘制的权重来混合地形层。当地形上有四个以上地形层时,URP 会忽略此选项。当禁用此选项并将地形光照着色器材质分配给地形时,URP 会为在 Paint Texture 工具 Inspector 中添加到该地形的每个地形层添加一个附加选项 Opacity as Density Blend。 |
- Height Transition | 选择地形层之间平滑过渡区域的大小(以世界单位表示)。 |
Enable Per-pixel Normal | 启用此属性后,URP 在每像素级别对法线贴图纹理进行采样,为远处的地形部分保留更多几何细节。Unity 在运行时从高度贴图(而不是网格几何体)生成几何法线贴图。这意味着即使您的网格为低分辨率,也可以使用高分辨率的网格法线。仅当为地形启用 Draw Instanced 后,此选项才有效。 |