Blender 节点详解系列 042 光程 Light Path

终极の笔记!!!一篇搞完光程节点!!
光程节点
用于 “单选” 某一类别射线,便于后续赋予效果、或者关联此类射线的数据。
光程节点所有输出的数据类型都是数值(灰色接口)(不同接口颜色和数据类型转换参考BV16Y411D7kY)
只有前四个可以用于eevee(渲染速度快,一般用于预览),大部分只能用于Cycles(光线跟踪渲染引擎,效果更好,速度慢,一般用于正式出图),笔记里所有渲染都是Cycles
渲染和现实不同,可以强行违反物理规律,服务于视觉效果。例如,把阴影“单选”,赋予透明效果器,影子消失。
“是”字开头选项
是字头的选项,是在进行是 / 非型判断,所以输出值只有(是)1和(否)0。
可用于搭配 【混合着色器】—【系数】接口
混合着色器:系数值接口是灰色接口,输入的是数值,可以理解为下方接口分配光线比例。(其他数据类型接口如果连接,会进行数据转换,比如用颜色接口连接系数,实际上输入的是颜色的明度百分比数据)

举例:“是阴影射线”,可以理解为,将物体所有射线输入光程节点,判断 “是阴影射线吗?”,进行分组。
是阴影射线,即阴影射线部分输出值为1
(混合着色器系数为1时,下方接口100%生效,等于:下方着色器接口的效果只作用于“阴影射线”)
否,不是阴影射线的这部分输出为0
(混合着色器系数为0时,上方接口100%生效,等于:上方着色器接口的效果作用于“阴影射线”以外的所有其他射线)
以此类推,不再赘述
————————————————
官方说明文档如下:https://docs.blender.org/manual/zh-hans/3.4/render/shader_nodes/input/light_path.html

是相机射线
相机射线:相机视图中的任一点对应世界空间的一条线,(实时渲染预览没有以相机视角渲染,以渲染窗口范围为准)
【省流人话版】:能直接看到的面都包含。反射、漫射、阴影等间接射线都不包括。
举例:右下立方体透明的面都属于是相机射线

是阴影射线
【省流】:单选阴影
应用举例:为视觉效果消除玻璃的投影(把阴影赋予透明材质)

是漫射射线 + 是光泽射线
注意,渲染中的漫射和光泽,
和物理中的漫反射(粗糙度>0)、镜面反射(粗糙度=0),不完全一样!现实中是不存在既镜面反射又漫射的,但渲染中可以违反物理规律,单独调节这两者
(具体参考UP:小昕课堂。光泽=无吸收光线,在物体表面全部反射,漫射=进入物体内部吸收折射后再表面反射)
【省流人话】
漫射射线:自身反射的环境光(比如月亮反射的太阳光
光泽射线:物体在其他物体上的反射(比如镜中月水中花


如下图↓:红色部分是漫射,黄色(镜子里的)是反射

(不懂原理没有关系,记得是控制哪部分就能用……)
是单一射线
官方翻译是奇数射线……
【省流人话】基本只有在接近粗糙度0的面上的反射(照镜子)才算
是反射射线 + 是透射射线

是反射射线=是光泽+是散射
是透射射线:
【省流人话版】穿过玻璃(透明物)的射线

XX长度/深度/反弹次数
输出的都是数值!
比如场景中的不同光线反弹次数0-5次,可以赋予反弹0次的光线xx效果,1次的光线xx效果、2次xx效果,以此类推。
射线长度:射线类型不限,只区分距离,输出距离数值。可以搭配“映射范围”使用,调节其他着色器的数值输入端口。映射范围和数学中映射集合一个概念。
射线深度:射线类型不限,只区分光线反弹次数,输出反弹次数数值。也可以搭配“映射范围”使用。
光泽/漫射同理。
实际应用举例:透明深度设置21—映射—色相
效果:把0-21透明深度归一处理,映射成0-1(0%-100%),输入了色相接口,不同透明深度的射线就会有不同色相。
