最近经过我杂七杂八的的一通研究,发现Arnold渲染器在处理没有透明通道的模型的时候,渲染速度是我所见过所有渲染器中最快的,当然我是说基于全局照明方面的,优势很明显,公司项目上也在用,处理起来面数超大的场景很牛叉。当然,我是做特效的,对这方面了解还不是太深入,下面我们转入正题。
话说,这么牛逼的渲染器,动夷几亿面渲染起来毫不费力(对比mr来说,在内存处理上是很有优势的,由于不需要对灯光 irradiance缓存或者处理photon map,让AR这个渲染器能节省掉一半以上的内存,用来线性处理更大的场景,MR在这方面显然是不行的,这就是为什么有些人用mr渲染大的场景往往会停掉的原因,内存溢出了肯定渲染不了),但是透明贴图的全局照明是Arnold的致命短板,渲染带大量透明贴图的物体,如树叶、花朵、羽毛等等非常吃力,下面这幅图渲染时间为92分钟。
参数见下面的白字,大小为640*360够小了吧,呵呵,不过整体效果还是可以的。
下面就说说Arnold怎么处理透明贴图以及需要注意的贴图文件格式,这个图片用的是tif的贴图,由于是从Maya的paint effects里转换成的树木,所以默认的贴图格式rgb格式的贴图arnold是不认的,虽然视图上能显示,但是无法渲染,这个问题纠结了我一个下午才发现是贴图格式不正确,大家可以试试TX的文件格式,或者将通道分开存成jpg的都行,要节省资源最好用别的软件转成TX的吧。
透明贴图的alpha链接:
然后,还有很重要的一点,就是勾选物体shape节点的Arnold选项卡:
这里勾掉,才能正确显示贴图
灯光雾的效果:
在这个效果里你可以看出一些BUG不过,庆幸的是alpha是完好的,在一些有物体遮挡的地方也是完好的,但是还有些暇琵,仔细看可以看到树叶边缘有不正常的白边,给Arnold官方致信回复说正在修改已经反馈到开发中心了,希望能修复它,在新的版本里,再有就是灯光雾貌似不会太大的增加场景的渲染时间,这点还有待论证,毕竟这是Bata版。
有人刚学Arnold不知道怎么开启灯光雾,毕竟不是帮助人人都英语过6级或者8级吧,在这里给那些和我一样找了好久资料的人介绍一下,共勉!
灯光雾有三点需要注意帮助上也写得很详细,灯光雾是有个节点的,默认情况下这个节点是隐藏在outline里的。
点这里勾掉显示所有节点,找到:defaultVolumeScattering节点,就是它了:
这个是参数面板,下面主要说说他的用处:
density:灯光雾的密度,这个参数很重要,默认为0,这就是很多人为啥一直渲染不出来灯光雾的原因,稍稍调一下,这个值很敏感,配合灯光的exposure和intensity这两个参数用的灯光的强弱对它是有影响的。
attenuation和eccentricty这两个参数不多说自己看帮助图片,很明了:
samples:这个参数是控制灯光雾的质量的,注意别打太高,4就很不错了。
然后让我们看看灯光节点吧,这个有点小复杂,参数太多了,还是捡常用的说:
intensity:强度
exposure:展开长度
这两个参数帮助也很清楚:
Affect Volumetrics:这个参数就是开启灯光雾的一个地方。
cast volumetric shadows:这个参数是否开启灯光雾的阴影。
bounce factor和bounces这两参数帮助也很清楚,看了就明白了。
最后说说真正在渲染设置里开启灯光雾的地方,以上两点都搞明白了,现在选上:
所以说,要开启灯光雾,这三个地方一个不能少:
1、渲染设置里Envirinment标签里选择volume scattering;
2、找到defaultVolumeScattering节点调节参数;
3、打开需要发射灯光雾的灯光,确保勾选两个参数:Affect Volumetrics:这个参数就是开启灯光雾的一个地方;cast volumetric shadows:这个参数是否开启灯光雾的阴影。
好了,今天就到这里了,有空再发点材质上面的教程以及毛发渲染,和粒子渲染等方面的。
补充
Arnold与其他渲染器不同,它默认光线跟踪次数为10,这样在渲染一些没有大面积透明贴图的场景上表现不明显,毕竟透明贴图计算阴影和全局照明的时候是有光线穿透这一说的,如果默认设置的话是很慢的,难怪我以为透明贴图是这块的短板。毕竟场景上有大面积的草地,在关了透明贴图的情况下,渲染时间是2分钟以内,开了就92分钟了,这两点明显的差异导致很多人(我有认识的几个人也这么认为很慢)觉得最大的疑点就在透明贴图上了!不过,跟MR比处理透明贴图全局照明时间上略逊一点,毕竟MR的光线跟踪能力很强),这点期望别太高就是了,但是有点也是显而易见的!
下面我们来看看具体哪个参数让我们这么纠结:
total:计算总次数!默认是10次,太高了,数以万记的树叶透明贴图,开到10太吓人了,下面的那个参数,也非常重要:下面再用一幅图来看看: