趁着工作外闲暇,学习Vray充充电已有1个礼拜。想想当初的两个幼稚求助帖,很是搞笑,让人想帮都无处入手啊。
几天实践下来,初步掌握了一些渲染技巧。但是越往里研究,越发现自己物理基础的薄弱,因为Vray的渲染都是建立在发射、散射、反射、折射等等光学现象的基础上。所以赶紧从网上搜索各种资料,来补充不足。不能理解这些基本原理,永远只能是渲染的门外汉。我觉得那些渲染界高人,至少也可算得上是半个物理光学工程师了。也难怪世界上那么多建筑设计师,往往又是出色数学家。
同时也希望,论坛内的高人以后在帮我们释疑时,不仅是指出软件参数的不对,也可以从这些基本面去告诉大家为什么参数是这么设置的,所谓授人以鱼,不如教人以渔。
常见名词:
1. 放射——由一点向四外射出。例子:太阳的光向四面放射热量。
2. 反射——光在两种物质分界面上改变传播方向又返回原来物质中的现象
理解光的反射定律
1)在反射现象中,反射光线,入射光线和法线都在同一个平面内
2)反射光线,入射光线分居法线两侧
3)反射角等于入射角
可归纳为:“三线共面,两线分居,两角相等”
3. 漫反射——详见百度百科 http://baike.baidu.com/view/43946.htm
4. 折射——详见百度百科 http://baike.baidu.com/view/462574.htm
下面是一篇国外论坛的精彩转帖,很是强悍!
[size=85%]
[size=85%]引言
[size=85%] CGTALK上的另一篇精彩帖子,已经由hammerbchen翻译,由于此帖讨论过于深奥,特将译文重新整理,并将重点科学理论标红,CG用户建议行为标橙,原贴地址[size=85%]http://forums.cgsociety.org/showthread.php?f=21&t=650761[size=85%],整理译文如下。
[size=85%] 渲染效果要真实,除了灯光、GI参数设置外,材质设置也是非常重要的因素,材质主要通过不同的Shaders(明暗器)来模拟真实世界的光影变化,在CGTalk中,《The Science Of CG》这篇帖子对材质进行科学的深度讨论,同时也涉及到RAW格式与光谱算图。在这篇帖子中,乌克兰网友mister3d与playmesumch00ns提供了很棒的讨论与插图。
[size=85%]Dtox提到:
在同类标题的帖子中,都没有进行真正深入讨论,即使网友的回复都是有益的,但并没有给任何人真正讨论方向。有位网友想知道光是如何运行的,这样一来他可以将光的理论套用到软件中。我认为这是每个都想知道的,也是应该知道的。大多数的答复是“去学习一下艺术理论”或“管他的,只要调整参数看起来像,就对了”。虽然这样说有其原因,但我还有更中庸的做法。学习传统艺术能够更了解CG原理,但理论与实际之间还有其他的灰色地带,尤其是关于打灯照明技术上。
光符合物理法则,如果了解这些物理学,调整CG光线时就够能得心应手。例如“平方反比定律”并不只适用于光线,在CG世界中,也可以应用在照明技术。平方反比定律是指物体与光线的距离每增加一倍,光照强度就是原来的四分之一。
如果是刚接触CG照明,并希望得到真实的渲染效果,掌握一定的物理学很重要,就我个人而言是对物理学是非常感兴趣的。
[size=85%]Cryptosporidium回复:
我喜欢用“物理正确”的方式去做灯光照明。但只有极少数人关心物理学,而大绝大部分的电影制作会从艺术的角度来调整光线,无论物理上正确与否,而且导演要的东西常常都不是物理精确的效果。有趣的是,如果真的用所谓的物理精确的参数去计算CG照明,算图时间可能会在百万年后才会计算完(reach astronomic values)。也许这也是为什么这样的帖子没有受到足够的重视,但了解物理学可以帮助您的工作。
[size=85%]Mister3d回复:
大多数用户是随意控制参数而不是依循物理法则,一旦了解算图物理学后,这些观念将在脑海中根深蒂固,重要的是能套用到任何一种渲染器中。
Retracing(光线追踪)是以物理为基础(模拟光的行为,但其实不是物理精确的计算),所以其实需要学的是物理学而不只是CG照明。要掌握CG照明知识也不仅需要学习传统照明和CG照明技术,同时也需要考虑到材质和相机的参数。
[size=85%] CG照明分有直接照明和间接照明的区别,前者是指光线打在物体表面就停住了,并没有光线的反弹,而这种情况并不会发生在真实世界。
[size=85%]我认为能量守恒定律可应用到任何反射材质上,这个反射数值不能超过光源的强度,所以反射光线会比原始光线暗,同时光线是以平方反比做衰减。
当光线打到物体表面可能会发生吸收、反射、折射(或不完全折射)。反射或折射有可能是漫射性或高光性质(Specular)。 [size=85%] 如果光线在漫射性质的表面反射则会发生混色现象(color-bleeding)。
如果光线在Specular的表面反射则会发生Reflect Caustics(反射焦散)现象。
如果光线穿透折射物质则会发生Refract Caustics(折射焦散)现象。
如果光线被物质表面吸收并产生些diffused refraction(微漫射折射),则会发生Sub-Surface Scattering(次表面散射)现象。吸收光是漫射折射外加漫射属性,这种现象以皮肤为例就是由水和肉构成,因此会同时有散射与折射的性质。
除此之外,[size=85%] 还有就是Caustics Dispersion of Refraction(焦散散射折射)现象,这种现象相当罕见,比如钻石,看起来就是彩色的折射。
光源可能距离非常遥远,这种情况我们就不使用平方反比定律(但据我理解,还是有衰减现象,为了计算方便不考虑衰减,否则就需要将光源放在亿万英里远的距离,就好像太阳到地球的距离一样,所以只好省略这类光源的平方衰减性质),当光源不亮也不远,可以套用平方衰减定律。如此就得出一个非常重要的观念——场景单位的重要性,因为光的衰减和光源所在的空间尺度有关,而且光线阴影的锐利度受到光源大小所影响。
有一个定律是说:反射优先于漫射,而折射优先于反射。这表示,如果有一个如果金属之类的强烈反射材质,几乎是看不到漫射效果,因此,100%=0%的漫射。100%的折射情况下能看到一点反射效果,但是漫射则完全看不到(这时漫色设置为黑色最好)。
所有的物质都会反射,已知物种中反射率最低的物质也有0.045的反射率,大部分的物质表面具有漫射性的反射,镜面反射则很少见。由于任何物质表面都有许多microfaceted(微小的结构面),而这些结构不容易被肉眼观察出来,如果是镜面反射的话,微表面产生的反射射线是往同一个方向,漫射反射则是由表面产生的反射方向是多方向得来的。
这个世界上有两种类型的材质:金属和其他材质。所有材质都会有Fresnel(菲涅尔)反射效果,所以,每次都应该套用这样的反射类型。Fresnel实际上并不是简单的衰减曲线效果,一开始是缓曲线,然后在端点的地方有陡峭的线段。而金属有更加突出的反射属性,漫射建议设置为黑色,因为这时反射是优先计算的。
只有金属会有彩色的反射效果,因此,如果需要制作任何非金属的反射效果,只会是黑白反射而已。这里反射光看起来有颜色,是因为它们反射颜色,而不是因为材质将反射光线染色。因此,当使用黑白的贴图在材质上时,反射光只会反射光源的颜色,换句话说也就是说只有金属材质会将反射光着色,而其他材质不会。
还有一个数值:反射折射率和折射反射率,这两个数值一定相同,可以在各种参考资料中查到真实世界各种事物的具体数值,这些数值会控制物体反射/折射的效果,同样的数值在导电物质上只是会稍微亮一点。
[size=85%] Playmesumch00ns回复:
景深发生的原因,是因为透镜的聚焦光线来自于一个圆锥的顶点投射到底片盒,这个圆锥的长度与物体到相机的距离,和镜头在相机中的位置有关。如果底片没有恰好摆在这个圆锥的顶点位置,则圆锥与底片会形成一个圆形的交错(the circle of confusion),这就是为何当3D的点投射到底片时会变成圆形,而且影像会变得模糊。
对于mister3d的回复,我想纠正一下,材质只有金属和非金属两种类型的定义并不准确,这两种类型应该是指导电材质和非导电材质,[size=85%] 当然在大多数情况正常可以理解为金属和非金属。而且当光子打到物体表面时,会发生吸收、反射和穿透三种现象。
1.吸收
吸收是光能转化为热能,并逐渐消失,当然这不是真的消失了,但在渲染时并不需要关心热能。实际应用时,表示任何材质都不该有100%的反射属性,如果你想制作真实的材质效果。
2.反射
反射描述光线从表面反弹的过程。实际的光子反弹方向是受到物体表面的microgeometry(细微几何结构)影响。非常光滑的表面会产生完全相同的反射方向,就像镜子一样,如果是非常粗糙的表面就会产生散射光,往各个方向反弹。我们把平滑表面所产生的反射称为Specular Reflection(高光反射),从粗糙表面产生的反射称为Diffuse Reflection(漫反射),介于两者之间的反射称为Glossy Reflection(光滑反射)。
非导电材质的反射总是与光源颜色相同,所以产生的反射是白色的,而导电物质则会让反射的光线带有颜色。导电物质会反射出怎么颜色的反射光线是根据材质的化学结构与光线的入射角度有关。例如光线撞击到黄金表面,比较浅的入射角所产生的黄色会比直接打到黄金表面的光线颜色不容易察觉。
3.Transmission(穿透)
[size=85%]光线穿透到物质内部就是折射,改变了光线的运动方向,确切的光线折射方向是根据材质的折射率以及光线的入射角决定的。表面的microgeometry可能会导致光线往多个方向分散运动,就好像Diffuse Reflection或Glossy Reflection那样,这样可造成如磨砂玻璃产生的雾效果。
只有Dielectrics(非导电物质)可以被光线穿透,光线的穿透或是反射是根据入射角和物体的直射率决定,菲涅尔方程式可以作为解释这个现象的模型。基本上光线直接垂直打到物体表面会穿透过去,但是低的掠射角就会大部分产生反射。
上述现象只有其中之一会发生在光子与物体接触的互动中,但数学模型可能会导致难以想象的数值,因此,在处理光线反应数学模型时,建议控制不同比例的光子做不同的反应。如金属可能反射50%的光子,并吸收剩下的50%,而玻璃有可能90%的光子会穿透,5%反射,并吸收其余的光子。
整个反射规则遵循、反映了能量守恒定律,所以反射的光子不应该大于入射的光子数目,而这种条件在大部分的渲染器中是很难设定的。常见的做法是采用相加层式的BRDF,在明暗器里的漫射与高光反射总和不能大于1,这样也才符合物理规则。当然,材质真正运作方式不会按真正的材料方式行事,但这种做法让数学式更容易处理。据我所知,只有Maxwell和Fryrender渲染器具有这样的参数。
当光线穿透到物质当中时,就会发生Sub-Surface Scattering(次表面散射)现象,光子会在物体内部弹跳。光线在内部相互作用会造成一些能量被吸收,通常是不同波长的光线,因此,当光线最终弹出去时,颜色会比较暗而会带有某些颜色。只有非导电物质才会发生该现象,这是唯一一种情况非金属物质会产生有颜色的反射。所以,每次当看到一个彩色的物体,而这个物体不是金属,光线是穿透到物体内部,在内部反弹,过程中产生有颜色的光线,然后最后又弹出物体。
Mister3d回复:
关于漫射,我不知道是不是有物理学上的根据,但除非是被折射或折射优先计算(假设漫设是黑色的),漫射数值应该在20%~80%的亮度范围内,这样的设定能产生更好的照明效果,不会有过度曝光或是过黑的问题。
[size=85%] [size=85%]高光反射时会产生Isotropic(同向性反射)或Anisotropic(异向性反射)不同的类型,Anisotropic光线与物体表面凹槽垂直的方向作反射,而Isotropic则均匀分布的。 [size=85%] 谈到摄影机,有曝光、运动模糊、景深、白平衡等效果,但其他效果主要是镜头造成的。曝光是指底片在光线底正常曝露多久,时间越久,曝光较亮,曝光是由f-number、快门速度和ISO控制。
运动模糊是因为快门打开足够长的时间使运动物体在底片上留下痕迹。
景深大多由f-number控制,但也受到Film Gate影响,对写实渲染效果非常重要,如macroshootion。
每个光源多少会有颜色(Color Temperature),但眼睛所看到的并不真实,当我们观看光源时,人眼很快会适应訨你误以为看到的是白灯,而白平衡是在白色的光源变得更蓝,蓝的颜色变得更红。[size=85%] [size=85%] 如何使用CG软件来实现这些物理效果,是很难的问题,当然,还必须考虑到屏幕的影响,必须还需要一个适当的校色软件,包括色温和伽玛校正,可参见[size=85%]http://forums.cgsociety.org/showthread.php?f=2&t=188341[size=85%],如果想制作物理写实的算图效果,就必须要控制这些参数,最后是通过渲染器实现这个目标,无论是利用先进的算法或是非物理算法来计算。
以上是基本解释。
[size=85%]Playmesumch00ns回复:
真实世界中,最反光的材料是Spectralon,可以反射大约90%的入射光,基本接近Lambertian的方式反射,而一张白皮书的反射率大约有80%。反射率最低的材料是Iirc,大约只有3%的反射,当然在实验室只可以会有1%或更低反射率的物质。
|