|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。' e5 V1 a5 }# Y$ {) C
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
A/ L9 K- A3 q. d+ I( j ]2 d图形抗锯齿方面Image sampler (Antialiasing)
) \- W0 g- L* W- ~7 ? z0 X- s( d- D8 {" {1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
. D6 ?" ?" U( s! Q& y, U比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
5 q& W }4 T: J' g0 S2、大量粗糙表面多bump贴图,simple two-level 最快
; w, Q$ T' |8 Q5 y# t. O# J' o比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision
6 [8 |1 _& ^7 K) r0 v7 \rate0/2,threshold=0.05! ^% Z. X4 T, ^1 x
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
9 Y" x3 x% t& Z; d. | a) K如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive 8 F! X. o6 t# M5 A8 `
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。8 |% J7 ?9 f4 H6 H. M M$ \8 f( I+ N
根据不同的情况选择不同的抗锯齿这个很重要!!2 l8 H. o/ P/ x+ e% m$ W; T9 D
, P8 u$ B6 a& h' F2 e4 |# a
另外几个关键的参数:
3 }3 Y1 f: j2 \( d1 e3 athreshold这个值对速度的影响非常大。+ }9 `5 O5 J+ _
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受
8 W/ ^* p+ t2 }: y; e在adaptive QMC ,在rQMC面板的Noise 9 V Y- M* z4 ~4 a
threshold默认为0.005测试改为0.1,速度很快质量还可以。, a7 f% p l- ^$ m7 i! x+ ]/ o
如果在adaptive rQMC image sampler 里勾选Use QMC sampler : g3 Z9 \# ?. a5 T5 _* X2 |
thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
, u S; \- f3 e1 i6 C9 h如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受 z+ l- y& f0 D% x
Object outline:
2 p" L0 H3 g; |, `) p/ ], y当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object
+ K0 G5 ]$ y$ |# xoutline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量9 v+ J& h$ b. L4 _6 F5 g& M
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
& w, X( X- z @' ?: u4 w. P4 B8 hthreshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
" f. D5 l# V' d7 V与渲染速度有关的还有发光贴图里的二个参数:
& R! q8 {/ c. i/ P- x! v2 iInterpolation type插值类型和Sample lookup采样查寻
' |) I1 a2 U1 J& `/ g一般只要将Interpolation type设为Least squares fit(最小平方适配法),
4 L* Q* R9 [0 i9 \而Sample lookup设置为Precalculated 2 C1 M# F) j2 y {- E1 x
overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。( X* D# e1 N2 u: D' n
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) + E7 I L* M3 d" W
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢7 d0 I. E* x) t
关于coolmoon的帖子:! p& E# X3 q1 I2 Y, r+ J
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI& p: k5 F8 t8 ]" X
他提及的抗锯齿提速前面已经分析过了就不再总结了。# I# B" c3 o5 ]+ X& {+ n" w
关于暴牙龙的贴子:
U* w* m0 ]0 _9 U1。不要用太多的灯光反弹
# s3 [) t$ l1 I2 f* r2。不要用太高的发光贴图设置渲染大分辨率的图
* |6 v& |7 P- a6 X n3。经常保存发光贴图
V$ `5 s* ~7 c2 N9 o* m8 L4。弄个大点的内存
' B3 D& q( _, T" J. C5。抗拒齿不要太高, p, N, a" m" [- H' p% W) `
6。不要用太高的反射折射级别 + f; @& e- P- V' m
7。用透明贴图的采样不要太高 , s: L- H; E6 ] I& Y7 C/ I
8。把不重要的物体的GI采样强制降低
$ P+ t7 ?# T$ |0 i0 w9。不要用凹凸贴图和模糊一起用 t& c; o7 F4 n& }. s* W
10。不要渲染太高分辨率的图,够用就行, Z# }. j8 M8 Q' D2 L9 h5 r0 C
11。能用PS的就PS,比你用3天MAX渲染快多了" s4 t' K5 d% j5 K5 G) e. M" Y1 T
这是他的原话!!
/ g' b1 d/ T9 A* P& k下面是经验参数:
0 n& f: @" s" Q1、木地板模糊反射0.85 和3,反射次数调为1
. H7 r8 }" l0 d/ Q6 Z2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm 2 U9 ?7 d D6 Z# N
threshold=0.2,HS=50,IS=20
1 j0 {( [' J' g7 { H5 P3、用vr灯模拟天光是勾上sotre with irradiance
' S! ^/ Y. q: a; G* t. pmap速度会快点/ Q: }$ C+ a0 ?
4、算好光子图以后再加对场景影响不大的灯; {. G( H1 d, J b
5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。# J3 n! V v s' E0 \& W
场景没有打一个灯,由天光和color map 提的亮度。
5 s* P1 ^, z. u: T参数: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
9 Q1 {* }9 n7 V5 z4 W" u- q' w的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
( {) v! e% Z9 W1 k1 }上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。3 P+ c; o% ?0 {! W) b
一、Irradiance map(发光贴图)9 h/ C5 F' ]$ v" U- Y, c ~ l
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比3 u. B9 v0 G+ e9 p
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
, i) s+ G8 R# P3 B8 \8 Omax=-1,min=-10/9.9;-9/9.75s;-8/ 8 _7 }6 Q9 K- n0 L/ m/ X6 l
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s
8 ^- E) ] M. H6 omax=0,min=-10/17.3s;-9/17.3s;-8/ 8 q4 N# O, Y( D+ @% Y
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.* a1 {3 d) D2 C) R. l2 H
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。1 ?0 p$ W7 Y# H8 _
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 . _7 m- d% g' ?5 x, T
(细节不多时可以用-3),而最终出图可以用0(-1)。
, G$ Q; |/ Z& \1 rHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
) I/ o+ l8 N/ `: DInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
: X% m8 S$ K t: eClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。! Q; v( \6 ~+ ]# D$ @( k% o
Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢3 `# y9 Q& ?8 [' D0 ~
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大
- d7 _$ {) s& T4 SOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。+ ?7 |- J3 D6 E' X3 B9 O
二、Light cahe(灯光缓存)
. V; C+ e! r% r) \& z I% F灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
# U+ _/ u; g+ ^1 Z9 p* {Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
3 g, {! O3 _' H) bSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
$ @; ^8 x G7 K- H1 UPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
+ ^* B* x ^( A, `; HFilter下的Interp & q8 r, ?7 U5 q( b! ^) G! A
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 * n7 O& P- {3 H- K' C4 t8 H# s
9 q8 ^* s+ \0 W2 z0 I& z% _
|
学习学习songhua