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

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下的打包设置一致,不然打包后不生效:

相关文章:

  • 什么是软件压力测试,出压力测评报告的第三方软件检测公司推荐
  • Neo4j入门第二期(Spring Data Neo4j的使用)
  • 02-jenkins学习之旅-基础配置
  • Android计算机网络学习总结
  • Flink初始及搭建集群环境(技术选型与实战详解)
  • 音视频之视频压缩及数字视频基础概念
  • 【AI大模型研究报告】2024年中国工业大模型行业发展研究报告
  • 【信息系统项目管理师】第20章:高级项目管理 - 28个经典题目及详解
  • 2025 ICPC 南昌全国邀请赛暨江西省赛(8题题解)
  • PCB行业标准与专利竞争:高频材料与工艺壁垒
  • 什么是下一代DNS
  • 虚拟机下ubuntu分区挂载实验
  • B2C商城架构对比:ZKmall模板商城为何选择 Spring Cloud
  • C++ vector 深度解析:从原理到实战的全方位指南
  • 211. 添加与搜索单词 - 数据结构设计
  • Axure高保真CRM客户关系管理系统原型
  • Vue常用自定义指令-积累的魅力【VUE】
  • 如何备份和恢复Linux系统?
  • 生产环境CPU飙升问题排查与优化实战
  • 超越感官的实相:声、光、气味的科学与哲学探微
  • 江西建设质量检测网站/网站模板设计
  • 四字母net做网站怎么样/百度链接提交入口
  • 网站算信息化建设/企业网站搜索优化网络推广
  • 如何做优秀的视频网站设计/网站制作详细流程
  • 网站使用cookies/简述网站推广的方式
  • 申请个网站要多少钱/青岛网络科技公司排名