04_着色模型构建
着色阶段
添加平行光
调整一下角度,我这里是45度

几何节点中将光数据传给Shader
平行光向量LightDirWS

平行光颜色
创建合并颜色节点
平行光的颜色需要使用驱动器进行读取
调整类型
指定场景的灯光,获取颜色
其他几个通道同理,这里还需要乘上光照强度
驱动器设置
输出平行光颜色 
构建基础光照模型
读取灯光数据进行打组
打组,修改变量名称

读取法线和漫反射偏移
加入贴图,这里贴图RG是法线,B是漫反射偏移 
创建LightTex组
添加贴图,调整颜色格式
打组

为基础Shader组添加参数

解析LightTex
这里直接进行打组创建
先进行重映射,采样后映射到-1~1
进行法线强度控制
因为法线的各个向量平方之和是1,由此可以计算出Z分量,这里因为浮点数计算误差和贴图误差等,为了保证X和Y的平方和不超过1使用了Min节点
进行合并给到法线贴图节点,这里需要注意,这里不能使用Normalize归一化,因为Blender的NormalMap节点会进行Normal的重映射进行(x2-1),而之前计算的时候已经映射过了(-1~1),所以需要重新映射回来,就是(x0.5+0.5)重新回到0-1范围 
只有身体部分有法线贴图和漫反射偏移,所以进行判断非身体部分直接输出普通法线,上方是漫反射偏移,乘上了系数2,下方是法线输出 
计算BaseAttenuation衰减(Lambert)
解析了法线和漫反射偏移,就可以计算兰伯特光照了
BaseAttenuation内部节点 用PiexlNorma点乘光线向量然后加上漫反射偏移DiffuseBais 
输出测试
给各个材质进行分别设置Light贴图
光照效果 
光照分层着色
ForWardShader新增输入
添加软硬控制,光滑系数 
创建新组

对AlbedoSmoothness处理
先乘上1.5倍进行重映射,1-重映射的值获取锐利系数,锐利系数 = 1 - 光滑系数 
添加BaseAttenuation并进行重映射
新增组输入 
分层
分层公式
对应代码,S1为锐利系数,S0为光滑系数
这里是分为7层: ShadowFade最深阴影 Shadow较浅阴影 ShallowFade中间过渡较深阴影 Shallow中间过渡较浅阴影 SSS次表面部分 Front 明亮区域,接近没有衰减 Forward 最强反射部分,没有衰减
ShadowFade最深阴影
除以锐利系数 
Shadow较浅阴影
除以光滑系数 
#### ShallowFade中间过渡较深阴影

Shallow中间过渡较浅阴影

SSS次表面部分

Front 明亮区域,接近没有衰减

Forward 最强反射部分,没有衰减

分别输出

Albedo传入参数

Forward组追加颜色参数输入

Forward组追加DataTex输入


将Albedo组再进行打组处理并添加输入参数

对各分层进行颜色混合
阴影颜色根基深度进行提亮
打组
在进行打组创建NormalizeByAverageColor组,对颜色进行归一化,效果上,因为平均颜色的值小于1,这里会对颜色进行提亮
打组,对深度和颜色进行混合,这里乘上0.43725,表示在0.43725m内时颜色会增亮,而相机远离时,变成原本的亮度
添加参数,对shadowColor和ShallowColor进行划分成两个亮度,对应就是ShadowFade和Shadow,ShallowFade和Shallow,然后进行输出
对ShallowFadeTint、ShallowTint设置默认值 PostShadowTint: CDCDCDFF PostShadowFadeTint: CDCDCDFF PostShallowTint: E6E6E6 PostShallowFadeTint: E6E6E6 对于非阴影部分,不需要进行颜色亮度调整,直接输入输出即可,新增输入输出
默认值调整 PostSssTint: FFF1E6 PostFrontTint:FFFFFF PostForwardTint:FFFFFF 返回上层,当前节点为 
混合各层颜色
乘法进行混合颜色后,将阴影部分进行相加,这里需要乘上灯光的颜色,所以现在对灯光进行处理
追加灯光颜色输入 
阴影部分混合的灯光颜色需要压暗,这里是对灯光颜色处理,处理过后直接进行乘法混合
阴影部分混合处理后的灯光颜色
非阴影部分直接进行混合即可 
传入参数
返回上层对ShadowColor和ShallowColor以及灯光颜色进行传入
最上层节点调整,AlbedoSmoothness默认为0.1,设置传入DataTex
暴露阴影颜色值给外部,方便调整
暂时保持默认值就行 
颜色参数设置
面部 ShadowColor1 :DDBFBF ShallowColor1 :EEDDDD 头发,饰品 ShallowColor1 :EEDDDD ShallowColor2 :A7A3B9 ShallowColor3 :DAE3E8 ShallowColor4 :E6BEBD ShallowColor5 :E6D4DF
ShadowColor1 : DDBFBF ShadowColor2 : 66637B ShadowColor3 : ABB4CE ShadowColor4 : B48B8C ShadowColor5 : CCACBA 服装 ShallowColor1 :B9BFD1 ShallowColor2 :DFE8ED ShallowColor3 :E6CEBF ShallowColor4 :9C94BC ShallowColor5 :93A0B2
ShadowColor1 : 8685AB ShadowColor2 : BAC3E0 ShadowColor3 : CCA586 ShadowColor4 : 8780AG ShadowColor5 : 637082 面部参数调整 ShadowColor1 :DDBFBF ShallowColor1 :EEDDDD
当前预览
乘上基础颜色

Enjoy Reading This Article?
Here are some more articles you might like to read next: