当前位置: 首页 > 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.jsqmd.com/news/46181/

相关文章:

  • 2025年评价高的荞麦加工成套设备厂家最新权威推荐排行榜
  • 详细介绍:Flink 的 checkpoint 对 key state 是怎么样存储的?
  • 2025年比较好的陶瓷衬板用户好评厂家排行
  • 零基础学习CMake--第六章:测试与调试——用CTest让项目更可靠6.3 测试报告生成:HTML/XML格式输出与持续集成(CI) - 指南
  • High-quality Surface Reconstruction using Gaussian Surfels 论文阅读 - 实践
  • 2025年评价高的小麦磨面机行业内口碑厂家排行榜
  • 2025年口碑好的销量最好的电动车电池厂家最新热销排行
  • 2025年质量好的深睡记忆棉枕厂家最新TOP实力排行
  • inventor安装失败,如何使用卸载工具,完全彻底删除干净inventor各种残留注册表和文件
  • 2025年靠谱的AB枕芯厂家推荐及选购参考榜
  • 【机器人】RViz中LaserScan的参数信息说明 - 教程
  • 2025年热门的钙粉选粉机厂家最新推荐权威榜
  • format函数sql的实例
  • format函数sql的作用
  • 2025年聚氨酯发泡保温厂家联系电话完整汇总:全国重点企业官方联系方式与高效采购指南
  • 2025年聚氨酯发泡保温厂家联系电话汇总:全国重点企业官方联系方式及工程对接指南
  • 2025年11月全屋智能家居品牌推荐榜单与深度对比分析
  • Flink的checkpoint interval与mini-batch什么区别? - 指南
  • 2025年比较好的煤炭提质选煤设备最新TOP厂家排名
  • 2025年11月劳保鞋品牌排名榜:基于实际使用场景的深度对比报告
  • 2025年11月劳保鞋品牌推荐榜单:多维度对比分析助您选择
  • 2025年质量好的智能干选选煤设备厂家推荐及采购指南
  • 2025年11月留学生回国求职机构推荐:主流机构榜单与选择指南
  • APEX实战第6篇:APEX 如何接入业务数据库用户?
  • 2025年11月留学生回国求职机构推荐榜单及选择指南:一份基于市场数据的客观分析
  • 2025年知名的四球摩擦磨损试验机TOP实力厂家推荐榜
  • BSGS 升级版
  • 2025年11月留学生求职机构推荐榜单:五家知名机构综合对比与选择指南
  • 2025年口碑好的微机控制电液伺服动静刚度疲劳试验机行业内知名厂家排行榜
  • 2025年热门的橡胶称重包装机厂家最新权威推荐排行榜