vray动画闪烁问题
辅助软件:vray
2013-12-15 20:06

 当使用GI (Global illumination)在算动画的时候,由于GI是依据快取的采样(caching samples),也因此会产生闪烁的问题.

    原因是每个frame的采样位置并不同,造成每个frame的照明会有差异.为了解决这个问题,你可以先用预先计算的采样点(pre-calculated solution)这些合并的采样点用来计算每一个frame.你可以对两个GI方法都做预先计算,通常是irradiance map与light cache .对irradiance map来说,你可以用multiframe incremental mode模式对light cache来说,你可以用fly-through mode模式. 

    irradiance map与light cache两者个结合运算对于场景中没有物件移动的动画很有效,但这种做法只适用于摄影机飞越(fly-through)的动画. 如果你对在特定位置的特定物件预先计算快取,如果物件移动新的座标,在新的位置没有物件的快取采样,你在算图的时候就会看到杂点.因此这种把多个frame合并的方法虽然很快速,跟把每个shading point都计算的brute force相比较要快了很多, brute force的效果很精确,而且不会有闪顺的问题,但是会计算很慢. 

    为了要避免闪烁, Vray SP2版提供了随着时间的irradiance maps内差计算,主要的功能是要降低使用irradiance map算GI的时候产生的闪烁问题,减少闪烁的程度是要靠interpolation frames这个参数所决定的. 使用摄影机路径(camera path)的参数 虽然随着时间对irradiance maps进行内差可以解决大部分的闪烁问题,但是摄影机本身还是会引起闪烁,这是因为摄影机会随着每个frame在移动,每个frame射出的ray会不同.到了VRay SP3版本,多了一个参数叫做camera path.这个参数会改变ray自摄影机射出的方式,它会从整个摄影机的路径射出ray,因此,你每个frame射出的ray就相同了! 动画prepass与动画渲染模式 

    这个方法分成两阶段:

    第一阶段在prepass模式下,每个frame都会计算个别的irradiance map ;

    第二阶段是用动画模式把irradiance map的效果渲染出来(你不需要再设定secondary GI因为这在第一阶段已经完成了) 动画prepass的流程Irradiance map 勾选使用camera path并将模式设定为animation prepass,按下储存指定你irradiance map储存路径,勾选auto save.

    当浏览的时候, 请确认在irradiance map存放的地方已经存有irradiance map的档案, 这点很重要.


    在Light cache选单里面,勾选use camera path,模式设定为single frame 或者,你可以预先计算light cache,这有可能可以减少一些算图时间.

    一旦prepass算完以后,你就必须要去设定irradiance maps之间混合的程度.所以在算图之前,因为这会影响到动画长度范围.

    例如,如果你把混合(blend)设为2 ,这个意思是,它会把该frame的前两个与后两个frame做混合.例如如果是对frame 5来说,它就会混合3,4,5,6,7 5这几个frame.如果是Frame 6来说,它就会混合4,5,6,7,8依此类推.

     这个混合的数值越高就越不容易闪烁但同时也会增加算图时间如果你把这个数值调太高的话结果会过于平滑细节会不见因此对第0个frame来说他前面必须还要有frame才能正确地混合否则因为frame 0混合的frame数目比其他的frame这会造成不一致性请把你的动画起始frame更改为-2这样frame 0就可以跟–2,-1,0,1,2做混合同理可证如果最后一个frame是100请增加frame到102

1、Irradiance map    

 一旦计算完了prepass,你会发现采样的讯息,这会告诉你采样已经成功地储存了.你可以到档案储存的地方看看动画范围的采样是否都存到了


    切换到动画算图模式,会跳出讯息要你选取档案,你必须要选取第一个快取档案(没有数字的那一个)读取这个档案会自动载入动画范围内所有的irradiance map. 

    在irradiance map参数里面,你会发现interp. Frames这个参数不再是显示灰色的了.这个参数会决定多少数量的frame会被模糊化,动画范围是-2到102,所以用2这个数值是正确的.如果你希望混合4个frame就把参数设为4,但切记要把动画时间延长. Interp. Samples内插采样控制了irradiance map之间内差计算的数量. 

    因为我们每个frame都会计算好几个irradiance maps (因为计算内插)所以没有必要把这个数值设定为20,这么高的数值一定会增加很多算图时间.这个数值要看你的需求,可以试着用5这个数值,测试看看满不满意.根据经验,大部分的室内动画需要的数值为10-12,是否用摄影机路径(Use camera path)不会有很大影响,所以在这里把摄影机路径勾选会不勾选都没关系

2、 Light cache

根据流程,可以有两种选项: 

    (1)如果你采用light cache算动画而且勾选了glossy rays,你就必须要把secondary GI设定为light cache,设定在single frame模式,勾选camera path 

    (2)如果你没有勾选use light cache for glossy rays那就请把secondary GI取消勾选,只用irradiance map作为primary GI engine就好,为什么可以把secondary GI关闭呢?因为secondary GI的资料已经被储存在irradiance map prepass里面了!

    把动画范围改成0-100,你再也不需要去算范围外的frame了,因为你不需要为了prepass的混合而扩充动画范围. 最后会算出没有闪烁的动画~

阅读全文 ⇣
推荐阅读

在max中创建反射光泽(二)在max中创建反射光泽(二)

如何设置能提高Vr渲染速度如何设置能提高Vr渲染速度

[第二章第二课]选择方法之图解视图选择06[第二章第二课]选择方法之图解视图选择06

max如何制作软包真皮沙发图文教程max如何制作软包真皮沙发图文教程

max多个物体怎么编组max多个物体怎么编组

[第二章第二课]选择方法之区域选择02[第二章第二课]选择方法之区域选择02

max移动变换输入在哪?如何使用?max移动变换输入在哪?如何使用?

Corona如何制作透明但不折射的对象?Corona如何制作透明但不折射的对象?

首页 分类 原创 教程 我的