外观
Crystal
由于时间紧迫,宝石材质交由同事完成,这里简单罗列一下各部分计算。
Reflection Vector
用公式表达其实就是:,如右图所示,可以大致区分出各个高光区域的形状。
Prism Generator
注意这里大量使用了BumpOffset节点:BumpOffset
根据源码注释,其作用就是将采样坐标根据视线方向移动一下。那么三次不同深度的偏移采样之后Append得到一个带视觉深度效果的Mask纹理,用于模拟宝石内部的多重折射。
output = Coordinate + Eye.xy * (Height - ReferencePlane) * HeightRatio
Prism Control
这里主要控制色相和饱和度,使用Desalination节点:
Lerp(Input,dot(Input,LuminanceFactors)),Fraction)
External Rainbow
这里使用以上结果对外圈着色,新增两个Mask采样用来表达闪光部分。
Directional Fresnel
这部分使用遮罩和方向纹理模拟切割面高度。作为BumpOffset 的Height输入。
Internal Rainbow
这里的计算分为两个部分:
高光区域
高光色彩
在相乘之后稍微做一下Fresnel和色相以及饱和度的变换即可得到内部虹光。 叠加上External Rainbow就是宝石的自发光部分了
自此宝石材质的大部分表现已经完成了。Opacity和Refraction部分见材质连线即可。