What & How & Why

差别

这里会显示出您选择的修订版和当前版本之间的差别。

到此差别页面的链接

两侧同时换到之前的修订记录前一修订版
后一修订版
前一修订版
cg:books:digital_lighting_and_rendering:ch_2 [2023/01/12 23:42] – [Ambient Light] codingharecg:books:digital_lighting_and_rendering:ch_2 [2023/01/16 10:54] (当前版本) – [Diffuse and Specular Refection] codinghare
行 138: 行 138:
 </WRAP> </WRAP>
 ====Adjust Controls and Options==== ====Adjust Controls and Options====
 +===Soloing and Testing Lights===
 +//Soloing light// 指将其他光源隐藏,只测试当前光源的调整手段。其要点在于:
 +  * 一次只测试一个光源,这样可以清楚的认识到每个光源的照明区域
 +  * 添加多个类似的光源时,也应该优先测试单个光源,调整设置得到满意结果后在进行复制
 +===Decay===
 +//Decay// 指光线的强度在传输的过程中会衰减的现象。3D 软件中通常提供了各种不同的 //Decay// 设置供我们使用。//Decay// 通常会带一个数值参数(通常被称为 //decay// 或是 //exponent//),指光的衰减程度。常用的有三种:
 +  * No decay, ''0''
 +  * Linear, ''1''
 +  * Quadratic,''2''
 +  * Cubic, ''3''
 +==Inverse Square Decay==
 +当 //Decay// 值等于 ''2'' 时,//Decay// 被称为 //Inverse Square Decay//(也称 //Quadratic decay//)。这种 //Decay// **是最接近物理正确**的 //Decay//。在这种情况下,光源与目标物体的距离每增加一倍,光线的强度就会衰减四倍。
 +<WRAP center round tip 100%>
 +真实生活中,//Decay// 主要原因并不是光的能量衰减,而是光的散射造成的。
 +</WRAP>
 +==Inverse Square Decay 的应用场景==
 +//Decay// 通常用于可见的光源,以及应用全局光照的场景中。//Inverse Square Decay// 作为间接光反射的一部分,可以很好的模拟 indirect light 在场景中反射的现象。
 +==Inverse Square Decay 的使用注意事项==
 +  * 由于 //Inverse Square Decay// 的衰减程度较高,通常设置光源的时候都会提供一个**很高**的初始光照强度,尤其是在光线需要进行**长距离传送**的时候。
 +  * 如果出现光源足够亮,但在远距离的物体依然非常暗淡,这种情况需要考虑是否使用了 //Linear Workflow//
 +==No decay==
 +在两种情况下光线不需要 //Decay//
 +  * 模拟来自非常远的光源
 +  * 模拟 directional light
 +==其他的 Decay 设定注意事项==
 +  * //Cubic Decay// 可以用于模拟光穿过**浓厚的雾**,或是光穿过**阴暗的水下**
 +  * 高衰减的 //Decay// 光源可以用于**只有光源旁边的物体**需要照明的情况
 +  * //Linear Decay// 某些时候可以作为 //No Decay// 和 //Inverse square decay// 的中间值使用
 +  * 某些 3D 程序允许我们指定 //Decay// 的最小 / 最大**距离**,也就是超出范围外的光线就不再显示。这种设定并不是物理正确的,但某些场景中使用起来非常方便。
 +===Diffuse and Specular Refection===
 +真实世界中,反射分为两种:
 +  * 漫反射(//Diffuse refection//):这种反射下,光线的反射方向是全方位的
 +  * 高光反射(//Specular refection//):这种反射下,光线的反射是平行的,反射会呈现出类似镜面的效果
 +光线在场景中会综合上述两种方式进行反射。//Diffuse// 主要呈现的是**物体表面的着**色;而 //Specular// 主要呈现的是**模拟光源反射的高光**。\\ \\ 
 +{{ :cg:books:digital_lighting_and_rendering:diffuse_n_specular.png?400 |}}
 +==反射的途径==
 +有两个因素决定了反射的最终效果:
 +  * 物体的材质
 +  * 某些灯光设置允许设定只对 //Diffuse// 或是 //Specular// 照明起作用
 +<WRAP center round tip 100%>
 +一个常用的技巧是复制光源,并设置其中一个只发射 //Diffuse//,而另外一个只发射 //Specular//。这种手法称为 //splitting out//,允许我们对不同反射的明度,颜色,以及高光的位置或表现进行独立的调整。
 +</WRAP>
 +
 +==常见的 specular level==
 +  * sun: ''1.0-1.2''
 +  * fill lights repersenting the sky specular: ''0.3-0.5''
 +  * 地面的反射光: ''0-0.25''
 +==3D 中的点光源高光不是真实的==
 +点光源在 3D 中表现为一个点(一个点的像素)。如果是真实的高光,那么高光表现上也只应该有一个点(无限小)。但这样带来的问题是,过于小的高光点是无法进行渲染的。为了修正这个问题,shader 中提供了选项允许我们设置高光反射的**尺寸**和 softness,使得高光渲染的结果看起来像是高光一样;但这样的结果并不是真实的。
 +===Light Linking===
 +//Light Linking// 指可以将指定的灯光与指定的物体绑定,使场景中未链接的物体不受该灯光的技术。该技术的好处有:
 +  * 保证链接物体上始终存在需要的照明(比如专门链接一个高光灯作为人眼的高光)
 +  * 可以对链接的物体做更加精细的修改
 +  * 对场景中某些照明不佳的部分进行增强
 +<WRAP center round info 100%>
 +某些软件会将灯光与阴影关联起来;当取消了 Light Linking 的时候,对应的光源不再对未链接的物体产生阴影。使用 //split out// 进行灯光的微调时,应设置 shadow linking 不随着 light linking 而改变。
 +</WRAP>
 +===Cookies===
 +