三渲二(着色器节点组)
快速卡通渲染节点组。
程序化卡通天空
基于世界坐标的程序化卡通风格天空节点组,通过 Voronoi 和 Noise 纹理生成云层,支持颜色控制、云朵动画和渐变映射。原作者:夜之斑(BV1KM4m1U7kz),修改封装:Con幺幺。
输入
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 天空顶部颜色 | Color | (0.18, 0.51, 0.79) | 天空上半部分颜色 |
| 天空底部颜色 | Color | (0.82, 0.82, 0.82) | 天空下半部分颜色 |
| 天空亮度 | Float | 1.0 | 天空背景亮度强度 |
| 漫射亮度 | Float | 1.0 | 漫射光照亮度 |
| 球化 | Float (0-1) | 0.25 | 天空球化程度,0为平面,1为完全球化 |
| 云朵亮部颜色 | Color | (1.0, 1.0, 1.0) | 云朵高光/亮部颜色 |
| 云朵过渡颜色 | Color | (0.18, 0.20, 0.65) | 云朵中间过渡区域颜色 |
| 云朵阴影颜色 | Color | (0.15, 0.27, 0.38) | 云朵暗部/阴影颜色 |
| 过渡柔和 | Float (0-1) | 0.5 | 云朵各颜色层之间的过渡柔和度 |
| 渐变颜色 | Color | (0.54, 0.64, 1.0) | 叠加渐变映射的目标颜色 |
| 渐变高度 | Float (0-1) | 0.425 | 渐变颜色影响的高度位置 |
| 云朵糙度 | Float (0-1) | 0.58 | 云朵纹理的粗糙度,越大越破碎 |
| 云朵大小 | Float | 5.0 | 云朵纹理缩放大小 |
| 云层密度 | Float (0-1) | 0.2 | 云层的整体密度 |
| 云朵碎度 | Float (0-1) | 0.65 | 云朵边缘破碎程度 |
| 云层缩放 | Float | 1.8 | 云层整体的缩放比例 |
| 云层高度 | Float | 0.5 | 云层在天空中的垂直位置 |
| X运动速度 | Float | 1.0 | 云层水平X轴动画速度 |
| Y运动速度 | Float | 0.0 | 云层水平Y轴动画速度 |
输出
| 名称 | 类型 | 说明 |
|---|---|---|
| Result | Shader | 最终输出的卡通天空着色器,连接到 Material Output 的 Surface 即可使用 |
使用说明
- 在 Shader Editor 中将节点组连接到 Material Output 的 Surface 输入
- 调整 天空顶部/底部颜色 控制整体天空色调
- 调节 球化 参数控制天空在三维空间中的分布形态
- 云朵参数(云朵亮部/过渡/阴影颜色、云朵大小/密度/碎度)用于精细控制云层外观
- 通过 X/Y运动速度 为云层添加随时间流动的动画效果
简易卡通兰伯特V3 (C_Toon_V3_Lambert)
基于 Lambert 光照模型的综合卡通着色器,支持三阶渐变映射、AO描边、菲涅尔描边、Blinn-Phong 高光。
需配合几何节点「旋转属性传递_C」使用,将灯光和面部控制器的旋转传入着色器。
输入
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 基础色 | Color | (0.8,0.8,0.8) | 物体基础颜色 |
| Normal | Vector | (0,0,0) | 法线输入 |
| Alpha | Float (0-1) | 1.0 | 透明度 |
| 阴影贴图 | Float (0-1) | 0.0 | 阴影贴图叠加 |
| 上色系数 | Float (0-1) | 1.0 | 渐变映射上色强度 |
| 亮部 | Color | (0.69,0.69,0.69) | 光照亮部颜色 |
| 亮部过渡 | Color | (0.52,0.52,0.52) | 亮部到中间色的过渡色 |
| 中间 | Color | (0.29,0.29,0.29) | 中间调颜色 |
| 暗部过渡 | Color | (0.13,0.13,0.13) | 暗部到中间色的过渡色 |
| 暗部 | Color | (0.03,0.03,0.03) | 暗部颜色 |
| 亮部位置 | Float (0-1) | 0.5 | 亮部范围 |
| 暗部位置 | Float (0-1) | 0.1 | 暗部起始位置 |
| 过渡柔和 | Float (0-1) | 0.02 | 色阶过渡柔和度 |
| 高光颜色 | Color | (0,0,0) | Blinn-Phong 高光颜色,黑色为关闭 |
| 高光范围 | Float | 0.0 | 高光范围 |
| 糙度 | Float (0-1) | 0.5 | 高光粗糙度 |
| 菲涅尔描边 | Color | (0,0,0) | 菲涅尔描边颜色,黑色为关闭 |
| AO描边 | Color | (0,0,0) | AO描边颜色,黑色为关闭 |
| AO颜色 | Color | (0,0,0) | AO颜色 |
| AO系数 | Float (0-1) | 0.0 | AO强度 |
| 漫射混合 | Float (0-1) | 0.0 | 漫反射混合量 |
输出
| 名称 | 类型 | 说明 |
|---|---|---|
| Color | Shader | 最终卡通着色器 |
简易卡通漫射V3 (C_Toon_V3_STR)
基于 Shaders to RGB 漫反射的卡通着色器,支持发光(Emissive)效果。
输入
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 基础色 | Color | (0.8,0.8,0.8) | 物体基础颜色 |
| Normal | Vector | (0,0,0) | 法线输入 |
| Alpha | Float (0-1) | 1.0 | 透明度 |
| 阴影贴图 | Float (0-1) | 0.0 | 阴影贴图叠加 |
| 上色系数 | Float (0-1) | 1.0 | 渐变映射上色强度 |
| 亮部 | Color | (0.69,0.69,0.69) | 光照亮部颜色 |
| 亮部过渡 | Color | (0.52,0.52,0.52) | 亮部到中间色的过渡色 |
| 中间 | Color | (0.29,0.29,0.29) | 中间调颜色 |
| 暗部过渡 | Color | (0.13,0.13,0.13) | 暗部到中间色的过渡色 |
| 暗部 | Color | (0.03,0.03,0.03) | 暗部颜色 |
| 亮部位置 | Float (0-1) | 0.5 | 亮部范围 |
| 暗部位置 | Float (0-1) | 0.1 | 暗部起始位置 |
| 过渡柔和 | Float (0-1) | 0.02 | 色阶过渡柔和度 |
| 光泽 | Color | (0,0,0) | 光泽颜色,黑色为关闭 |
| Roughness | Float (0-1) | 0.1 | 光泽粗糙度 |
| 菲涅尔描边 | Color | (0,0,0) | 菲涅尔描边颜色,黑色为关闭 |
| AO描边 | Color | (0,0,0) | AO描边颜色,黑色为关闭 |
| AO颜色 | Color | (0,0,0) | AO颜色 |
| AO系数 | Float (0-1) | 0.0 | AO强度 |
| Emissive Color | Color | (0,0,0) | 自发光颜色 |
输出
| 名称 | 类型 | 说明 |
|---|---|---|
| Color | Shader | 最终卡通着色器 |
C_Toon_V4
第四代综合卡通着色器,需要 5.1 NPR 分支版本,集成可控阴影模型、屏幕空间边缘光、曲率描边等高级功能。
输入
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 基础色 | Color | (0.8,0.8,0.8) | 物体基础颜色 |
| 阴影贴图 | Float (0-1) | 1.0 | 阴影贴图控制 |
| Normal | Vector | (0,0,0) | 法线输入 |
| Alpha | Float (0-1) | 1.0 | 透明度 |
| 光泽颜色 | Color | (0,0,0) | 光泽高光颜色 |
| Roughness | Float (0-1) | 0.1 | 光泽粗糙度 |
| 光泽系数 | Float (0-1) | 1.0 | 光泽强度 |
| 环境光影响 | Float (0-1) | 0.2 | 环境光影响程度 |
| 灯光最小值 | Float (0-1) | 0.0 | 漫反射光照最小值 |
| 灯光最大值 | Float (0-1) | 0.5 | 漫反射光照最大值 |
| 阴影系数 | Float (0-1) | 0.75 | 阴影强度 |
| 自阴影 | Float (0-1) | 1.0 | 自阴影强度 |
| 投射阴影 | Float (0-1) | 1.0 | 投射阴影强度 |
| 上色系数 | Float (0-1) | 1.0 | 渐变映射上色强度 |
| 亮部 | Color | (0.69,0.69,0.69) | 光照亮部颜色 |
| 亮部过渡 | Color | (0.52,0.52,0.52) | 亮部到中间色的过渡色 |
| 中间 | Color | (0.29,0.29,0.29) | 中间调颜色 |
| 暗部过渡 | Color | (0.13,0.13,0.13) | 暗部到中间色的过渡色 |
| 暗部 | Color | (0.03,0.03,0.03) | 暗部颜色 |
| 亮部位置 | Float (0-1) | 0.5 | 亮部范围 |
| 暗部位置 | Float (0-1) | 0.1 | 暗部起始位置 |
| 过渡柔和 | Float (0-1) | 0.02 | 色阶过渡柔和度 |
| 边缘光系数 | Float (0-1) | 1.0 | 屏幕空间边缘光强度 |
| 主描边颜色 | Color | (2,2,2) | 主边缘光颜色 |
| 副描边颜色 | Color | (0.16,0.29,0.43) | 副边缘光颜色 |
| Sample Radius | Float | 0.06 | 主边缘光采样半径 |
| Thickness | Float | 5.04 | 主边缘光厚度 |
| Factor | Float (0-1) | 0.0 | 副边缘光开关系数 |
| AO颜色 | Color | (0,0,0) | AO颜色 |
| AO系数 | Float (0-1) | 0.0 | AO强度 |
输出
| 名称 | 类型 | 说明 |
|---|---|---|
| Color | Shader | 最终卡通着色器 |
C_Toon_V4_NPR
V4 的 5.1 NPR Tree 流程版,增加对间接光照和光泽染色的独立控制。
输入
| 名称 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| 阴影贴图 | Float (0-1) | 1.0 | 阴影贴图控制 |
| 灯光最小值 | Float (0-1) | 0.0 | 直接光照最小值 |
| 灯光最大值 | Float (0-1) | 0.6 | 直接光照最大值 |
| 间接光最小值 | Float (0-1) | 0.5 | 间接光照最小值 |
| 间接光最大值 | Float (0-1) | 0.25 | 间接光照最大值 |
| 环境光 | Float (0-1) | 0.2 | 环境光强度 |
| 光泽染色 | Float (0-1) | 1.0 | 光泽颜色染色强度 |
| 光泽最小值 | Float (0-1) | 0.0 | 光泽高光最小值 |
| 光泽最大值 | Float (0-1) | 1.0 | 光泽高光最大值 |
| 阴影系数 | Float (0-1) | 1.0 | 阴影强度 |
| 自阴影 | Float (0-1) | 1.0 | 自阴影强度 |
| 投射阴影 | Float (0-1) | 1.0 | 投射阴影强度 |
| 上色系数 | Float (0-1) | 1.0 | 渐变映射上色强度 |
| 亮部 | Color | (0.69,0.69,0.69) | 光照亮部颜色 |
| 亮部过渡 | Color | (0.52,0.52,0.52) | 亮部到中间色的过渡色 |
| 中间 | Color | (0.29,0.29,0.29) | 中间调颜色 |
| 暗部过渡 | Color | (0.13,0.13,0.13) | 暗部到中间色的过渡色 |
| 暗部 | Color | (0.03,0.03,0.03) | 暗部颜色 |
| 亮部位置 | Float (0-1) | 0.5 | 亮部范围 |
| 暗部位置 | Float (0-1) | 0.1 | 暗部起始位置 |
| 过渡柔和 | Float (0-1) | 0.02 | 色阶过渡柔和度 |
| 边缘光系数 | Float (0-1) | 1.0 | 屏幕空间边缘光强度 |
| 主描边颜色 | Color | (2,2,2) | 主边缘光颜色 |
| 副描边颜色 | Color | (0.16,0.29,0.43) | 副边缘光颜色 |
| Sample Radius | Float | 0.06 | 主边缘光采样半径 |
| Thickness | Float | 5.04 | 主边缘光厚度 |
| Factor | Float (0-1) | 0.0 | 副边缘光开关系数 |
| AO颜色 | Color | (0,0,0) | AO颜色 |
| AO系数 | Float (0-1) | 0.0 | AO强度 |
输出
| 名称 | 类型 | 说明 |
|---|---|---|
| Color | Color | 最终输出颜色(非 Shader,需放置在NPR Tree中) |