默认/URP管线角色卡渲shader[AI编写]

vfxNidHogg 发表于    2026年09月07日 17:36
3095
15
46

✨ NidHogg_Avatar 二次元卡通着色器与全局控制系统

 — 使用说明文档 (V3.5)

(下载链接在最最下面)

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


一、前言:

大家好,我是一个刚开始学特效的小白,对代码和角色渲染完全不懂

做这套材质系统的起因,最近我想学习一下雨轩大佬的NBshader的使用,但 NBShader 必须在 URP 管线下运行,而我手头之前的练习工程全都是 Built-in 默认管线。


新开了一个 URP 工程后,我在市面上没找到顺手的二次元角色材质。正好听说现在 AI 辅助写代码挺成熟,我就想着能不能由我提具体的需求,让 AI 编写和排查代码,自己边测边改。


之后我去模之屋下载了一些二次元模型(比如演示用的远坂凛),解压后看到贴图文件夹时,里面有各种 LightMap、MaskMap、SDF 这类命名的贴图,完全不知道具体是干什么用的,也不知道该往 Shader 的哪个槽位里放。

由于对这些通道没有概念,我只能一边让 AI 帮我解释各个通道的作用并编写 Shader,一边自己在 Unity 里连线测试和排查问题。

来回调试打磨了一段时间,最后做出这个shader:


  1. 梳理并利用贴图:把一头雾水的各类贴图对应到了合适的功能槽位上,顺带搞明白了二次元模型靠各通道控制手绘阴影、高光和法线的底层逻辑。


  2. 还原与功能拓展:还原了常见的二分阴影、天使环高光、面部 SDF 动态阴影以及丝袜材质;同时结合做特效的实际需求,加入了双层能量辉光、消融飞散粒子,以及带顶点物理置换的冰冻与石化状态。


这套材质谈不上专业,代码里肯定还有不少不成熟的地方,但目前在自己的练习工程里运行稳定,效果也符合预期。写这个文档主要是做个记录,同时也分享给平时做练习、需要二次元角色材质展示效果的小伙伴。水平有限,各位大佬轻喷,欢迎多提建议。


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

目录

1.  文件构成

2.  极简模式与专业模式的区别

3. 不同贴图作用详解与槽位归宿

4.  材质使用方法(以远坂凛模型为例)

5.  总控脚本核心功能详解

6.  安装方式与工程下载


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

 1. 文件构成

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


ScreenShot_2026-09-03_005116_993.png

本套系统由 2 个 URP 着色器与 2 个配套 C# 辅助脚本构成:


- Body.shader:核心主着色器。负责角色的身体、衣服、头发与面部渲染,支持部位切换、光影渐变、丝袜接管、溶解与冰石状态。


- EyeUber.shader:眼球专属着色器。负责二次元眼瞳渲染,支持高光视差、内部星空叠层、局部呼吸发光、赛博光环及全局同步消融。


- AnimeDissolveController.cs:全局宏观状态控制器。挂在角色根节点上,通过 MaterialPropertyBlock 统一调度全身的网点、边缘光、辉光、溶解与冰石状态。


- DragronMaterialGUI.cs:自定义材质面板脚本。提供清晰的中文折叠面板、一键质感预设载入、贴图一键固化烘焙,并保留了底层渲染队列控制。


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


2. 极简模式与专业模式的区别

为了兼顾不同场景下的制作效率,面板顶部设计了两种模式切换:

- 极简易用模式(不想整那么复杂 只想配个光影就开始用的):

  * 专为只需要基础卡通感、有一点干净光影的小伙伴准备。

  * 在这个模式下,身体部位通常只用一个材质球就能全盘接管,参数被精简为基础二分明暗和阴影色,点击一键预设即可快速出效果,省去繁琐调参。

简易版.png


- 硬核专业模式(追求细节、发挥贴图全部价值):

  * 适合追求高品质画面、需要把模型拆分好的材质球逐个精调的情况。

  * 内置了反复试错调优好的五大高频质感预设(皮肤、金属、布料、丝袜、宝石),点击即可一键套用。

  * 完整开放丝袜接管、双层发光、能量辉光、以及带物理高度置换的冰冻/石化异常状态。

全能版.png


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

3. 不同贴图作用详解与槽位归宿

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

二次元角色贴图名称涵义.png


面对模型资源包里眼花缭乱的贴图,这里将它们的真实作用与在 Shader 中的对应槽位整理如下:

1. 基础颜色贴图 (BaseColor / Color / MainTex)

   - 作用:角色的固有色贴图,包含皮肤底色、衣服花纹等基本视觉信息

   - 槽位:Body 材质的【1 : 基础贴图与色彩 -> 基础颜色贴图】;EyeUber 材质的【主贴图】


2. 光影通道贴图 (LightMap / MaskMap)

   - 作用:二次元卡通渲染的灵魂通道图。一张图的 RGBA 四个通道分别存储了手绘阴影、高光遮罩、发根 AO、边缘光区域等控制数据

   - 槽位:Body 材质的【2 : 光影通道与渐变 -> 光影通道贴图 / 遮罩贴图】


3. 法线贴图 (Normal / Normal_L)

   - 作用:记录表面微观起伏与衣服褶皱,丰富细节层次

   - 槽位:Body 材质的【1 : 基础贴图与色彩 -> 法线贴图】


4. 渐变色图 (Cool_Ramp / Warm_Ramp)

   - 作用:决定角色受光面与背光面交界处的明暗色彩过渡,是二次元质感的核心。

   - 槽位:Body 材质的【2 : 光影通道与渐变 -> 受光面/背光面 渐变色图】


5. SDF 面部光影图 (FaceLightMap)

   - 作用:脸部专属距离场贴图。配合光源方向计算阴影,让角色在转头时光影过渡如手绘动画般平滑干净(导入 Unity 时必须取消勾选 sRGB)

   - 槽位:Body 材质(部位切到脸部)的【3 : 面部光影系统 -> SDF图】


6. 表情与悬浮片遮罩图 (ExpressionMap / PlaneMask)

   - 作用:用于控制害羞腮红的显隐范围,或一键隐藏二次元模型常用的悬浮五官面片

   - 槽位:Body 材质脸部的【悬浮片自制UV遮罩】与【表情遮罩图】


7. 状态置换与细节贴图 (Displacement / Crack / Parallax / Cover)

   - 作用:提供冰石形态的物理微凸起、裂纹自发光、冰块内部三维视差、以及朝上表面的积雪覆盖

   - 槽位:Body 材质异常状态模块中的各个贴图槽位(可直接用总控脚本一键烘焙写入)


8. 眼睛特有贴图(星空图、高光图)

   - 作用:用于眼球表面高光以及深层瞳孔内缓慢旋转流动的星空银河效果

   - 槽位:EyeUber 材质的【星空纹理图】与【主贴图】


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


4. 材质使用方法(以远坂凛模型为例)

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


推荐按照以下规范流程为角色装配材质:


【步骤一:指定 Shader 与分级】

shader选择.png

1. 身体各部位:将身体、衣服、头发、脸部材质的 Shader 统一指定为 `NidHogg/Avatar/Body`。

2. 眼部:将眼睛的阴影层与高光层材质指定为 `NidHogg/Avatar/EyeUber`。


【步骤二:选择工作模式】

- 快速出效果/低开销:在材质面板顶部选择【 当前:极简易用模式】。

- 深度精细调校:点击切换为【 当前:硬核专业模式】。



【步骤三:选取渲染部位与质感预设】

1. 身体主材质 (Body):

   - 在【当前渲染部位】下拉框中选择对应部位(0:身体-武器、1:头发、2:脸部)。

渲染部位.png

   - 极简模式:直接点击【 一键赋予【基础二分】预设】,面板会自动精简参数并清理干扰项。

   - 专业模式(身体):选择【目标材质质感】(皮肤、金属、布料、丝袜、宝石)

点击【一键应用预设参数】,载入调配好的参考数值 

然后根据自己的需求微调就好

预设分配.png


2. 眼部材质 (EyeUber):

   - 在【眼睛渲染层级】中指定是【0:眼影遮罩层】还是【1:动态高光层】

   - 高光层下按需勾选开启【星空叠加纹理】、【局部发光图案】或【赛博边缘发光环】

ScreenShot_2026-09-03_130653_784.png


【步骤四:贴图填入与细节微调】

1. 参考第 3 节的对应关系,把模型资源里的贴图填入对应的槽位。

2. 展开对应折叠栏,按个人喜好微调明暗交界线位置、阴影软硬度、描边粗细与颜色。



【步骤五:装配总控脚本与预制体制作】

1. 在模型根节点挂载 `AnimeDissolveController.cs`。

2. 点击顶部的【 一键加载角色全身渲染器到目标列表】完成全身自动绑定。

3. 复制两份模型分别配置:

   - 简易版:保持基础二分预设。

   - 冰冻高能版:勾选【启用状态覆盖】,渲染物理模式切为冰冻,点击【 一键应用【冰冻】预设】,进度拉满到 1。

   - 石化高能版:勾选【启用状态覆盖】,模式切为石化,点击【 一键应用【石化】预设】,进度拉满到 1。

4. 将配置完毕的模型分别拖入工程的 Prefabs 文件夹保存为独立预制体。


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


5. 总控脚本核心功能详解

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

总控界面.png


- 模型部位选取机制:

  * 0 : 身体-武器:开放完整功能(法线、丝袜接管、双层发光等)。

  * 1 : 头发:自动读取发根 AO 压暗,并开启天使环高光计算。

  * 2 : 脸部:自动启用 SDF 动画阴影计算、五官抹平度与腮红控制。

- 目标绑定:

  * 【一键加载角色全身渲染器到目标列表】:自动抓取子层级所有的 MeshRenderer 与 SkinnedMeshRenderer,省去手动拖拽。

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

宏观总控核心模块与参数详解

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

1. 全局漫画网点阴影

网点阴影效果.png

   * 开启全身网点:在角色的暗部阴影区域叠加漫画风格点阵。

   * 影响自身及所有子节点材质:勾选后全身统一生效;取消勾选后可展开列表指定特定模型网格。

   * 网点生成模式:

     - 程序波点:纯数学公式实时计算,生成整齐均匀的屏幕空间圆点。

     - 自定义贴图:读取外部黑白贴图(如排线、几何花纹)。

   * 自定义网点贴图 与 永久写入按钮:放置贴图,并支持一键将贴图写回材质球资产。

   * 网点缩放 (屏幕空间):控制网点密度,数值越大点越密集。

   * 网点不透明度:控制网点在暗部的显示深浅。

 


2. 角色全局菲尼尔总控

全局边缘光效果.png

   * 覆盖全局边缘光:接管并统一全身各材质自带的边缘光

   * 边缘光颜色 (支持HDR):支持高动态范围调色,拉高可增强轮廓发光感

   * 边缘光总体亮度:控制轮廓光的强弱倍率

   * 菲涅尔范围 (越大越贴边):发光收敛指数,数值越大发光越集中在模型轮廓边缘

总控-全局边缘光界面介绍.png


3. 角色全局能量辉光总控

边缘发光效果.png

   * 开启全身辉光:基于外扩描边 Pass 生成的全身发光能量场(类似霸气护盾)。

   * 辉光整体厚度:外发光网格向外膨胀的物理距离。

   * 辉光颜色 与 发光强度:控制能量层的 HDR 发光色彩与亮度。

   * 防穿插深度偏移:微调深度偏置,防止外发光网格与角色身体穿模。

   * 噪波流光影响度 与 噪波流动速度:控制能量外壳是纯色发光还是带有流动的斑驳能量波纹。

总控-边缘发光界面介绍.png


4. 溶解系统总控

世界坐标溶解效果.png

   * 开启全局溶解:让角色全身同步消融。

   * 全局溶解进度:从 0(完好)到 1(完全消失)控制消融进度。

   * 强制同步所有材质溶解样式:统一覆盖子材质的溶解方向与过渡参数。

   * 溶解蔓延方向:支持纯噪波随机溶解、模型 UV 纵向、或沿世界坐标 XYZ 轴向定向推进。

   * 渐变缩放范围 与 坐标位置偏移:调节定向消融的过渡带宽度与起始点。

   * 噪波侵蚀权重:控制消融边缘被噪波撕扯犬牙交错的程度。

   * 全局溶解噪波图、重复度 与 流动速度:控制消融斑驳细节的疏密与动态流动。

   * 边缘光颜色、宽度 与 边缘柔和度:调节消融烧灼切口的高温发光边缘带。

总控-溶解界面介绍.png


溶解粒子飞散效果演示.png

   * 开启飞散粒子:消融时在切口自动飞散出火星、雪花或碎屑(支持粒子贴图、颜色、密度、速度与方向微调)。

总控-溶解粒子飞散界面.png


5. 异常状态总控 (冰冻/石化)

异常状态-冰冻效果.png

异常状态-石化效果.png

   * 启用状态覆盖:让角色整体进入冰封或石化状态。

   * 全局状态覆盖进度:从 0 到 1 控制冰石蔓延比例。

   * 蔓延方向:支持全局瞬间覆盖、从脚底向上蔓延、或从头顶向下蔓延。

   * 渲染物理模式:

     - 冰冻:开启冰透折射、内部晶体视差、环境高光反射与锋利边缘光。

     - 石化:关闭透光与反射,切换为粗糙漫反射与专属阴影染色。

   * 动态跟随角色Y轴:【核心防穿帮】自动锁定角色根节点世界坐标高度。角色跳跃或浮空移动时,蔓延高度基准实时跟随,避免“人跳起来冰冻留在原地”的穿帮问题。

   * 状态贴图全局同步全家桶:提供基础纹理、法线、高度置换、边缘噪波、高度渐变、顶部覆盖物、内部裂纹、环境反射、内部视差的全套贴图槽位,并支持一键写入材质。

   * 物理高度置换极值:顶点沿法线真实向外凸起膨胀的距离。

   * 内部裂纹发光颜色:支持 HDR 调色,可调节冰石内部裂缝的发光强度。

   * 开启顶部覆盖 (积雪/青苔):根据法线朝上角度,在头顶、肩膀等表面堆积积雪或青苔。

   * 微观无限细节噪波强度:近距离特写时叠加高频噪波,避免贴图近看拉伸失真。

   * 内部视差深度:仅冰冻生效,透过冰层模拟内部封存晶体的 3D 纵深感。

   * 内部冰透折射强度 与 环境高光反射强度:控制冰冻下的折射扭曲与表面油亮感。

   * 开启冰层专属边缘光:提供极细、极亮、极锋利的冰晶切边发光。

   * 石化阴影专属染色:直接指定石化暗部的阴影色,彻底隔绝角色原皮肤与衣服底色的污染。

   * 一键应用预设:提供【一键应用【冰冻】预设】与【一键应用【石化】预设】,快速载入调配好的参数。

总控-冰冻界面1.png

  • 基础纹理 (StoneTex):石化后的岩石表皮或冰层原色贴图。开启后会直接覆盖替换掉角色原本的皮肤和衣服固有色。

  • 状态法线 (StoneNormalMap):提供微观凹凸细节。让石头表面产生坑洼粗糙的颗粒感,或让冰面带有折线分明的冰晶棱角。

  • 物理高度置换图 (DisplacementTex):真正把顶点往外顶起厚度。根据贴图黑白明暗把模型表面向外隆起,让附着的冰棱或碎石具有真实的立体物理起伏,而不是贴在表面的一层薄皮。

  • 边缘噪波图 (EdgeNoiseTex):控制状态蔓延交界处的参差撕裂感。在冰冻/石化从脚底往上蔓延时,让边缘呈现碎裂斑驳的不规则过渡,避免出现整齐划一的机械裁切线。

  • 高度渐变染色图 (GradientTex):全身体积的纵向渐变色(Ramp)。从脚底到头顶为模型附上一层颜色倾向(如脚底深暗、头顶微亮,或冰封底部偏青蓝),避免全身单一颜色显得呆板死沉。

  • 顶部覆盖物贴图 (CoverTex):模拟朝上表面的落雪或青苔。Shader 会自动检测模型法线朝向,只在肩膀、头顶等朝上的受雪面铺上一层积雪或冰屑。

  • 内部裂纹发光图 (CrackEmissionTex):控制裂缝自发光。配合 HDR 颜色,可以在冰石表面或内部呈现出熔岩裂隙、魔法冰裂等脉络发光效果。


  • 冰层反射 (MatcapTex) [冰冻专属]:提供光滑冰面的环境反光与油亮高光,利用假反射增强冰层的坚硬与通透感。

  • 内部视差图 (InteriorParallaxTex) [冰冻专属]:模拟冰块内部深层的 3D 晶体杂质。转动视角时,能透过表层看到里面有晶体在晃动,营造出“角色被封在厚厚冰层内部”的真实纵深感。

总控-冰冻界面2.png

石化界面(在渲染物理模式里改 ice冰冻/stone石化)

总控-石化界面1.png总控-石化界面2.png


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


6. 安装方式与工程下载

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

资源分为三种规格,大家按需自取:


- 方式一:核心材质与脚本源码包

  * 仅包含 Shader 与 C# 源码,适合已有模型、只想把功能导进自己工程里研究的小伙伴。


  * 默认管线下载链接:https://pan.baidu.com/s/183Y4ca8PLxGtR_cM6raJ-w?pwd=ndhg


  * URP 管线下载链接:https://pan.baidu.com/s/13D6hJeNqVMkkt_Dv4gstWg?pwd=ndhg 



- 方式二:模型预制体导出包(推荐)

  * 包含已装配完成的三个成品预制体(简易版、冰冻版、石化版),方便直接拖入场景看效果。


  * 默认管线下载链接:https://pan.baidu.com/s/1c3N972eT6E1-ksEPhrQAKQ?pwd=ndhg 


  * URP 管线下载链接:https://pan.baidu.com/s/1adqNZfq_g8O7YNfaIZJx2Q?pwd=ndhg 


- 方式三:完整演示场景与特效工程包

  * 完整打包工程,包含熊猫特效材质、简易特效制作练习场景、以及角色预制体。适合刚入门特效、希望开箱即用直接开始做特效的小白。


  * 默认管线工程(含辉光与熊猫特效场景,版本 Unity 2020.3.46)

下载链接:https://pan.baidu.com/s/1j79kIcO_2cRicgK-AnffIg?pwd=ndhg


说明提示:

- 方式一和方式二在 Unity 2020 及以上版本均可直接导入使用 

(urp不行 urp的2020版本的眼睛高光材质搞不好 我已无力)

- 方式三建议使用对应的 Unity 版本打开(更高版本也能自动升级打开)。


- 特别说明:文档中提及的所有演示效果及展示截图,均是在相机开启 ACES 色

调映射后处理环境下截取制作的 因为不开太够吧丑了拿不出手hh

无aces演示.png


文档说明因为也基本是让ai写的 所以有些地方可能写的会很抽象多多包涵

有问题的大佬可以加我v私聊 15696421013




发表于    2026年09月07日 17:36
关于作者
vfxNidHogg
回答
0
文章
0
粉丝
93

相关文章

URL已复制到剪贴板!