VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。
; K) K4 A+ d; w6 u0 F; u最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:; a) V4 z k6 h2 O5 {
图形抗锯齿方面Image sampler (Antialiasing). h4 c9 r( o* M; j! G
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快) v7 g8 A7 ]3 Z
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
! G( S- d j8 L, t2、大量粗糙表面多bump贴图,simple two-level 最快
G; [. s/ Q! m8 \4 ?8 @比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision 6 c6 o9 {" g, N& Y+ P
rate0/2,threshold=0.054 x: b+ A9 `; S* V
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的. ~3 a+ Z0 l' I3 z5 h
如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive
& S" J& h0 I. B; dQMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
( N6 Q6 M4 `6 q- ~. r* z. I) Y$ m) Q# L根据不同的情况选择不同的抗锯齿这个很重要!!
$ P, Q' i5 T9 m0 s* P2 ^" t) I
6 q6 `2 F9 r- ]( C另外几个关键的参数:7 l1 x+ f! v! p% y' M
threshold这个值对速度的影响非常大。% P: m% g% ?% |. m
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受2 R% {& N' G* o2 v# d2 W& b$ g( K0 C
在adaptive QMC ,在rQMC面板的Noise ! |6 A: ^/ |& N, [! b% H( S
threshold默认为0.005测试改为0.1,速度很快质量还可以。5 F* G; A4 y9 e- F1 V N( b# W
如果在adaptive rQMC image sampler 里勾选Use QMC sampler
$ R/ Y% n( w2 q) q1 [thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
2 q. ]! o. l3 L8 e8 T$ X5 f) J" g如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
7 T2 O% G# v* J% j( [8 ?8 |Object outline:4 G4 ]& Z5 n* \* h( N, b" _0 P
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object 0 i$ F1 k* }- f* w3 W) f. C0 v
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
/ r: e4 V' F9 R7 e4 ~- ]Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
0 J7 \) m: m% y. z. T8 Rthreshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。' p4 |8 [/ m1 }$ j
与渲染速度有关的还有发光贴图里的二个参数:( V" s/ q+ {# y6 B; j
Interpolation type插值类型和Sample lookup采样查寻& W9 L1 Q* o( h: S$ s7 l3 ]
一般只要将Interpolation type设为Least squares fit(最小平方适配法),
0 @1 c+ E" ~) C) N而Sample lookup设置为Precalculated % q8 O- _. ? }) p! l( `0 \3 Y" V
overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。5 p5 o" E! [. R* E' `) x1 v+ s
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) 3 o% t/ j9 ^- ]: E& u1 }
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
$ k# P. i" X* i# F; \关于coolmoon的帖子:$ P8 l: \6 z h. G/ O( g
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI
" z' N O% e3 d E) J2 n U他提及的抗锯齿提速前面已经分析过了就不再总结了。2 M2 ~& r% K' K( ]! \2 n! k
关于暴牙龙的贴子:6 s" M# [& W& q7 D" `# Q+ ]# _
1。不要用太多的灯光反弹 1 b( `& u: H8 e; g* E
2。不要用太高的发光贴图设置渲染大分辨率的图
. y4 n0 l! P0 A _0 |3。经常保存发光贴图
' d* |/ u# n- ~" z" t4。弄个大点的内存( l6 @4 E9 n5 k& Q2 f5 r5 O
5。抗拒齿不要太高
7 _( L R0 K6 h; G" F5 Z# `6。不要用太高的反射折射级别
' F: H: B9 G, `7。用透明贴图的采样不要太高
! M5 K( G0 ]! |( L8。把不重要的物体的GI采样强制降低
9 [: P5 T+ }* B0 \; o! H+ Q3 W9。不要用凹凸贴图和模糊一起用 8 k# a& q7 P0 o% o5 T1 _: q" B
10。不要渲染太高分辨率的图,够用就行
: Q( T+ ~ ], Y8 ^2 t11。能用PS的就PS,比你用3天MAX渲染快多了9 k, J9 n% C9 B
这是他的原话!!
( e0 j2 y- c* i+ g8 l5 O- d下面是经验参数:* u/ U: [# D1 V% h
1、木地板模糊反射0.85 和3,反射次数调为1
" [3 Z, P1 y# T& _6 O! s: k2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm
' B: \3 K z3 M$ J; h. Jthreshold=0.2,HS=50,IS=20
# L* r6 D9 {. h! s3、用vr灯模拟天光是勾上sotre with irradiance ( K" f. h7 S; @' r
map速度会快点
- R) g W& f& @; T4、算好光子图以后再加对场景影响不大的灯1 `" S% g. m& u, H# X V
5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
) `9 z( k }/ c2 ^' z场景没有打一个灯,由天光和color map 提的亮度。
' j+ k' d* t: P/ \& Y! b0 b% e* G参数: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
- a/ y( ^6 J% V% k; s& {的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
3 x5 ~7 j& M& f. a3 D9 H- K& N上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。
+ C/ s( F! u9 I* L一、Irradiance map(发光贴图)
7 e- B# g& \; A4 W/ G+ L8 n大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
& e. E! N$ J8 V# {* @, [8 i& `渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。1 B! n# l5 a7 o% F, T
max=-1,min=-10/9.9;-9/9.75s;-8/ 8 W( c0 o4 Y1 P1 k1 y/ _% h
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s
7 a0 `: K" L; wmax=0,min=-10/17.3s;-9/17.3s;-8/
: Z) P5 P2 k b; i8 Z17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.
8 O; y0 C0 z7 Z: C& b) z. J% V% S虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。2 L1 {# p( O4 O! }& j4 x' G
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4
% X( D+ L% i4 P8 {# f) _(细节不多时可以用-3),而最终出图可以用0(-1)。
* f. u; M" i% |HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80/ e. j7 Y! U/ A. z6 @
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。- X+ D& P% o) F3 }+ _9 o) {; c* ~
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
/ V0 N0 l5 b2 u' C: Y5 m( zNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
/ i% }% f0 s* o6 vDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大
6 `, z4 D9 P7 G3 zOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
, n* ?% s! e2 C: n3 _7 s, b8 R二、Light cahe(灯光缓存)% O" t1 O7 d& p7 _: {- D, f
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。9 K* _1 c- k# J2 K- O
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
9 f) M/ `) \& nSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。; x" q3 g; P9 B2 E4 q7 r
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
3 C; J' @% M( }( j2 ~ K# h- P; @Filter下的Interp 8 m. R. F4 [; S' a* W
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒
2 g! z+ @, w$ r5 M. h2 v% b4 F/ I* S9 }* m4 L5 l0 N8 j
|
学习学习songhua