有几个网友都问到了我如何解决动画闪烁的问题。 关于这一点,大家肯定都有各自的处理方法。 我的方法是用组合 GI+环境灯+穹顶灯的方案来解决这个问题的,实际效果可能有局限性,某些情况下会导致渲染速度下降,效果欠佳不够精确,但还是具有一定的实用性,也许有很多人都知道,不过分享才能进步。 ~eDI$IO
&]w#z=5SXi
相比我另一个转载老外帖子的合成技术方法,没有那样高级(合成技术可用于电影级,非常精确),此方法误差和效果也很勉强,但是简单高效。 0f1H8zV
L^lS^P
还有这里注明一下:! 我说的闪烁是光子闪烁,针对的是单张光子图渲染移动物体而出现的黑斑和闪烁。 当然,组合灯光的办法也可以有效解决光子渗透而出现的黑斑和闪烁,建筑动画经常出现,但是效果肯定没GI的好。 XJUEwX
$57\u/(
!还有,对于光子闪烁的问题,新手要知道一件事情,在有直接照明的区域,GI的影响并不大,也就是说,如果有一个人在太阳下面走,你现在用发光图来渲染,并不会有明显的闪烁或黑斑,这是因为直接照明照射到人的身上,所造成的影响远远超过GI的影响。(这里指人的受光面,背向太阳的那一面仍然由GI负责照明。) /J;;|X#P
KGu= ;
----------------- "=qv#mZ#9
这里我们首先假设一个动画场景,有一栋楼在移动(楼的结构相对复杂,具有代表性)。 K5{{:NR$
Rs2-94$!5
WHP;Neb6
我的步骤是这样的: u#FXW_-TK
1 先将楼房隐藏起来,渲染动画GI,(有的同学喜欢用增量,我比较喜欢用摄影机路径,省事),得到没有楼房的光子图。 ijFV<P
7%4.b7Q
)6=gooe]
2 把楼房显示出来。创建一个VR灯光,将类型切换为穹顶,调整好亮度(我使用的大概是3-5左右,根据场景来定),将灯光细分打高一点(默认为8,会有很多噪点,24以上较好),勾选使用纹理,在里面扔一张渐变贴图模拟天空渐变效果。用这个直接照明光来模拟GI,(对于室外场景,GI影响并没有室内那么多,互相的间接照明相对影响较小(最大的GI源来自天空),所以室外可以用穹顶光模拟GI,而室内这样做,会失真的比较严重)。 !!这里有一点注明,此灯光设置为 只照射楼房,否则它会把场景的其它东西也照亮。 3T1P$E" m
+8f>^*:u
ds]?;l"
3 测试一下,差不多比较接近常规GI的照明效果就OK了,现在你会发现,由于是直接光,楼房内部没有反弹,所以窗口里面穹顶光照射不到的位置是全黑的,这时候创建一个 VR环境灯光,调整一下,差不多不要死黑就可以了。!!这里有一点注明,此灯光设置为 只照射楼房。 iS
7/?DP wbx
E_3r[1l
4,这里选择楼房,反键,VR属性,将楼房的 "可见GI, 产生GI 接受GI ” 的勾勾都去除,反正就是让楼房不会被GI所影响。 然后载入光子图,渲染动画,就OK了。
%}h`+L
I8k
nWGR5*e:
场景越大,GI越依赖天光,此方法失真越小。 TT7PQf >
GJ `UO
> rw"Rd'
还有可能会降低速度一些,但也不完全一定。 但是你用这个方法去算非常复杂的物体,比如一大片风吹动的模型(代理)树,会变得巨慢,直接照明对于细致的东西需要提高采样参数得到正确的结构,而这样的后果便是更慢。 当然 ,如果你用发光图去算的话,由于发光图是插值计算的,这样常规GI会快很多,但是由于大片树木的细节太多,插值失真很严重,会导致结果噪点很多而且树闪也比较厉害。 这样的情况下,使用片树会好一些。 ,dcg?48
$)*xC!@6X
f=m/
-mAA
同理移动的汽车也可以,当然效果会差些,较远的情况下则看不出来区别,而且速度比GI快,因为通常汽车的材质比较复杂,对GI的影响也复杂,会导致GI计算量较大。 &z>q#'X;.
fhRjYYGI
我截了几个图例,如下: p=B?/Sqa
RZh}:
0`n
5x0R
Z`s!dV]e9