地形光照着色器 (Terrain Lit Shader)
高清渲染管线 (High Definition Render Pipeline, HDRP) 为 Unity 地形使用地形光照着色器。此着色器是光照着色器的简化版本。地形可以使用具有最多八个地形图层的地形光照材质 (Terrain Lit Material)。
创建地形光照材质
要创建新的地形光照着色器材质,请执行以下操作:
- 前往 Project 窗口,然后在 Assets 文件夹中单击右键。
- 选择 Create > Material。这会在 Unity 项目的 Asset 文件夹中添加一个新材质。
- 单击材质以在 Inspector 中查看该材质。
- 单击 Shader 下拉选单,然后选择 HDRP > TerrainLit。
使用地形光照材质
要使用地形光照材质,必须将该材质分配给地形:
- 在 Inspector 中查看该地形,然后单击齿轮按钮以访问 Terrain Settings 部分。
- 通过拖放操作或使用单选按钮将地形光照材质分配给 Material 属性。
使用 Paint Holes 工具
如果在地形上使用 Paint Holes 工具,请确保在项目的 HDRP 资源中启用 Terrain Holes 功能。否则,在构建应用程序时不会出现孔洞。
材质属性
Surface Options
属性 | 描述 |
---|---|
Receive Decals | 启用此复选框可以允许 HDRP 在该材质的表面上绘制贴花。 |
Terrain
属性 | 描述 |
---|---|
Enable Height-based Blend | 指定 HDRP 是否仅应为特定像素渲染具有最大高度值的地形图层。启用此选项后,HDRP 将从遮罩贴图纹理的蓝色通道获取高度值。禁用此选项后,HDRP 将根据控制贴图纹理中绘制的权重来混合地形图层。 |
- Height Transition | 多个地形图层的高度大约相同时,控制 HDRP 在多大程度上混合地形。 |
Enable Per-pixel Normal | 指定 HDRP 是否应在每个像素级别对法线贴图纹理进行采样。启用此选项后,Unity 会为远处的地形部分保留更多的几何细节。Unity 在运行时从高度贴图(而不是网格几何体)生成几何法线贴图。这意味着即使您的网格为低分辨率,也可以使用高分辨率的网格法线。仅当为地形启用 Draw Instanced 后,此选项才有效。 |
Specular Occlusion Mode | 设置 HDRP 用于计算镜面反射遮挡的模式。 • Off:禁用镜面反射遮挡。 • From Ambient Occlusion:根据环境光遮挡贴图和摄像机的视图方向来计算镜面反射遮挡。 |
Advanced Options
属性 | 描述 |
---|---|
Enable GPU Instancing | 启用此复选框可以指示 HDRP 在一个批次中使用相同的几何体和材质来渲染网格(如果可能)。这样可以加快渲染速度。如果网格具有不同的材质或者硬件不支持 GPU 实例化,则 HDRP 无法在一个批次中渲染这些网格。例如,如果游戏对象具有基于对象轴心的动画,则不能对它们进行静态批处理,但 GPU 可以实例化它们。 |