卡通模块
组成三渲二Shader的模块,可以用于快速创建新的自定义卡通着色器。
2+1渐变映射
两阶渐变映射(亮部 + 暗部),将光照值映射为卡通色阶。
输入
| 名称 | 类型 | 默认值 | 说明 |
| Input | Color | (0,0,0,1) | 输入颜色/光照值 |
| 基础色 | Color | (0.80,0.80,0.80) | 物体的基础颜色 |
| 上色系数 | Float (0-1) | 1.0 | 颜色映射强度,0不映射,1完全映射 |
| 亮部 | Color | (0.69,0.69,0.69) | 亮部区域颜色 |
| 过渡 | Color | (0.13,0.13,0.13) | 过渡区域颜色 |
| 暗部 | Color | (0.03,0.03,0.03) | 暗部区域颜色 |
| 暗部位置 | Float (0-1) | 0.5 | 暗部起始位置 |
| 过渡柔和 | Float (0-1) | 0.02 | 亮部和暗部之间的过渡柔和度 |
输出
| 名称 | 类型 | 说明 |
| Result | Color | 渐变映射后的颜色 |
3+2渐变映射
三阶渐变映射(亮部 + 中间 + 暗部),比 2+1 多一个中间过渡色阶,色彩过渡更丰富。
输入
| 名称 | 类型 | 默认值 | 说明 |
| Input | Color | (0,0,0,1) | 输入颜色/光照值 |
| 基础色 | Color | (0.80,0.80,0.80) | 物体基础颜色 |
| 上色系数 | Float (0-1) | 1.0 | 颜色映射强度 |
| 亮部 | Color | (0.69,0.69,0.69) | 亮部颜色 |
| 亮部过渡 | Color | (0.51,0.51,0.51) | 亮部到中间色过渡颜色 |
| 中间 | 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 | 各色阶之间的过渡柔和度 |
输出
| 名称 | 类型 | 说明 |
| Result | Color | 渐变映射后的颜色 |
| 亮部分界线 | Color | 亮部与中间色的分界线(可用于描边) |
| 暗部分界线 | Color | 暗部与中间色的分界线(可用于描边) |
AO描边
基于环境光遮蔽的描边效果,通过 AO 采样生成轮廓描边。
输入
| 名称 | 类型 | 默认值 | 说明 |
| 输入 | Color | (0.5,0.5,0.5) | 输入颜色 |
| 描边颜色 | Color | (1,1,1) | 描边颜色 |
| Distance | Float | 0.02 | AO 采样距离,越小描边越细 |
| Normal | Vector | (0,0,0) | 法线输入 |
输出
| 名称 | 类型 | 说明 |
| 输出 | Color | 叠加描边后的颜色 |
兰伯特光照模型
经典的 Lambert 漫反射光照模型,输出法线朝向与光源方向的点积值。
需配合几何节点「旋转属性传递_C」使用,将灯光旋转传入着色器。
输入
| 名称 | 类型 | 默认值 | 说明 |
| Normal | Vector | (0,0,0) | 法线输入 |
| 阴影贴图 | Float (0-1) | 0.0 | 阴影贴图叠加 |
输出
| 名称 | 类型 | 说明 |
| 输出 | Color | 兰伯特光照值(映射为颜色) |
| 原始输出 | Float | 原始兰伯特点积值 |
可控阴影模型
可独立控制阴影细节的漫反射光照模型,支持自阴影和投射阴影开关。
输入
| 名称 | 类型 | 默认值 | 说明 |
| World Position | Vector | (0,0,0) | 世界空间位置 |
| Normal | Vector | (0,0,0) | 法线输入 |
| Exponent | Float (1-512) | 16 | Half-Lambert 指数,控制阴影衰减 |
| 阴影控制 | Float (0-1) | 0.6 | 阴影整体强度控制 |
| 自阴影 | Float (0-1) | 1.0 | 自阴影强度 |
| 投射阴影 | Float (0-1) | 1.0 | 投射阴影强度 |
| 阴影贴图 | Float (0-1) | 0.58 | 阴影贴图叠加值 |
输出
| 名称 | 类型 | 说明 |
| 结果 | Float | 最终光照值 |
| Diffuse Shading | Color | 漫反射着色 |
| Shadow | Float | 阴影值 |
| 环境光 | Color | 环境光颜色 |
| Half-Lambert Factor | Float | Half-Lambert 因子 |
| Blinn-Phong Factor | Float | Blinn-Phong 高光因子 |
| Self Shadow | Float | 自阴影单独输出 |
| Cast Shadow | Float | 投射阴影单独输出 |
布林冯高光
Blinn-Phong 高光反射模型。
需配合几何节点「旋转属性传递_C」使用,将灯光旋转传入着色器。
输入
| 名称 | 类型 | 默认值 | 说明 |
| color | Color | (0.5,0.5,0.5) | 高光颜色 |
| Normal | Vector | (0,0,0) | 法线输入 |
| 高光范围 | Float | 53.29 | 高光扩散范围,越大越集中 |
| 高光锐度 | Float (0-1) | 0.0 | 高光边缘锐度 |
| 高光颜色 | Color | (1,1,1) | 高光叠加颜色 |
输出
漫射模型
Oren-Nayar 漫反射模型,支持粗糙度控制的漫反射效果。
输入
| 名称 | 类型 | 默认值 | 说明 |
| Roughness | Float (0-1) | 0.0 | 表面粗糙度 |
| Normal | Vector | (0,0,0) | 法线输入 |
| Factor | Float (0-1) | 0.0 | 效果强度 |
输出
| 名称 | 类型 | 说明 |
| Result | Color | 漫反射颜色 |
| 原始漫射 | Shader | 原始漫反射着色器输出 |
| 原始RGB | Color | 原始漫反射 RGB |
屏幕空间边缘光
基于屏幕空间法线差异的边缘光效果,在模型轮廓边缘产生双色描边。
输入
| 名称 | 类型 | 默认值 | 说明 |
| 输入 | Color | (0.08,0.08,0.08) | 基础颜色输入 |
| shadow | Float | 0.0 | 阴影区域控制 |
| 主描边颜色 | Color | (2,2,2) | 主边缘光颜色 |
| 副描边颜色 | Color | (0.16,0.29,0.43) | 副边缘光颜色 |
| Factor | Float (0-1) | 1.0 | 边缘光强度 |
| Sample Radius | Float | 0.2 | 采样半径,控制边缘检测宽度 |
| Thickness | Float | 5.04 | 边缘光厚度 |
输出
| 名称 | 类型 | 说明 |
| Result | Color | 叠加边缘光后的颜色 |
曲率描边
基于模型曲率(凹凸程度)的描边效果,在模型棱角处生成描边,支持双色描边。
输入
| 名称 | 类型 | 默认值 | 说明 |
| 输入 | Color | (0.08,0.08,0.08) | 基础颜色输入 |
| shadow | Float | 0.0 | 阴影区域控制 |
| 主描边颜色 | Color | (2,2,2) | 主描边颜色 |
| 副描边颜色 | Color | (0.16,0.29,0.43) | 副描边颜色 |
| Factor | Float (0-1) | 0.0 | 描边强度 |
| Sample Radius | Float | 0.2 | 曲率采样半径 |
| Thickness | Float | 5.04 | 描边厚度 |
输出
| 名称 | 类型 | 说明 |
| Result | Color | 叠加描边后的颜色 |
菲涅尔描边
基于菲涅尔效应的描边,在视线与表面法线夹角较大处产生描边。
输入
| 名称 | 类型 | 默认值 | 说明 |
| 输入 | Color | (0.5,0.5,0.5) | 基础颜色 |
| 描边颜色 | Color | (1,1,1) | 描边颜色 |
| IOR | Float | 1.45 | 折射率,控制描边范围 |
| Normal | Vector | (0,0,0) | 法线输入 |
输出
| 名称 | 类型 | 说明 |
| 输出 | Color | 叠加菲涅尔描边后的颜色 |
面部SDF模型
用于卡通面部阴影的 SDF 贴图控制节点,通过自定义图像控制面部阴影形状。
需配合几何节点「旋转属性传递_C」使用,将面部控制器的旋转传入着色器。
输入
| 名称 | 类型 | 说明 |
| 进入设置图像 | Closure | 连接图像纹理节点以设置 SDF 贴图 |
输出
| 名称 | 类型 | 说明 |
| Value | Float | SDF 采样值,连接到渐变映射的光照值输入 |