k帧轮椅后效插件(ai编写)

vfx丸子 发表于    2026年10月08日 17:00
685
3
6

MyPostFX 全功能屏幕后处理系统

— 使用说明文档 (V1.0)

支持管线:Built-in 默认管线 / URP

作者:Horace Chen (chr)

环境要求

项目         版本

-------------

Unity        2022.3 LTS(开发时用的是 2022.3.62f3c1)

URP          14.0.12(URP 版需要)

Built-in 版  不需要额外渲染管线包

关于版本兼容性:

- Unity 2022.3 是实测通过的版本,下面提到的 API 都是按这个版本写的

- Built-in 版:理论上 2019.4+ 都能用(只依赖 OnRenderImage,是很老的 API)

- URP 版:强烈建议 2022.3 + URP 14.x。因为主后处理用的是

URP 内置的 FullScreenPassRendererFeature,这个 Feature 是 URP 14 才正式加的,

更早的 URP(12.x / 13.x)里要么没有、要么接口不一样,需要自己改

- Unity 6 / URP 17:FullScreenPassRendererFeature 还在,但 API 有调整,可能要做兼容

- Unity 2021 及更早 + URP:不建议直接用,会编译不过

(下载链接在最最下面)

==================================================

一、前言

我是一个刚学5个月的特效萌新,我之前用的shader是非常轻量简约并且远古的standardfx,没有后处理只有粒子系统,曾经想过换nb,但是莫名其妙发现后处理不起效,于是一气之下让deepseek写了一个

受到了龙神的启发和特笑哥(做个特笑吧)的指示,我把这个插件分享出来,说是造福人类

所以我扒掉了熊猫,nb和阿瑞的源码,把平时用得最多的后处理效果整合成了这一套,一个脚本 + 一个材质搞定,所以这篇文章没什么图,因为效果你们都见过(其实我压根懒得放图,文章都是ai写的)

参数全部按功能分组,可以直接用 Timeline 的 Animation Track K 动画,可以练习k帧,有教育意义(

注意了,这只是一个整合的插件,效果的代码全是别人的,我对代码狗屁不通,所以全是ai写的,当初的要求就是有效果并且能跑就行,所以切勿拿来盈利

众所周知,unity 有两个常用的管线 Built-in 和 URP,我平时要在两边来回切(老工程是 Built-in,新学 NBShader 又得用 URP),所以两套管线各做了一份,API 和参数名尽量保持一致,切管线不用重新学。

这套东西谈不上多专业,代码里也有不少可以优化的地方,但目前在自己的练习工程里跑得稳、

出片效果符合预期。写这份文档一是做个记录,二是分享给平时做特效 demo、需要快速出画面的小伙伴。

水平有限,各位大佬轻喷,欢迎多提建议。

--------------------------------------------------

目录

1. 文件构成

2. 两套管线的区别与选择

3. 安装方式(三步)

4. 功能模块详解

5. 实体扭曲(实验性,不推荐)

6. 用 Timeline 驱动后处理

7. 参数速查表

8. 常见问题

9. 出处与致谢

10. 下载

==================================================

1. 文件构成

--------------------------------------------------

Built-in 版(Unity 2022.3+ / 任意管线)

MyPostFX_BuiltIn/

    ├── MyPostFX_BuiltIn.shader          核心全屏后处理着色器

    ├── MyPostFX_BuiltInDriver.cs        相机驱动脚本(挂在 Main Camera 上)

    ├── DeferredDistort_BuiltIn.shader   实体扭曲蒙版(实验性)

    ├── MyPostFX_BuiltIn_Material.mat    配套材质

    └── Editor/

        ├── MyPostFX_BuiltInSetup.cs     一键部署 / 移除工具

        └── MyPostFX_BuiltInEditor.cs    Inspector 自定义面板

URP 版(Unity 2022.3 + URP 14.0.12)

MyPostFX/

    ├── MyPostFX.shader                  核心全屏后处理着色器

    ├── MyPostFXDriver.cs                参数控制器(挂在场景物体上)

    ├── MyPostFX_Material.mat            配套材质(给 FullScreenPass 用)

    ├── Editor/

    │   ├── MyPostFXSetup.cs             一键配置工具

    │   └── MyPostFXDriverEditor.cs      Inspector 自定义面板

    └── Sky/

        ├── MySkySphere.shader           卡通天空球

        └── MySkySphereSetup.cs          天空球一键配置

ChrDistort/                          (URP 版需要)

    ├── DeferredDistort.shader           实体扭曲蒙版( 实验性)

    └── DeferredDistortFeature.cs        URP Renderer Feature(实验性)

一句话理解分工:

文件              干什么

------------------

*.shader          真正算画面的像素

*Driver.cs        把面板参数传给 shader(Shader.SetGlobalXXX)

*Setup.cs         一键把 Driver 挂到相机 / 把 Feature 加进 Renderer

*Editor.cs        让 Inspector 显示成中文分组面板

DeferredDistort*  单独一条链路:物体写蒙版 → 后处理读蒙版扭曲画面(实验性,建议用 NB/熊猫的)

==================================================

2. 两套管线的区别与选择

--------------------------------------------------

Built-in 版                         URP 版

-----------------------------------------------------------

适用 Unity             2019.4+ 均可                        2022.3 + URP 14.x(实测版本)

额外依赖               无                                  URP 14.0.12

挂载位置               Main Camera 上的 MyPostFX_BuiltInDriver场景物体上的 MyPostFXDriver

执行方式               OnRenderImage                       URP 的 FullScreenPassRendererFeature

实体扭曲(实验性)  不需要 Feature                      需要 DeferredDistortFeature

天空球                 ✗                                   ✓ MySkySphere

时间控制               ✓ useRealtimeClock / timeValue      ✓ 同

模块数                 17 组                               16 组

怎么选:看你的工程是什么管线。

- 老工程 / 大部分特效练习工程 → Built-in

- 想用 NBShader、Shader Graph、URP 的 2D 光照 → URP

两版的参数名、分组名、Tooltip 都尽量对齐了,从 Built-in 换到 URP 基本不用重新学。

==================================================

3. 安装方式(三步)

--------------------------------------------------

Built-in 版(Unity 2022.3+)

① 导入

把 MyPostFX_BuiltIn 文件夹拖进 Assets/。

② 一键部署

菜单栏:Tools > Chr > 一键部署 MyPostFX (Built-in)

它会自动:

- 建好材质(如果 MyPostFX_BuiltIn_Material.mat 丢失,会自动重建)

- 给当前场景的 Main Camera 挂上 MyPostFX BuiltIn Driver

③ 开始调

选中 Main Camera → Inspector 里会看到 MyPostFX BuiltIn Driver 组件,

参数按【渲染】【时间】【屏幕扭曲】…… 分成 17 个中文折叠组。

想移除就用:Tools > Chr > 移除 MyPostFX (Built-in)

URP 版(需 Unity 2022.3 + URP 14.0.12)

① 导入

把 MyPostFX 和 ChrDistort 两个文件夹拖进 Assets/。

② 先确认 URP 版本

打开 Packages/manifest.json,确认有这一行:

"com.unity.render-pipelines.universal": "14.0.12"

版本号 14.x 对应 Unity 2022.3。如果你装的是其他大版本(12.x / 15.x / 17.x),

后面的 FullScreenPassRendererFeature 可能对不上,需要自己适配。

③ 一键配置

菜单栏:Tools > Chr > 一键配置 MyPostFX

它会自动:

- 遍历 URP Asset 下所有 Renderer,给每个加上 FullScreenPassRendererFeature

- 把 Feature 的材质指向 MyPostFX_Material.mat

- 在场景里创建一个挂着 MyPostFX Driver 的物体

它还会自动修复材质丢 shader 的坑。跨项目导入时,.mat 经常会指向 InternalErrorShader

(表现为画面全粉或全黑),Setup 脚本会检测到并自动重新指回 Chr/PostProcess/MyPostFX。

④ 实体扭曲额外一步(不建议做,除非你确定要折腾)

实体扭曲是实验性功能,推荐直接用熊猫或 NB shader 自带的扭曲。

如果你确实想试,才需要执行:Tools > Chr > 实体扭曲 - 一键配置

(URP 版必须加 DeferredDistortFeature,Built-in 不用)

==================================================

4. 功能模块详解

--------------------------------------------------

所有模块都是开关 + 若干参数的结构。关掉开关,这个效果就完全跳过(不消耗性能)。

屏幕截图 2026-10-08 163342.png


4.2 屏幕扭曲

image.png

4.3 径向模糊

image.png

最常用的用法:大招前摇、冲刺、被击退。

一般直接勾 InvertMask,中心保持清晰,四周往外拉丝。

4.4 色差 / 色散

image.png

4.5 暗角

参数                说明

image.png

压暗四角,把视觉焦点收到中间。角色特写、剧情演出很常用。

4.6 闪白 / 反色 / 去饱和

image.png

就是屏幕越来越白

4.7 曝光闪白(过曝)

image.png

和 4.6 的 flash 区别:flash 是整屏加白,这个是只把高光推爆。

想要"爆闪但还能看清轮廓"就用这个。

4.8 黑白闪

image.png

只让"中间调"闪成黑白,高光和暗部保持不变。做日漫冲击帧那种感觉。

4.9 线条 / 扫描线

参数               说明

-------------------

image.png

速度线 + 拉伸,配合径向模糊就是标准的"高速冲刺"画面。搭配黑白闪则是漫画线功能,使其拥有手绘排线感,注意了,如果发现线太密或者太短,请你调节粗细相关的数值(我一下子忘记了反正很容易就能找到),并且把线条颜色调为透明

也用来做 CRT 扫描线、故障感。

4.10 全屏模糊

image.png

只是单纯的模糊,没有焦点,我太菜了

4.11 电影黑边框

image.png

演出、过场、大招特写。配合 Kin K 一条 0→1 的缓入曲线就是标准的"进入演出"。

4.12 漫画滤镜

image.png

把画面压成黑白网点漫画。做"漫画分镜穿越"、"回忆闪回"很有味道。这个玩意儿也很不成熟,效果很不可控,所以我也不知道可以拿来干嘛

4.13 屏幕抖动

image.png

纯屏幕空间的抖动,不需要动相机。比震相机更"暴力",适合爆炸、重击。直接k帧即可,需要自行把握时长,我自认为比ae的shake都好用

4.14 水印 / Logo

image.png

打自己的水印发 B 站。logoDebugMask 是给你确认贴图通道对不对的。

5. 实体扭曲(实验性,不推荐)

--------------------------------------------------

 先说结论:这块不成熟,建议直接用 NB / 熊猫自带的

实体扭曲是我头脑一热加的,当时觉得"物体背后的画面被扭开"很酷,就硬着头皮写了一套。

但它的完成度远不如 NBShader 和熊猫 shader 里集成的扭曲——那两个是多年打磨的,

参数直观、和粒子渲染贴合、出问题也好查。

如果你要用扭曲效果,请优先用:

用什么       在哪

-------------------------------------------------

熊猫 shader  材质 shader 选 VFX/Pandavfx_v2.3,面板里有 _DistortTex / _DistortFactor / _IfNormalDistort 一整套扭曲参数

NBShader     材质 shader 选 Effects/NBShader(或 .Low/.Medium/.High/.Advanced),自带 Distort 支持我记得是这样的,不过你们大部分人应该都会

这两个的扭曲是直接做在粒子材质里的,不需要额外的 Renderer Feature,

也不需要"另一个物体写蒙版"这套间接链路,用起来省心得多。

这一节保留下来只是为了记录,以及给想折腾的人一个参考。

如果你只是想快速出效果——跳过这一节,去用 NB 或熊猫。




屏幕截图 2026-10-08 161526.png

8. 常见问题


Q1:导进去画面全粉 / 全黑,参数调了没反应

材质丢 shader 了。跨项目导入时 .mat 经常指向 InternalErrorShader。

解决:跑一次 Tools > Chr > 一键配置 MyPostFX(URP)或

Tools > Chr > 一键部署 MyPostFX (Built-in),Setup 脚本会自动修回来。

Q2:URP 版挂了 Driver 但毫无效果

检查三件事:

1. URP Asset 的 Renderer 上有没有 FullScreenPassRendererFeature(跑一次一键配置)

2. Feature 的材质槽是不是指向 MyPostFX_Material.mat

3. Driver 上的 enable 是不是勾着

4.效果不透明度是否是满的

Q3:Built-in 版没效果

1. Driver 是不是挂在当前的 Main Camera 上(不是别的相机)

2. 相机组件的 Target Texture 是否为空(挂了 RT 会导致 OnRenderImage 行为不同)

3. enable 和具体效果的开关都要开

4.不透明度是否是满的

Q4:性能怎么样

- 关掉的模块完全跳过,所以别把 17 个全开着

- 径向模糊的 Samples、全屏模糊的 Samples 是性能大头,一般 6~12 够用

- 实体扭曲(如果非要用)的蒙版渲染只画用了那个材质的物体,很便宜;

觉得卡就把 Built-in 的 entityDistortDownSample 改成 2

Q5:能和其他后处理插件(NB / 熊猫 / Post Processing Stack)一起用吗

可以,但要注意执行顺序。

- URP:多个 FullScreenPassRendererFeature 的顺序由 Renderer 列表里的先后决定,拖动调整

- Built-in:多个 OnRenderImage 的执行顺序看脚本的 [ImageEffectAllowedInSceneView] 和挂载顺序

一般建议:先做画面处理(模糊/漫画),最后做闪光和抖动。

Q6:为什么参数改了但运行时不生效

Driver 是用 Shader.SetGlobalXXX 传全局变量的。

如果你在同一帧里既 K 了动画又手动改值,可能会打架。

Timeline 播放时以 Timeline 为准。

Q7:我的 URP 版本不是 14.x,能用吗

先说结论:能试,但要自己改代码。

主后处理依赖 URP 内置的 FullScreenPassRendererFeature:

URP 版本     对应 Unity           情况


14.x         2022.3               实测通过

12.x / 13.x  2021 LTS / 2022.1-2  可能没有这个 Feature,或接口不一样

15.x / 16.x  Unity 2023           大概率能跑,但没实测

17.x         Unity 6             API 有调整,可能要适配

先跑一次 Tools > Chr > 一键配置 MyPostFX 看报什么错:

- 如果提示找不到 FullScreenPassRendererFeature → 你的 URP 版本太老,得自己写一个全屏 Pass

- 如果能加进去但画面不对 → 检查 Feature 的 Injection Point 设置

Built-in 版没这个问题,它用的是 OnRenderImage,从 2019 到 Unity 6 都能跑。

9. 出处与致谢

这套后处理不是从零写的。里面有几个模块是参考/移植了前辈们的东西,

在这里明确标出来,一是不埋没原作者,二是方便你按需追溯:

模块           出处

黑白闪         移植自 NB(雨轩大佬)

线条 / 扫描线  移植自 熊猫

水印 / Logo    移植自 熊猫

全屏模糊       移植自 Arui

电影黑边框     移植自 Arui

漫画滤镜       移植自 Arui

屏幕抖动       参考 AruiPostEffect

其余模块(屏幕扭曲、径向模糊、色差、暗角、闪白、曝光闪白、

以及两套管线的 Driver + Setup + Inspector 框架)为本套原创整理 ——

准确说是"我提需求 + AI 写代码"整理出来的,代码本身我没怎么读懂,能用就行。

(实体扭曲本来是原创,但完成度太低,不建议使用,详见第 5 节。)

特别感谢

谁                    做了什么

特笑哥(做个特笑吧)  指点了分享的思路,这个插件能发出来多亏他的建议

龙神                  教了我在魔法盒发文章的流程

另外补充几个参考过的方向:

- NBShader:URP 管线的二次元角色渲染,很多思路的起点

- URP FullScreenPassRendererFeature:URP 官方的全屏 Pass,本套 URP 版就是架在它上面的

- Unity Post Processing Stack:参数命名的参考

如果上面任何一位觉得标注方式不合适,或者不希望自己的东西被引用,

告诉我,我立刻调整或移除对应模块。

10. 下载

MyPostFX_v1.0.zip

    ├── MyPostFX_BuiltIn/      Built-in 默认管线版

    ├── MyPostFX/              URP 版

    ├── ChrDistort/            URP 实体扭曲 Feature(实验性,可不装)

    └── MyPostFX_使用说明.md   本文档

通过网盘分享的文件:Chr_特效工具包 (2).zip

链接: https://pan.baidu.com/s/151bmOU182EA-Do_5Rvfuig?pwd=nya3 提取码: nya3 

--来自百度网盘超级会员v7的分享

附:版本记录

版本  内容

v1.0  初始分享版。Built-in 17 组模块 + URP 16 组模块 + 天空球(Unity 2022.3.62f3c1 / URP 14.0.12)

※ 实体扭曲为实验性功能,不推荐使用,见第 5 节




发表于    2026年10月08日 17:00
关于作者
vfx丸子
回答
0
文章
0
粉丝
7

相关文章

URL已复制到剪贴板!