微阴影是高清渲染管线(HDRP)为游戏对象材质中嵌入的细微细节(而非网格几何)模拟的阴影。HDRP 通过法线贴图、环境光遮蔽贴图和镜面遮挡的细节,估算这些细节若作为网格时会投射的阴影。
在下图中,材质的不同细节层会相互投射阴影:
材质中不同细节层的相互阴影效果
顶部视角下不透明度为 0.85 的苔藓地面材质微阴影效果
(一),使用微阴影
HDRP 使用 Volume 框架生成微阴影,若要启用和修改其属性,需在场景的 Volume 中添加微阴影覆盖:
- 在 Scene 或 Hierarchy 中选择 Volume 组件,在 Inspector 中查看。
- 在 Inspector 中,点击 Add Override > Shadowing > Micro Shadows,HDRP 将为该 Volume 影响的所有相机处理微阴影。
注意:微阴影仅适用于方向光(Directional Light)。启用微阴影时,请确保场景中存在方向光。
(二),API
如需在运行时访问和控制此覆盖属性,可使用 Volume 脚本 API。由于 Volume 系统的特性,属性编辑方式与标准 Unity 组件不同(例如每个属性都有 overrideState,用于指示 Volume 系统使用设置值还是 Profile 默认值)。
(三),属性说明
若要编辑 Volume 组件覆盖中的属性,需启用属性左侧的复选框,这将告诉 HDRP 使用你指定的属性值而非默认值。若禁用复选框,HDRP 将忽略设置并使用 Volume 的默认值。
属性 | 描述 |
---|---|
Enable | 启用后,当此 Volume 影响相机时,HDRP 将计算微阴影。 |
Opacity | 通过滑块设置此 Volume 中微阴影的不透明度。 |
(四),细节说明
微阴影可呈现极为精细的光照效果,捕捉细微细节。其效果依赖于纹理的生成方式,因此在为材质创建法线贴图和环境光遮蔽贴图时,建议:
- 确保两种纹理的细节捕捉方式一致。
- 始终使用相同管线生成法线贴图和环境光遮蔽贴图。
注意:处理微阴影比不处理更消耗资源。
(五),技术原理与应用场景
-
细节增强逻辑
微阴影通过以下纹理数据模拟细节阴影:- 法线贴图:捕捉表面法线变化,模拟凸起 / 凹陷的光照效果。
- 环境光遮蔽贴图:记录表面凹陷处的自遮挡,增强裂缝和凹槽的阴影。
- 镜面遮挡:结合反射信息,优化高光区域的阴影表现。
-
典型应用案例
- 材质细节强化:
plaintext
效果:在石墙、树皮等材质上模拟沟壑和纹理的细微阴影,增强表面真实感。Enable = 启用 Opacity = 0.7
- 植被与地面交互:
通过微阴影表现草丛、苔藓与地面接触处的阴影,弥补网格简化导致的细节缺失。
- 材质细节强化:
-
性能优化建议
- 移动端或低配置平台可将 Opacity 设为 0.5-0.7,在保留细节的同时降低开销。
- 仅对需要增强细节的场景(如特写镜头)启用微阴影,避免全局应用。
微阴影是 HDRP 中提升材质细节真实感的重要工具,尤其适用于无法通过网格几何表现的细微结构(如布料褶皱、武器磨损),在不增加模型面数的前提下,通过纹理信息模拟光照细节,实现高效的视觉增强。