当前位置: 首页 > news >正文

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

【从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"

  • 配置材质属性:

    Surface Options:- 表面类型(不透明/透明)- 渲染面(正面/双面)- 混合模式(Alpha/Premultiply/Additive/Multiply)Surface Inputs:- 基础颜色- 金属度- 光滑度- 法线贴图- 高度图等
    

示例:创建金属材质

  • 新建材质并应用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偏移模拟折射。示例代码片段:

    hlsl
    GrabPass { "_GrabTexture" }
    sampler2D _GrabTexture;
    float4 frag(v2f i) : SV_Target {float2 offset = /* 基于法线或高度的偏移计算 */;return tex2D(_GrabTexture, i.uvgrab + offset);
    }
    

    此方法需配合透明材质和混合模式使用。

  • 菲涅尔效应

    在片元着色器中加入视角相关透明度变化,增强边缘高光:

    hlsl
    float NDotV = saturate(dot(worldNormal, viewDir));
    float fresnel = pow(1 - NDotV, _FresnelPower);
    alpha *= fresnel;
    

    通过调整_FresnelPower控制效果强度。

性能注意事项

  • 透明渲染会禁用Early-Z优化,建议控制透明物体数量。
  • 复杂效果(如折射)可能需自定义Shader变体,URP Lit的Surface TypeBlending 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开始探索游戏渲染】专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

http://www.jsqmd.com/news/52351/

相关文章:

  • 【SAE出版 | EI检索】第五届物流系统与交通运输国际学术会议(LSTT 2025)
  • 2025 年留学生求职机构最新推荐榜,聚焦服务深度与成果转化,权威测评赋能海归高效就业留学生求职/大学留学生求职/海归留学生求职/留学生求职就业推荐
  • 2025年11月热处理厂家选择指南:多维度对比与行业标准验证
  • 2025年最新专注力少儿训练公司哪家好
  • 研发制品仓库选型新思路:安全、成本与未来技术兼容性的平衡之道
  • 本地业绩库AI助手:让企业从文件夹混乱中解放出来!
  • 2025 最新冷却塔施工单位推荐排行榜:覆盖防腐美化维修全场景,聚焦专业资质与全国服务冷却塔美化/冷却塔防腐/冷却塔彩绘/冷却塔维修/冷却塔绘画公司推荐
  • 温度+厚度+高度!博尔思三维教育助力终身成长
  • 2025年专业汽车窗膜供货商推荐排行榜单
  • 习题解析之:上课 or 休息
  • 匹配更快、管控更严:比心平台的核心竞争力拆解
  • 2025年新疆电线电缆厂家权威推荐榜单:高温电缆/电力电缆/矿用电缆源头厂家精选
  • 2025 最新烟囱施工单位推荐排行榜:涵盖防腐美化拆除新建等全业务,技术革新与快速响应企业精选烟囱防腐/烟囱美化/烟囱刷航标/烟囱绘画/烟囱拆除/烟囱安装/烟囱加固公司推荐
  • 2025年淮安备婚平台Top5推荐:口碑与专业度并重
  • 补齐编程短板:2025年11月最新国内程序员实战学习网站推荐
  • 2025最新硅酮胶厂商推荐!建筑密封胶优质供应商权威榜单发布,技术品质双优助力工程高效施工硅酮胶厂商/密封胶生产企业推荐
  • 2025年11月必看:趣睡8H领衔五大品牌,解锁智能床“真香”密码
  • 防御安全播客第330期:网络安全威胁深度解析
  • 2025最新汽车胶品牌推荐!行业标杆品牌权威榜单发布,技术与品质双优助力汽车制造2025汽车胶品牌/汽车专用胶品牌推荐
  • 2025最新胶粘剂行业领军企业推荐!结构胶/玻璃胶/免钉胶/防霉胶/美缝剂/汽车胶/硅酮胶/环保胶/密封胶/耐候胶等全品类优质厂商选择指南,从环保到工艺,业内权威数据及市场口碑榜
  • 2025 年 11 月非标自动化设备制造厂家权威推荐榜:精密检测、电力核电自动化设备,技术实力与创新解决方案深度解析
  • 2025年智能中高考加盟电话公司选哪家
  • 2025最新结构胶厂家推荐!建筑胶粘剂优质服务商权威榜单发布,技术品质双优助力工程建设
  • 2025 瓷砖品牌怎么选?八大热门品牌技术 + 环保 +口碑测评,装修避坑指南
  • 修改YAML文件里面的属性值
  • 【IEEE出版 | EI,Scopus双检索】第五届信号处理与通信技术国际学术会议(SPCT 2025)
  • 2025年提分系统服务哪家强
  • 2025最新玻璃胶工厂实力榜!中国顶级玻璃胶生产企业权威推荐,技术产能双领先助力行业发展
  • 2025年大型活动遮阳蓬制造企业排行榜单
  • 2025 年庭院门厂家最新推荐榜,聚焦企业技术研发实力、产品品质保障与市场口碑深度解析庭院门/铝艺庭院门公司推荐