【URP】Unity[内置Shader]光照着色器Lit

[复制链接]
发表于 2025-11-27 18:57:04 | 显示全部楼层 |阅读模式
【从UnityURP开始探索游戏渲染】专栏-直达
Lit Shader的作用与原理

Lit Shader是Unity通用渲染管线(URP)中的核心着色器,专门用于实现基于物理的渲染(PBR)结果。它能以照片级质量渲染真实天下的外貌材质,如石头、木料、玻璃、塑料和金属,使光照和反射在各种光照条件下(如豁亮的阳光或暗中的洞穴)都能出现逼真结果。

工作原理

Lit Shader接纳物理精确的光照模子,思量了能量守恒和微外貌理论。它通过以下核心参数控制材质体现:

  • 金属度Metallic‌: 控制材质是金属(1)还黑白金属(0),金属材质具有更猛烈的镜面反射
  • 光滑度Smoothness‌: 决定外貌粗糙水平,影响高光反射的扩散范围
  • 法线贴图Normal Map‌: 增长外貌微观细节的视觉体现
  • 环境光掩藏Ambient Occlusion‌: 模仿外貌缝隙和凹陷处的阴影结果
URP中的Lit Shader通过SubShader和多个Pass实现渲染,每个Pass都有特定用途(如主光源、附加光源、阴影等)。与内置渲染管线差异,URP不须要为每个附加光源创建额外Pass,而是通过优化后的单Pass前向渲染实现高效多光源处理处罚。
发展汗青

Lit Shader随着Unity渲染管线的发展履历了几个关键阶段:

  • 内置渲染管线时期‌:Unity最初提供标准着色器(Standard Shader),接纳雷同PBR的工作流程,但性能开销较大
  • LWRP阶段‌:Unity推出轻量级渲染管线(LWRP),包罗简化版的Lit Shader,专注于移动平台优化
  • URP阶段‌:LWRP升级为通用渲染管线(URP),Lit Shader成为核心着色器,支持更广泛平台并优化性能
  • 一连优化‌:Unity不绝改进Lit Shader,增长功能如透明混淆模式、双面渲染等,同时保持高性能
详细利用方法

根本设置步调


  • 在项目中创建或选择材质
  • 在材质查抄器窗口中选择Shader为"Universal Render Pipeline > Lit"
  • 设置材质属性:
    1. Surface Options:
    2.   - 表面类型(不透明/透明)
    3.   - 渲染面(正面/双面)
    4.   - 混合模式(Alpha/Premultiply/Additive/Multiply)
    5. Surface Inputs:
    6.   - 基础颜色
    7.   - 金属度
    8.   - 光滑度
    9.   - 法线贴图
    10.   - 高度图等
    复制代码
示例:创建金属材质


  • 新建材质并应用Lit Shader
  • 设置Surface Type为Opaque
  • 调解Base Color为金属色调(如银灰色)
  • 将Metallic滑块调至1(完全金属)
  • 调解Smoothness控制反射清晰度
  • 添加法线贴图增长外貌细节
Shader Graph中的应用

固然Lit Shader自己是代码实现的,但可以在Shader Graph中创建雷同结果:
示例:在Shader Graph中创建PBR材质


  • 创建新的Shader Graph,选择URP模板
  • 添加以下节点:

    • PBR Master‌节点(核心光照模子)
    • Sample Texture 2D‌节点(根本贴图)
    • Normal From Texture‌节点(法线贴图)
    • Slider‌节点(控制金属度和光滑度)

  • 毗连节点:

    • 根本贴图毗连到Albedo
    • 法线毗连到Normal
    • 金属度和光滑度滑块毗连到相应输入

  • 导出为Shader并应用到材质
高级示例

透明玻璃结果


  • 在Shader Graph中设置PBR Master的Surface Type为Transparent
  • 设置Blend Mode为Alpha
  • 添加Fresnel Effect节点模仿玻璃边沿反射
  • 利用Vertex Position节点驱动折射结果
  • 通过Time节点添加动态反射变革
根本设置


  • 创建材质并选择Lit Shader
    在材质Inspector中选择Shader路径为Universal Render Pipeline > Lit,这是URP下实现物理渲染的根本着色器。
  • 设置外貌范例为透明
    在Surface Options中将Surface Type从默认的Opaque改为Transparent,此时会激活Blending Mode选项。
  • 选择混淆模式

    • Alpha模式‌:实用于平凡半透明结果,通过Alpha值控制透明度(0完全透明,1不透明),盘算公式为OutputRGBA = (SourceRGB × SourceAlpha) + DestinationRGB × (1 − SourceAlpha)。
    • Premultiply模式‌:恰当保存高光和反射的透明材质(如玻璃),可镌汰边沿伪影。

进阶调解


  • 深度写入与双Pass优化
    若出现透明物体内部穿模题目,可通过双Pass办理:第一个Pass仅写入深度(ZWrite On + ColorMask 0),第二个Pass关闭深度写入并启用混淆(ZWrite Off + Blend SrcAlpha OneMinusSrcAlpha)。
  • 折射结果加强
    利用GrabPass捕获屏幕纹理,联合模子UV偏移模仿折射。示例代码片断:
    1. hlsl
    2. GrabPass { "_GrabTexture" }
    3. sampler2D _GrabTexture;
    4. float4 frag(v2f i) : SV_Target {
    5.     float2 offset = /* 基于法线或高度的偏移计算 */;
    6.     return tex2D(_GrabTexture, i.uvgrab + offset);
    7. }
    复制代码
    此方法需共同透明材质和混淆模式利用。
  • 菲涅尔效应
    在片元着色器中参加视角相干透明度变革,加强边沿高光:
    1. hlsl
    2. float NDotV = saturate(dot(worldNormal, viewDir));
    3. float fresnel = pow(1 - NDotV, _FresnelPower);
    4. alpha *= fresnel;
    复制代码
    通过调解_FresnelPower控制结果强度。
性能注意事项


  • 透明渲染会禁用Early-Z优化,发起控制透明物体数量。
  • 复杂结果(如折射)大概需自界说Shader变体,URP Lit的Surface Type和Blending Mode已覆盖多数根本需求
金属材质


  • 工作流模式‌:选择"Metallic"模式,通过调解Metallic滑块控制金属度(1.0为全金属结果)
  • 光滑度‌:增长Smoothness值(0.8-1.0)可得到镜面反射结果
  • 根本贴图‌:利用带有金属质感的根本颜色贴图,发起共同法线贴图加强细节
头发材质


  • 多层结构‌:利用两个材质球(Front+Transparent)组合,Transparent材质需开启Alpha混淆和双面渲染
  • 参数设置‌:

    • Front材质:Surface Type=Opaque, Render Face=Front
    • Transparent材质:Alpha=0.3-0.5, Render Face=Both

雪地材质


  • 天下法线混淆‌:通过法线贴图的Y轴值作为蒙版,混淆雪地与原材质
  • 参数设置‌:

    • BaseMap:利用雪地纹理
    • Smoothness:0.4-0.6模仿湿雪反光
    • Normal Map:加强外貌凹凸细节

岩石/混凝土


  • 工作流模式‌:选择"Specular"模式更易控制非金属反射
  • 外貌细节‌:

    • 利用高对比度法线贴图
    • Smoothness=0.1-0.3保持粗糙质感
    • 开启Height Map实现视差遮挡

动态结果实现


  • 对于火焰/水球等殊效,发起通过ShaderGraph扩展Lit Shader:

    • UV扰动‌:利用Voronoi噪点+Time节点驱动UV动画
    • 进度控制‌:通过脚本动态调解Cutoff参数实现添补结果

  • 关键参数组位置:

    • Surface Options:界说材质根本范例和渲染方式
    • Surface Inputs:设置纹理和物理属性
    • Advanced Options:控制渲染优化选项

【从UnityURP开始探索游戏渲染】专栏-直达
(接待点赞留言探究,更多人参加进来能更加完满这个探索的过程,🙏)

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表