|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。+ Q6 K* R/ D! `6 |/ P
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
4 b+ U( U% R& Y图形抗锯齿方面Image sampler (Antialiasing)
{1 V$ ?, y- o! d5 f1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
5 z# N4 Z W( y4 l0 }# W6 y$ e比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
& Y$ p" H, Y' r2 K2、大量粗糙表面多bump贴图,simple two-level 最快
' |, ]0 R# Y. f/ k比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision ) H5 s- m, M% y" F; o
rate0/2,threshold=0.05
7 a$ f2 H# F0 B8 M5 [1 x2 I3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的6 [3 m# V3 c9 ~- _: R" l& L* Y+ t; p
如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive . n" o6 u7 V; u. p
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。" R) G& Z% j1 c5 ^3 I
根据不同的情况选择不同的抗锯齿这个很重要!!
9 F* K7 ^! E+ N5 E- m0 _+ o
" I B5 s. |2 `: y- _6 J, ]另外几个关键的参数:$ m$ q2 O c( z& X
threshold这个值对速度的影响非常大。
! K; T( s% k7 z. P在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受
! g1 l7 Q7 r! I# t( E- O9 U$ v在adaptive QMC ,在rQMC面板的Noise
. v( S' U4 j; }9 w/ m* S5 d( kthreshold默认为0.005测试改为0.1,速度很快质量还可以。 O `2 U& I, q, z$ \8 ? A" X
如果在adaptive rQMC image sampler 里勾选Use QMC sampler 1 `3 `- N; R* a2 ^. L
thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
) S& w# _+ v8 Y8 d+ p& r& `如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受# Y9 F: w; _' O" e
Object outline:
6 F$ S$ W8 t4 y" m- @, p; N当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object
( t5 |; N$ f }0 p; z2 noutline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
3 D2 E5 J5 U. A, U& L8 INrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
: A, m( B5 C6 m. @7 w* a$ Ythreshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。% @: R( i9 |) M6 m( @& b: u6 |
与渲染速度有关的还有发光贴图里的二个参数:' e2 o X* y) O6 R6 Y e3 Z4 i
Interpolation type插值类型和Sample lookup采样查寻7 ?1 Z$ u# B* x0 t1 Q
一般只要将Interpolation type设为Least squares fit(最小平方适配法),7 ]0 q2 f5 Y' U
而Sample lookup设置为Precalculated
; Q6 v1 ^+ Z3 |" W% }overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。7 W$ Z" Y# c# W5 c( T
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) : Y5 l( m! E5 f" C1 l( A4 `$ w
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
( u3 R, d1 x7 X2 U% a* R关于coolmoon的帖子:/ o5 O1 h4 O; `/ ]4 _+ Y' ?3 ^
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI5 L4 A# x/ Q8 ^' d7 r5 P7 ?5 }
他提及的抗锯齿提速前面已经分析过了就不再总结了。 Y' k* l/ m9 r- z
关于暴牙龙的贴子:
j! x+ ]4 |3 s" l, a' P' [1。不要用太多的灯光反弹 . Q; k+ o# ^' q# T. Z4 P
2。不要用太高的发光贴图设置渲染大分辨率的图 " R" a5 @1 M; l% Y; w$ Q* |3 U
3。经常保存发光贴图
5 Y" E" U- p: O1 a4。弄个大点的内存9 V8 t6 B( Y1 i$ M+ W
5。抗拒齿不要太高
3 ^( @' p7 U9 K& U9 ?/ R6。不要用太高的反射折射级别 $ W0 L! W# J) N* C+ {
7。用透明贴图的采样不要太高 . \+ v$ u/ i) Q- |. n
8。把不重要的物体的GI采样强制降低
l% l* }% M, [" M, U9。不要用凹凸贴图和模糊一起用 9 w& h, e! v" C
10。不要渲染太高分辨率的图,够用就行
& L% h; @! t: S4 Q+ y. K- l- R3 J11。能用PS的就PS,比你用3天MAX渲染快多了
1 ^9 L* f, A, e% W/ K# L这是他的原话!!
: F2 r" m6 Q# l9 n下面是经验参数:
6 P% b: Y' T" m- v3 v6 d1 C1、木地板模糊反射0.85 和3,反射次数调为1
, ?) G9 W; P, }" K8 q2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm $ r& w4 d& [3 i* m! e3 Q5 o. u
threshold=0.2,HS=50,IS=20. \% e0 i4 u, @
3、用vr灯模拟天光是勾上sotre with irradiance / S) T" h* `3 B( q
map速度会快点
7 Z7 V& K" \* L, C4、算好光子图以后再加对场景影响不大的灯: k M! f F) i1 B: j" ^- ]
5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
8 r. @2 L: w, R3 ?3 u场景没有打一个灯,由天光和color map 提的亮度。
$ I9 V. B6 ?- b. Y参数:AA(Fixed=3);IM(rate=-3/0,Ct=0.2,Nt=0.2,DT=0.3,Hs=50,Is=20) 提高VR渲染速度的关键(二) 在上一篇文章中结合论坛里的暴牙龙、coolmoon、henry0421他们的帖子分析了一下提高vr速度的一些经验和参数,这次我们对照Aparkey
: O7 ?( L7 ^ a5 G' D的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。( h; i) i6 s" I7 A
上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。1 e, s% \% \, `
一、Irradiance map(发光贴图)
- A; @$ C2 x: `" q: I6 G大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比% f- _' W$ F) x7 E. ]
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
3 u0 ?- ^$ @0 y- Y3 T( nmax=-1,min=-10/9.9;-9/9.75s;-8/
/ l P8 \5 _& b. W( A9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s8 a$ n1 }1 W; s% W+ B* u/ Q
max=0,min=-10/17.3s;-9/17.3s;-8/
+ P; i( {1 G, M( C* g- d17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.- K, q, H( }- G4 j
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
2 ?0 v4 J: I6 N5 ?* j: nmin值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 4 h2 b4 J. {" K' Q5 j5 D3 m- W2 t
(细节不多时可以用-3),而最终出图可以用0(-1)。
1 z: [* y9 M9 O7 b$ BHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
. o8 G# D! [0 Y9 G$ u! _ `# R9 {Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
+ I0 |6 M6 N: PClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
9 M: U& W% w! w* n& [) cNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢! ?: `6 ~8 c/ l+ ^: Y. ~$ @
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大' J3 w6 b7 q3 s5 x/ u
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
) J7 e- [% T2 ]1 @ \5 r二、Light cahe(灯光缓存)- }0 C% x* L) `+ U- u
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
6 `7 u, g! u6 [+ ]. sSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。 X0 ~* [3 d6 F$ S& }
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。+ L, R$ k( L/ U6 |& k0 ^- h
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
/ T' H0 @$ n0 ~. c1 w, fFilter下的Interp
4 y D* w+ G6 K1 [7 gsamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 2 z6 }; W1 `8 t7 |- W w
# o9 i7 P8 p/ E( T: v. a3 E( |
|
学习学习songhua