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

unity在urp管线中插入事件

由于在urp下,打包后传统的相机事件有些无法正确执行,这时候我们需要在urp管线中的特定时机进行处理一些事件,需要创建继承ScriptableRenderPass和ScriptableRendererFeature的脚本,示例如下:

PluginEventPass:

using UnityEngine;
using UnityEngine.Rendering;
using UnityEngine.Rendering.Universal;public class PluginEventPass : ScriptableRenderPass
{private readonly System.IntPtr _pluginCallback;private readonly int _eventID;public PluginEventPass(System.IntPtr callback, int eventID){_pluginCallback = callback;_eventID = eventID;renderPassEvent = RenderPassEvent.AfterRenderingSkybox; // 插件事件时机}//这里就是你要执行的事件public override void Execute(ScriptableRenderContext context, ref RenderingData renderingData){
#if UNITY_EDITORif (!Application.isPlaying){return;}
#endifGL.IssuePluginEvent(_pluginCallback, _eventID);}
}

PluginEventFeature:

using UnityEngine;
using UnityEngine.Rendering.Universal;public class PluginEventFeature : ScriptableRendererFeature
{[SerializeField] int eventID = 1;private PluginEventPass _pluginPass;public override void Create(){var ptr = DllManager.GetRenderEventFunc();//这里是你的具体事件_pluginPass = new PluginEventPass(ptr, eventID);}public override void AddRenderPasses(ScriptableRenderer renderer, ref RenderingData renderingData){renderer.EnqueuePass(_pluginPass);}
}

然后需要在asset目录下的Settings目录下找到,项目用的管线设置文件例如:

点击add,增加我们上面的设置。这里需要注意,要与Project Settings下的打包设置一致,不然打包后不生效:

http://www.lryc.cn/news/2384961.html

相关文章:

  • 前后端的双精度浮点数精度不一致问题解决方案,自定义Spring的消息转换器处理JSON转换
  • docker安装es连接kibana并安装分词器
  • 线性回归中涉及的数学基础
  • 如何计算VLLM本地部署Qwen3-4B的GPU最小配置应该是多少?多人并发访问本地大模型的GPU配置应该怎么分配?
  • PostgreSQL日常维护
  • Attu下载 Mac版与Win版
  • V2X协议|如何做到“车联万物”?【无线通信小百科】
  • 【zookeeper】--部署3.6.3
  • [测试_3] 生命周期 | Bug级别 | 测试流程 | 思考
  • 物联网(IoT)智能项目全景指南:技术构架、实现细节与应用实践
  • 【Go】1、Go语言基础
  • RabbitMQ ⑤-顺序性保障 || 消息积压 || 幂等性
  • java基础知识回顾1(可用于Java基础速通)考前,面试前均可用!
  • 云原生CICD-Tekton入门到精通
  • CMake跨平台编译生成:从理论到实战
  • MCP 协议传输机制大变身:抛弃 SSE,投入 Streamable HTTP 的怀抱
  • opencv 图像的平移和旋转
  • IDEA2025版本使用Big Data Tools连接Linux上Hadoop的HDFS
  • hysAnalyser特色的TS流编辑、剪辑和转存MP4功能说明
  • Day125 | 灵神 | 二叉树 | 二叉树中的第K大层和
  • Google机器学习实践指南(学习速率篇)
  • JS实现直接下载PDF文件
  • 使用KubeKey快速部署k8s v1.31.8集群
  • FreeSWITCH 纯内网配置
  • leetcode hot100:十四、解题思路大全:真·大全!
  • kali的简化安装
  • 交换机的连接方式堆叠和级联
  • Vortex GPGPU的github流程跑通与功能模块波形探索(三)
  • React深度解析:Hooks体系与Redux Toolkit现代状态管理实践
  • 实用蓝牙耳机哪款好?先做好使用场景分析!