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

Unity URP自定义Shader支持RenderLayer

前言:

当我们想用一个灯光只对特定的物体造成影响,而不对其余物体造成影响时,我们就需要设置相对应的LightLayer,但是这在URP12.0是存在的,在之后就不存在LightLayer这一功能,URP将其隐藏而改成了RenderLayer。官方Lit很好的处理了RenderLayer的适配,但是对于我们自定义的Shader效果,要使用RenderLayer就需要增加特定的功能。

实现:

RenderLayer功能是处理特定光影响特定事物的,在shader中可以通过GetMeshRenderingLayer获取当前模型的meshrender中的renderlayer,然后和light的layermask进行对比,如果一致则进行灯光操作,如果不一致则不进行灯光操作,代码如下:

   uint renderingLayers = GetMeshRenderingLayer();
   Light main_light = GetMainLight();
   half render_mask = main_light.layerMask & renderingLayers;
   half3 main_light_color = render_mask * main_light.color.rgb;

额外光的处理也是一致,举个例子:

 #ifdef _ADDITIONAL_LIGHTS
   uint pixelLightCount = GetAdditionalLightsCount();
   for (uint lightIndex = 0u; lightIndex < pixelLightCount; lightIndex++)
    {
       Light light = GetAdditionalLight(lightIndex, i.positionWS.xyz, i.shadowMask);
       half3 attenuatedLightColor = light.color * light.distanceAttenuation;
       half3 main_light_color = (light.layerMask & renderingLayers) * attenuatedLightColor;
       lightColor += LightingLambert(main_light_color, light.direction, i.normalWS);
     }
 #endif

结果:

正常情况下,一盏主光

额外加一盏平行光 ,设置为影响使用官方Lit的模型

切换影响使用自定义Shader的模型 

对两个模型都影响

http://www.dtcms.com/a/91578.html

相关文章:

  • 【Unity3D实现UI轮播效果】
  • 无人机+evtol:低空经济市场硬通货技术详解
  • HCIP(二)
  • 六十天Linux从0到项目搭建(第八天)(缓冲区、gitee提交)
  • 让 AI 更智能的检索增强生成(Retrieval-Augmented Generation)
  • 组态软件之万维组态介绍(web组态、html组态、vue2/vue3组态、组态软件、组态编辑器)
  • Redis 集群配置
  • 代码随想录算法训练营Day12 | Leetcode 226翻转二叉树、101对称二叉树、104二叉树的最大深度、111二叉树的最小深度
  • PHP框架 ThinkPHP 漏洞探测分析
  • 基于SpringBoot+Vue的在教务管理(课程管理)系统+LW示例
  • 技术迭代、流量困境与营销突破:基于开源AI大模型与S2B2C模式的创新路径研究
  • HCIA-AI人工智能笔记4:神经网络类型
  • SpringSecurity + OAuth2 限制一个用户(同端互斥)登录
  • c# winform 提高界面加载速度
  • 毕设知识点
  • 图解AUTOSAR_SWS_UDPNetworkManagement
  • 探索抓包利器ProxyPin,实现手机APP请求抓包,支持https请求
  • Pyecharts入门之绘制地图数据
  • 基于赛灵思 Xilinx RFSoC 的 VPX 6U 高速数据采集模块技术讨论
  • 查看linux系统文件描述符限制
  • 以鸿道Intewell工业操作系统为核心,构建AI机器人新生态
  • 34.[前端开发-JavaScript基础]Day11-王者轮播图-书籍购物车-BOM对象-JSON
  • 知识补充
  • 《Operating System Concepts》阅读笔记:p483-p488
  • Ubuntu软件包离线下载安装
  • 智能制造:物联网和自动化之间的关系
  • QML控件 - Text
  • 聚焦能源数字化转型,遨游通讯携智能化防爆手机亮相cippe2025
  • 6.5 模拟专题:LeetCode 38. 外观数列
  • 基于 mxgraph 实现流程图