卡通模块

组成三渲二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) 高光叠加颜色

输出

名称 类型 说明
输出 Color 高光颜色

漫射模型

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 采样值,连接到渐变映射的光照值输入