Reshift里的3s材质(Sub Surface Single Scattering)

这里的文章只是个人理解,不能保证正确,用于自己加深印象和日后参考。
要理解rs的sub-surface,一个背景知识很有帮助:天空为什么是蓝色的。我们的地球有一个稀薄的大气层,里面大多是氧气和氮气。太阳光包含各种波段的电磁波,人眼只能看到很小一部分,这一小部分最短波段的是紫色,最长部分是红色。氧气和氮气在紫外线下有很强的共振现象,太阳光经过这些粒子后,粒子吸收紫外线,共振放射出了自己波段的光,朝着各个方向,这些光的波段大多在紫外线附近,但是紫外线人眼很难看到,只有靠近紫外线波段的蓝色能被我们看到,这种共振放出的蓝色大概是红色的十倍,所以天空就显得很蓝。在傍晚时,阳光斜射穿过大气层,经过的大气层路径更长,更多的蓝色被大气吸收散射到各个方向,只剩下黄色和红色。这种光被微粒吸收然后放射出新颜色的现象叫散射,scattering。下面回到redshift。
Sub-Surface(次表面)在Refraction/Transmission(折射/透射)的子集菜单下,Weight要大于0才能有效果。
Attenuation Units有两个选项,Transmittance(透射),Extinction(消减)。Extinction选项下的Extinction coeff在帮助文档里解释说:请注意,“消光系数”值采用科学单位,实际上并不代表颜色,它们代表光线的红色、绿色和蓝色分量衰减的速率。所以感觉这个选项应该是用于添加实验数据,我们暂时忽略。


然后看这个实验,我们往一杯清水里加两种东西,颜料和牛奶。先说颜料,随着颜料越加越多,水颜色越来越深,实际是颜料微粒吸收了越来越多的光线,只发出特定颜色的光。这个颜料的颜色,就是参数Transmittance color,颜料添加的多少是Absorption Scale。

再说牛奶,随着牛奶越来越多,水变得越来越浑浊,不透明,越来越像固体。牛奶的多少是参数Scatter Scale。那什么是Scatter Coeff,这要回到开头的问题,为什么天空是蓝色的,因为大气散射蓝色,保留红色,Scatter Coeff控制的是粒子散射出的颜色,与Transmittance color不同,它在散射后留下了另一种相反色。

Phase控制光线如何在模型内部反射。-1方向模型远离光源的部分会有更多的光散射出来,会更通透,+1方向与之相反。(不过值达到1或者-1时,模型会很黑,不真实)
以上,都不能确定是完全正确的。