拓冰建站拓冰建站
首页 / 资讯中心 / 正文

URP 与 Built-in 全屏描边方案:从代码层看渲染管线差异

开场上周收到一个需求:在角色被锁定时,屏幕里所有可交互物体都要加一圈红色描边。听起来很简单,不就是后处理嘛。我下意识打开Project Settings,看到 Graphics 还停留在 Built-in,于是打算用CommandBuffer挂一个Blit全屏走一遍。但项目最近刚迁到 URP,我顺手切到 URP 项目里一看,傻眼了——OnRenderImage不被回调了,Camera.AddCommandBuffer加进去也没效果。原本 5 分钟能搞定的事,折腾了一下午。这才意识到:同样的需求,在两条管线里写出来的代码完全是两回事。本文就以“全屏描边”这个最小需求为例,用两段真实可跑的代码,把 URP 与 Built-in 在“后处理怎么挂”这件事上的差异讲透——不只是写法不同,更是设计哲学不同。前置知识:了解CommandBuffer、RenderTexture、Blit的基本概念即可。示例中的 URP 代码基于 URP 10~13(Unity 2020.3~2022.1)的 API 写法,URP 14+(Unity 2022.2 及之后)的差异会在第三节单独说明。一、Built-in:CommandBuffer + CameraEvent在 Built-in 管线里,后处理最常用的两条路是:给
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门