打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第九天)

打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第九天)

  • 1.前言回顾
  • [2.HDRP配置文件(HDRP Asset)](#2.HDRP配置文件(HDRP Asset))
    • HDRP配置文件基本属性
      • Material(材质)
        • [Available Material Quality Levels(可用的材质质量等级)](#Available Material Quality Levels(可用的材质质量等级))
        • [Default Material Quality Level(默认材质质量等级)](#Default Material Quality Level(默认材质质量等级))
        • Distortion(扭曲)
        • [Subsurface Scattering(次表面散射,简称 SSS)](#Subsurface Scattering(次表面散射,简称 SSS))
          • [High Quality(高质量)](#High Quality(高质量))
        • [Fabric BSDF Convolution(织物 BSDF 卷积)](#Fabric BSDF Convolution(织物 BSDF 卷积))
        • [Diffusion Profile List(扩散配置文件列表)](#Diffusion Profile List(扩散配置文件列表))
  • 3总结与工作流建议

1.前言回顾

可以点击传送门预览。

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第一天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第二天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第三天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第四天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第五天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第六天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第七天)】.

传送门: 【打造高清3D虚拟世界|零基础学习Unity HDRP高清渲染管线(第八天)】.

2.HDRP配置文件(HDRP Asset)

  • HDRP的全称是High Definition Render Pipeline(高清渲染管线)。它是基于Scriptable Render Pipeline(简称SRP,中文翻译为"可编程渲染管线")实现的一个模板,目前的目标平台是支持Compute Shader的带独立显卡的台式机和家用游戏机,比如PlayStation4和Xbox One。基本上可以把Unity传统的内置渲染管线理解为一个黑盒子,几乎没有什么手段可以控制它的各个渲染阶段。SRP的出现让这一情况完全改变。你甚至可以用SRP创造自己的渲染管线。也就是说,即使Unity提供的渲染管线无法满足我们的渲染需求,也可以使用SRP自定义渲染管线。
  • 当然,SRP的出现也增加了一些额外的设置步骤,这些步骤用于配置你想使用的渲染管线。不过无须担心,设置方法都很简单。下面我们来看一下在各种情况下的设置方法。因为在设置渲染管线时我们要用到ProjectSettings(项目设置)界面,所以先通过菜单Edit→Project Settings...打开项目设置界面。
    可以把渲染管线的设置分成以下几种情况。
    ●使用默认的内置渲染管线
    ●使用HDRP
    ●使用URP

HDRP配置文件基本属性

  • Rendering(渲染)
  • Lighting(光照)
  • Lighting Quality Setting(光照质量设置)
  • Material(材质)
  • Post-processing(后处理)
  • Post-processing Quality Setting(后处理质量设置)
  • XR(XR相关设置)

注意:可以创建多个不同配置信息的HDRP的位置文件,以便匹配不同的开发平台,通过手动或者代码动态控制。

Material(材质)

Available Material Quality Levels(可用的材质质量等级)
  • 作用: 定义一个下拉菜单,允许你为项目创建多个材质质量等级(例如 Low、Medium、High)。
    与 Default Material Quality Level 配合,允许你为不同目标平台或性能档位快速切换整套材质设置。
Default Material Quality Level(默认材质质量等级)
  • 作用: 从 Available Material Quality Levels 列表中,选择项目启动时默认使用的材质质量等级。

  • 工作流: 你可以为每个质量等级(如 Low、High)配置一套独立的下面将要提到的属性(如是否启用次表面散射等)。然后通过脚本在运行时切换 Default Material Quality Level,来实现不同画质设置下的材质效果切换。

Distortion(扭曲)
  • 作用: 全局启用或禁用 扭曲效果。

  • 什么是扭曲: 模拟光线通过不均匀介质(如热空气、水)时发生的偏移,导致背后的物体看起来是扭曲的。常用于火焰、热霾、水面折射。

  • 性能影响: 开启后会有额外的渲染开销。如果项目中完全不需要此效果,关闭它可以节省性能。

Subsurface Scattering(次表面散射,简称 SSS)
  • 作用: 全局启用或禁用 次表面散射效果。

  • 什么是次表面散射: 模拟光线穿透半透明材质表面,在内部散射后从另一点射出的现象。用于渲染皮肤、蜡、玉石、牛奶等材质,使其看起来具有深度和通透感。

  • 性能影响: 是一项非常耗费性能的高级效果。对于移动端或低配项目,可以考虑关闭。

High Quality(高质量)
  • 作用: 一个全局开关,为所有材质启用更精确但性能开销更大的计算模式。

  • 影响: 可能包括更精确的光照模型、更高质量的反射、更复杂的着色计算等。这是对材质整体质量的提升。

Fabric BSDF Convolution(织物 BSDF 卷积)
  • 作用: 启用对 Fabric(织物/布料)材质类型的特殊处理。

  • 什么是 BSDF 卷积: 这是一种预计算技术,用于更准确地模拟布料的微观结构(如丝绒、绸缎)与光线的复杂交互,特别是其独特的镜面反射和"边缘发光"(边缘变亮)效果。

  • 建议: 如果项目中有大量使用 HDRP Lit 材质并设置为 Fabric 类型的表面(如角色衣物、窗帘),应保持开启以获得正确的视觉效果。

Diffusion Profile List(扩散配置文件列表)
  • 这是管理与 次表面散射 和 透明涂层 相关的物理参数的核心容器。

  • 作用: 一个资源引用列表,用于存放项目中所有可用的 Diffusion Profile(扩散配置文件)。

  • 什么是 Diffusion Profile: 它是一个资产文件,定义了光线在特定材质内部散射的物理属性,例如:

    散射半径(Scatter Radius): 光线在材质内部能传播多远。

    散射颜色(Scatter Color): 材质吸收和散射哪些颜色的光。

    透射强度(Transmission): 背光穿透材质的强度。

  • Profile 0, Profile 1, ...

    作用: 列表中的每个插槽都可以引用一个你创建的 Diffusion Profile 资产。

    工作流:

    你需要在项目中创建 Diffusion Profile 资产(例如,一个名为 "HumanSkin",另一个名为 "Wax")。

    将这些资产拖拽到这个列表的 Profile 0, Profile 1 等插槽中。

    在具体的 Lit 材质球中,你可以通过下拉菜单选择使用列表中的哪个 Profile(例如,角色皮肤材质选择 "HumanSkin" 对应的插槽索引)。

    限制: HDRP 对可用的 Diffusion Profile 数量有严格限制(通常为 16 个),因此需要谨慎管理,只为最重要的材质创建 Profile。

3总结与工作流建议

  • 多平台适配: 使用 Available Material Quality Levels 创建 Low 和 High 预设。在 Low 预设中关闭 Subsurface Scattering 和 Distortion,在 High 预设中开启它们。通过代码根据设备性能切换。
  • 性能优化: 如果项目不需要 Distortion(如没有火焰、热空气效果)或 Subsurface Scattering(如没有皮肤、蜡质物体),直接在此处关闭可以立即获得性能提升。
  • 保证视觉真实性: 如果项目涉及角色渲染,必须配置 Diffusion Profile List 并为其皮肤材质分配一个正确的 Profile,这是实现真实皮肤渲染的关键。
  • 材质一致性: 对于大量使用布料的项目,确保 Fabric BSDF Convolution 处于开启状态,以保证所有布料材质的外观正确和一致。

这里是井队,天高任鸟飞,海阔凭鱼跃,点个关注不迷路,我们下期再见。

相关推荐
FserSuN4 小时前
Mem0:构建具有可扩展长期记忆的生产级AI代理 - 论文学习总结1
人工智能·学习
im_AMBER5 小时前
Leetcode 41
笔记·学习·算法·leetcode
im_AMBER5 小时前
React 05
开发语言·前端·javascript·笔记·学习·react.js·前端框架
南方的狮子先生7 小时前
【数据结构】(C++数据结构)查找算法与排序算法详解
数据结构·c++·学习·算法·排序算法·1024程序员节
py有趣9 小时前
LeetCode算法学习之移动0
学习·算法·leetcode
百锦再9 小时前
Go与Python在AI大模型开发中的深度对比分析
java·开发语言·人工智能·python·学习·golang·maven
universe_0110 小时前
前端学习之八股和算法
前端·学习
敲敲了个代码11 小时前
[特殊字符] Web 字体裁剪优化实践:把 42MB 字体包瘦到 1.6MB
前端·javascript·学习·html·web
AC是你的谎言11 小时前
c++仿muduo库实现高并发服务器--connection类
linux·服务器·c++·学习