三张图分别为blinn材质,mia_material_x以及焦散效果。
详细讲解了玻璃的制作思路与操作方法,基础知识自动略去,建议有一定基础的同学阅读,或者自行查阅相关资料辅助理解。
blinn材质 mia_material_x mia_material_x焦散效果
目录:
第一节:材质的基本原理。
第二节:使用maya基本材质实现玻璃效果。
第三节:使用mental ray材质实现玻璃效果。
第四节:阴影与焦散
材质的基本原理。
1) 能量守恒。
第一次遇见你
在光线照射到某个物体表面的时候,总体上会出现三种反应:吸收,反射以及折射。其中反射又分为漫反射和镜面反射。
而所谓的能量守恒法则说的则是,能量不可能凭空产生也不可能凭空消失,只可能发生转换。
用在光线传播过程中则可以得到这样一个公式:入射能量=吸收能量+反射能量+折射能量。
其中,吸收的能量一般转换为热能,是我们不需要考虑的部分,将这一部分掠去,得到公式:入射能量>=反射能量+折射能量。
其中,反射能量可以分为漫反射和镜面反射,而漫反射在我们cg制作过程中,一般为diffu,而镜面反射一般为specular,而折射一般为电影经典对白refraction,令入射能量为100%,即为1。
则可以得到最终我们可以使用的公式:1>=diffu+specular+refraction.
2) 所有反射都具有菲涅尔效应。
菲涅尔就是你的视线和你看的面的夹角越垂直,则看到的反射越低,你的视线与你看的面的夹角越接近0度,则反射越高。
图中从左到右是90度视角到0度视角的过度。
另外,决定菲涅尔效应的主要是折射率这个属性。当折射率越靠近1的时候,90度视角与0度视角的反射率之间的差别越大,当折射率数值越高的时候,90度视角与0度视角的反射率越接近1。
一般透明物体的折射率在1.3-1.9之间,塑料、橡胶、烤漆也是这个范围左右。金属则是4-10,甚至更高。
使用maya基本材质实现玻璃效果。
diet coke这里使用大家最熟悉的learnenglishblinn材质,运用前面讲的基本原理来制作玻璃。
首先是设置场景,对于高反射的金属或者玻璃等物体来说,基本上可以说不存在自身的固有色,这些物体之所以被看见,是因为反射或者折射周围的环境,于是,环境对于玻璃的制作来说是万分重要的。没有环境就没有效果。
这个场景使用hdr来进行照明。在mental ray中则是使用IBL节点。
关键设置如下:
开启IBL节点,如果FG没有自动开启,请手动开启。
关闭场景的默认灯光,在common标签的最后。
ips是什么意思启用色彩管理,如下设置,开启线性工作流。
渲染得到的结果。
给模型一个blinn材质,并且调节transparency到全透明。
并且在raytracing option标签下开启折射,refraction,将折射率调节到1.7或者类似的一个数值。
得到一个很黑的结果。
这是因为反射折射次数在默认情况下都设置得非常小。
为了讲解反射和折射次数,我做了一个简单的场景来说明。
两面相对的镜子,中间有个小球。奥巴马罗姆尼辩论
镜子给的是高反射的材质。
按照我们的生活经验,两面相向而立的镜子应该是无限次反射才对,但是在我们的软件渲染出来的图可以看到,从一面镜子里面只能看到对面的镜子和小球,并且对面的镜子里的反射是没有的,反复对面的镜子不会反射一样。但其实这两面镜子我给了同样的材质。问题在哪里呢,就在反射与折射次数的限制。
当我们在渲染的时候,如果遇到像我现在使用的这个案例的时候,计算机如果按照生活里
的经验去计算,那么就要无限地计算两面镜子之间的反射,那么渲染便永远不会终止。为了避免这种情况的产生,软件中引入了反射与折射次数限制来提高性能。
而这个限制则是由两部分构成的:全局设置以及单个材质的设置。当你打开mental ray的quality标签,下面有个raytracing,reflection和refraction的值则分别对应会计算的反射和折射次数,而max trace depth则是这两个值相加的最大限制。比如两个值都设为10,但是max trace depth也设为10,那么折射和反射次数则不会达到20,而是不会超过10.
在高反射的场景里,一般会设置为10,10,20.
但是渲染了以后,你会发现结果没有变化,那是因为虽然你把全局设置改变了,但单个材质下面也是有限制的。
找到这个blinn球的武汉ios培训raytrace option,下面有一个reflection limit,这个也是反射次数限制。
reflectionlimit=0 reflectionlimit=1 reflectionlimit=2 reflectionlimit=3 reflectionlimit=4 reflectionlimit=5
你会发现这个数值设为几,那么反射就会进行几次。
对于折射,也是一样的道理。折射一般要9次以上。而其实blinn材质的折射次数,默认就是9次。而反射也要有3-5次左右,将场景里所有的反射折射次数都调高吧。记得当你调高这些数值的时候,渲染时间也会随之而大幅度增加。
调节了反射折射次数以后的结果,黑的地方消失了,不过反射折射还不好看。
干杯的英文首先根据开篇说的能量守恒法则1>=diffu+specular+refraction。
对于玻璃物体来说,是不存在漫反射的,有的都是镜面反射和折射。所以,先把color或者diffu关掉,调成0,或者你可以都关掉。
其次玻璃是一个遵循菲涅尔反射的高反射物体。我们把反射率和specular color调到最高。在blinn材质中对于反射的控制是reflection和specular color共同控制的,只有二者皆为boom是什么1的时候,才是全反射,任意一个值不为1,都会相应降低反射率,任意一个值为0,则反射率就是0。
然后将来自星星的你为什么这么火specular roll off调节为0或者接近0。绝大多数人理解这个值为高光强度,其实这个理解是有偏颇的。这个值真正的作用其实是控制菲涅尔效应的。当该值为1的时候,90度视角与0度视角的反射率皆为specular color与reflection的乘积(90度视角与0度视角参见菲涅尔反射;乘积的原因是这两个数值共同控制真正的折射率);当该值为0时,0度视角的
反射率为specular color与reflection的乘积,而90度视角的反射率为0。
所以,这个值可以取代sampler info与ramp节点来实现对菲涅尔的控制。(不相信的同学可以自己弄一个圆球,把这个值调到0,你会发现球体的边缘照样有反射,并且越靠近你的垂直视线,反射越低。)