于是要用一个方法来纠正不同视角的折射能量,也就是透明度。这里使用samplerinfo加ramp的经典方法。
如图,将samplerinfo的facingRatio插入ramp的vCoord。设置ramp一端为白一端为黑。将这个ramp插入一个lambert给杯子渲染一下,你就知道这一套节点起什么作用了。
可以看出来,杯子的边缘,也就是接近0度视角的地方,是黑的;接近中心,也就是接近90度视角的地方,是白的。
这套节点,可以控制不同视角的地方获得不同的值。
而现在的反射值是在0度视角也就是边缘的地方比较强,而90度视角,也就是中间地方很弱。为了满足能量守恒,得插入一个相反的结果到transparency通道中去,也就是让越靠近边缘的地方,透明度越低,而越靠近中心的地方,透明度越高。
刚才做的这套节点刚好合适,插入到之前blinn材质的transparency通道中去。
得到的结果,感觉太黑了点,这个时候可以控制一下ramp上的颜色来调节到可以接受的结果。有人可能会说,如果这个时候调ramp上的黑白颜色,那么不是打破了能量守恒了吗?其实你用blinn材质做玻璃,根本无法精确控制能量守恒,可能你能让标准的90度视角与0度视角获得正确的结果,但中间过渡的环节你并不知道过渡到底该是线性的还是曲线的还是咋样的。其实菲涅尔现象的数值变化本身就很复杂,即不是线性,也不符合单一曲线,最精确的控制方法是输入折射率来控制菲涅尔,前文已经提到菲涅尔现象最主要是受到折射率的控制,这是一种物理属性。而在maya自带的简单blinn模型中,是无法实现用折射率精确控制菲涅尔现象的,更精确的方法将在后文提到。
顺便说一下,maya的blinn材质给人的感觉挺奇怪,尤其是反射是有specularcolor与refectivity两个数值共同控制,我觉得这些特性早就应该淘汰了。而新版本的maya从来不更新这些过时的东西,导致maya这个软件已经显得有点尾大不掉,并且学习起来会相对困难。
回到做玻璃上来,原因我已经说明白了,所以这里,我们不得不做一次所谓的艺术家,让结果看起来“正确”。
你可能注意到,这个结果的杯底特别的黑。这是因为我采用的照明方式是IBL,主要靠的是FG的光子。而FG的光子也是有反射和折射次数的。
如图打开fg的反射折射次数限制,调高一点点。使光子可以穿透杯壁照亮杯底的地面。
得到的结果。
最后,增加了地面纹理,加强了Hdr的强度,加强照明,细微调节了材质属性。
纯blinn材质的玻璃。
也可以在插入transparency的ramp上面添加一些颜色来制作有玻璃,但你不要太期待结果。
还可以给玻璃增加一点折射模糊,让cg味少一点。
折射模糊在材质的mentalray标签下,MiRefractionBlur就是了,limit是折射模糊的次数,rays是精度。
调高blur,毛玻璃。
当然这个属性会让渲染速度大大减缓,慎重使用。
还可以在bump里连入贴图,让玻璃看起来不那么规则。
Mentalray的建筑材质有很多优势,相对于blinn来说有一个巨大的优化就是——内置能量守恒。
这是一条强硬的规则让你无法打破它,即使你的设置是有问题的,但得到的结果其实和你的设置是不同的,而是强制得到一个正确的结果。
当你给材质一个颜色,然后不断调节他的反射率你就明白了。
Mia材质的设置。主要是让0度视角与90度视角的反射率都为1,即不产生菲涅尔反射,默认mia是有菲涅尔反射的。
之后给一个纯红的颜色。并且把反射率给为0。之后的图都是在不改变diffuse的前提下,只调节反射率的值得到的
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-48247-3.html
一是少数民族封建统治
国际法并没有规定人工岛具有12海里的领海
台湾人应该明白了