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

【URP】Unity渲染层Rendering Layers

【从UnityURP开始探索游戏渲染】专栏-直达

Unity URP 的 Rendering Layers(渲染层)功能是一种精细控制光照影响的机制,允许开发者通过层掩码(Layer Mask)将特定光源与特定 GameObject 关联,实现选择性照明。

‌功能定义与发展历史‌

  • 定义‌:Rendering Layers 是 URP 基于 HDRP 的 Light Layers 功能演化而来的轻量化实现,通过位掩码(32 位)控制光源与物体的匹配关系。
  • 发展‌:
    • HDRP 起源‌:最初在 HDRP 中引入,用于影视级光照控制(如仅让特定灯光影响角色)。
    • URP 适配‌:URP 12.0+ 版本整合此功能,简化了实现逻辑,更适合移动端和跨平台项目。

‌核心作用‌

  • 性能优化‌:避免不必要的灯光计算(如场景中大量灯光仅需影响少数物体)。
  • 艺术控制‌:实现局部光照效果(如角色高光与环境光分离)。
  • 动态交互‌:实时切换灯光影响目标(如开关谜题中的灯光区域)。

‌实现流程与参数详解‌

‌启用功能‌

  • URP Asset 配置‌:在 URP 资源中勾选 Light Layers 选项。
  • 光源设置‌:为光源指定 Rendering Layer Mask(如 Layer1)。
  • 物体设置‌:在 Mesh Renderer 的 Rendering Layer Mask 中选择匹配层(如 Layer1)。

‌参数含义‌

参数 作用 用例
Light Layer Mask 光源影响的层 聚光灯仅照亮 "Enemy" 层
Renderer Layer Mask 物体受光层 角色材质仅响应 "PlayerLight" 层
Additional Lights Per Object 每物体最大受光数 限制移动端每物体最多 4 盏灯

‌底层原理‌

  • 渲染阶段‌:URP 在 RenderingOpaquesRenderingTransparents 阶段,根据 Layer Mask 筛选光源与物体匹配关系。
  • Shader 处理‌:在着色器中,通过 _LightLayerMask 变量与物体层掩码进行位运算,剔除不匹配的光照计算。
  • 性能优化‌:通过 Culling Mask 减少 GPU 提交的灯光数据量。

‌原理示例‌

假设光源掩码为 0010(Layer2),物体掩码为 0101(Layer1+Layer3):

  • 位与运算‌:0010 & 0101 = 0000 → 无匹配,物体不受光。
  • 若物体掩码改为 0010,则运算结果为 0010 → 受光。

此机制通过 GPU 的逐像素计算实现高效筛选,避免 CPU 端遍历所有光源


‌完整示例‌

以下代码演示如何通过脚本动态修改 Rendering Layers:

  • 功能说明‌:

    • 使用 Light2DUniversalAdditionalLightData 组件配置光源层。
    • 通过位运算(1 << n)快速切换层掩码。
  • LightLayerController.cs

    using UnityEngine;
    using UnityEngine.Rendering.Universal;public class LightLayerController : MonoBehaviour
    {public Light2D lightSource;public MeshRenderer targetRenderer;void Start(){// 设置光源仅影响 Layer 2lightSource.renderingLayerMask = 1 << 2;// 设置物体仅接受 Layer 2 的光照targetRenderer.renderingLayerMask = 1 << 2;}
    }
    

‌实际用例‌

  • 解密游戏‌:火把仅照亮可交互物体(Layer3),环境物体(Layer1)不受影响。
  • 角色特效‌:技能光源(Layer4)仅作用于自身和敌人,避免干扰场景光照。
  • 性能敏感场景‌:动态禁用远处灯光的渲染层,减少 Shader 计算量。

【从UnityURP开始探索游戏渲染】专栏-直达
(欢迎点赞留言探讨,更多人加入进来能更加完善这个探索的过程,🙏)

http://www.gsyq.cn/news/55852.html

相关文章:

  • 2025年评价高的荞麦加工成套设备厂家最新权威推荐排行榜
  • High-quality Surface Reconstruction using Gaussian Surfels 论文阅读 - 实践
  • 2025年口碑好的销量最好的电动车电池厂家最新热销排行
  • inventor安装失败,如何使用卸载工具,完全彻底删除干净inventor各种残留注册表和文件
  • 2025年靠谱的AB枕芯厂家推荐及选购参考榜
  • format函数sql注意事项
  • 2025年聚氨酯发泡保温厂家联系电话汇总:全国重点企业官方联系方式及工程对接指南
  • 2025年11月全屋智能家居品牌推荐榜单与深度对比分析
  • Flink的checkpoint interval与mini-batch什么区别? - 指南
  • 2025年比较好的煤炭提质选煤设备最新TOP厂家排名
  • 2025年11月劳保鞋品牌排名榜:基于实际使用场景的深度对比报告
  • 2025年11月劳保鞋品牌推荐榜单:多维度对比分析助您选择
  • 2025年质量好的智能干选选煤设备厂家推荐及采购指南
  • 2025年知名的四球摩擦磨损试验机TOP实力厂家推荐榜
  • BSGS 升级版
  • 2025年口碑好的微机控制电液伺服动静刚度疲劳试验机行业内知名厂家排行榜
  • 2025年11月留学生求职机构避坑指南:关键选择要素与实操步骤
  • 2025年热门的精密部件称重包装机厂家推荐及选购参考榜
  • 2025年质量好的园林灌溉管件厂家最新热销排行
  • format函数sql是什么
  • 数据分析实战全攻略:10款AI工具+8大技巧助你轻松完成论文研究
  • 2025年热门的环保设备厂家推荐及选购指南
  • 11.20 C 盲盒流水线
  • 【做题记录】HZOJ 多校-数论/多校-字符串/多校-图论Ⅱ
  • 2025年比较好的干选系统选煤设备厂家最新推荐排行榜
  • 2025年靠谱的GEO公司综合口碑榜
  • for var in Linux
  • 特征多项式求 det(A+xB)
  • 2025 年 11 月水浴锅厂家推荐排行榜,单孔恒温/四孔/三用恒温/六孔搅拌/八孔/四工位搅拌/定时恒速搅拌水浴锅公司推荐
  • 2025 年 11 月网络安全运维维护厂家推荐排行榜,网络安全服务,网络运维支持,网络维护方案,专业可靠厂家推荐