VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。
* n' j0 S+ I$ s. n) ? |" j最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
5 ~9 G! {+ D. a/ L! A: S/ j图形抗锯齿方面Image sampler (Antialiasing)" M v; J9 `$ W4 b' Z
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
# _; b9 \( ?& n; S- G+ o比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2 W2 v9 w* E |
2、大量粗糙表面多bump贴图,simple two-level 最快
) E0 \, Y. G: U' B$ X* _. p; Z比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision
, C, f* f6 x2 t7 nrate0/2,threshold=0.05
; f# c( K2 M- A- F. b+ Y' {6 e3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
( F C5 g" Z0 e( w- \0 P! W5 j( l如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive T3 q. o) T2 ~4 r
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。# M5 W7 q+ W3 y+ _
根据不同的情况选择不同的抗锯齿这个很重要!!
3 b, C8 \3 N0 w 7 U$ a! w( H" Y$ B( T4 Z, ?0 D
另外几个关键的参数:
. E* D+ J/ M/ rthreshold这个值对速度的影响非常大。( ^: f. |, d% P+ ]( v* ?9 g- L" L' }
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受8 D+ k l! Z* ~1 i
在adaptive QMC ,在rQMC面板的Noise : p9 t: c0 J+ l& x5 L2 ^
threshold默认为0.005测试改为0.1,速度很快质量还可以。
, d+ J, c6 v# _% W: I如果在adaptive rQMC image sampler 里勾选Use QMC sampler
g% j: x: D7 E9 ^7 z2 t' \. t0 Wthresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。; z' j5 T$ g2 v+ o
如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
5 g9 I: p! Y4 U# h; \1 A# d! uObject outline:
1 M2 M1 I; ^" b6 d当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object + v/ w, y6 b* \# d2 C; P+ A
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量& m- ^0 k# F! R6 g% ~$ u
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr & Q" G5 U7 |" b# L! u
threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
1 e, @8 }( v0 k( N3 H; `' R与渲染速度有关的还有发光贴图里的二个参数:
6 r6 t0 S2 [2 H0 fInterpolation type插值类型和Sample lookup采样查寻% M% t+ @8 V# J
一般只要将Interpolation type设为Least squares fit(最小平方适配法),
, u% g8 A6 q9 c2 W- O% T( u而Sample lookup设置为Precalculated - S/ _& x, t0 ~2 @
overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。$ c$ Z; q$ ]3 T. @. D
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) ( R: g, h; I5 |
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
2 ?: x$ q! {1 V* K8 H7 z/ o关于coolmoon的帖子:! k, e1 n& x3 D' {) e5 p5 b9 I
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI+ v i* K; S4 m( L
他提及的抗锯齿提速前面已经分析过了就不再总结了。
# f7 C3 N& ~9 U x2 h3 x; r6 Y关于暴牙龙的贴子:3 \2 q6 d4 Z0 X# [4 M
1。不要用太多的灯光反弹 7 | T B2 a9 X" l
2。不要用太高的发光贴图设置渲染大分辨率的图 * x6 S [# _9 W R- @
3。经常保存发光贴图
+ Z* R& R |, A4。弄个大点的内存
6 \4 x4 X9 e) o5。抗拒齿不要太高
% o! t6 C( h% }) c. M6。不要用太高的反射折射级别 " ?3 L7 F! K+ ?$ Y6 H% z3 u
7。用透明贴图的采样不要太高 / `8 e7 @- k0 k5 Z0 t& T; ?
8。把不重要的物体的GI采样强制降低
5 @3 H8 R4 h3 K9。不要用凹凸贴图和模糊一起用
" X/ |8 r8 \) Q) g9 W8 m+ h9 w. B10。不要渲染太高分辨率的图,够用就行
4 [, v9 T9 F$ y. X& ~11。能用PS的就PS,比你用3天MAX渲染快多了
4 ?- i" x$ ^# F) E这是他的原话!!8 I+ _" F' N, z
下面是经验参数:" u$ P/ ~* V4 x+ J! t, r) c' v" A
1、木地板模糊反射0.85 和3,反射次数调为1$ t9 w, T% {+ C- z# v* R. n
2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm + n* ^/ K: f; f' z3 y& K- Z; X
threshold=0.2,HS=50,IS=20, G3 A% e5 ]) a6 x: `
3、用vr灯模拟天光是勾上sotre with irradiance
' t$ I/ I9 j7 v+ t4 J# a8 Mmap速度会快点
8 C( s; [- B" X3 U4、算好光子图以后再加对场景影响不大的灯
6 ?" o) I1 R' T$ d+ E4 y( Z5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。7 a2 R2 A1 Q% t
场景没有打一个灯,由天光和color map 提的亮度。
$ r; k, Q- ?* x5 y. s参数: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 " l! j( I5 \3 u0 C! V$ i( n
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
; _ v9 S, D% a. z! e上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。0 v' z, @ {- d2 i p( f* L8 E. S
一、Irradiance map(发光贴图)
7 H# \. {& j# w x! [; k4 J2 k( Z6 t大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
% z9 w: X9 ~' J1 q1 k1 [, s; w渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
" f+ v5 ?" l* x$ B8 [* w; Ymax=-1,min=-10/9.9;-9/9.75s;-8/ % |, [8 g3 W+ L8 ~3 z4 M2 ~- ?5 `& o
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s. S7 U( c! i2 Y; H `7 V. _3 @" B
max=0,min=-10/17.3s;-9/17.3s;-8/
2 A8 {( @0 I1 x. u& S [! V, Z17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.
% B* t" B6 P, P& d$ W虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
, c% O* Y ^5 {% W# _min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 " g9 e& H4 b t$ K9 Z5 @! `
(细节不多时可以用-3),而最终出图可以用0(-1)。. C4 Z0 e$ s6 y" h3 p
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过808 k; W! @. |! H s9 M( B' H
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
3 M$ N2 P S5 @9 O5 l# SClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。" C" O) Z. P+ k P- _
Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
/ x& `+ R! a& r8 b+ ~Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大( g; `6 m5 L4 X4 N
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
i0 @1 x5 E z( T) n0 U二、Light cahe(灯光缓存). I" `6 w! d+ t; c5 e) R
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
* P& A2 J- t3 f! SSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
+ W; A/ C/ {5 q& N1 K5 B2 t0 rSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。) D& C+ k$ {" N) _7 R5 O
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15" @& P. Y& W. B5 D A" i6 f
Filter下的Interp
/ w5 P5 y4 F: n7 x: {samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 6 x. r* F3 R8 ^$ p: s
% E- S- w# d7 C$ t' J7 { |
学习学习songhua