|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。- l2 W( n7 w0 [7 P( Q' p
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:+ v* O; P) U7 k) D7 A& P1 r
图形抗锯齿方面Image sampler (Antialiasing)
+ u$ u$ q3 q8 C3 P1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
2 W/ F6 V# \5 \' I) i比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
8 T6 `( c$ h0 M' a2、大量粗糙表面多bump贴图,simple two-level 最快; |- W& [% S5 @9 U8 X3 }- m+ v
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision
# d/ K! e4 q) ~% d# Erate0/2,threshold=0.05
0 E3 T+ V/ F/ k3 l; _3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的. M4 A0 Q: Q" K2 a o
如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive g# I9 u) a6 R+ p& V( b) J7 _& I1 h
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
2 u2 o+ ^- e( {# l- B3 o根据不同的情况选择不同的抗锯齿这个很重要!!% a) g6 b0 {+ C# C, b9 W
& o# [ w0 T2 I) ?" q4 R w另外几个关键的参数:* W X0 L! D# _% n( p
threshold这个值对速度的影响非常大。+ g6 R' x5 p/ m' q
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受' o4 w+ }9 j6 \0 x% q* \5 k1 K \
在adaptive QMC ,在rQMC面板的Noise S! y+ r0 \, v% R1 G7 {% H
threshold默认为0.005测试改为0.1,速度很快质量还可以。
$ e! ^9 r+ r3 p* B如果在adaptive rQMC image sampler 里勾选Use QMC sampler
' T+ F! {* j, w* C1 }3 a% Fthresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。% d3 t5 g- U& m5 W
如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受( {. i+ ]& ~( I' N1 M' R8 W
Object outline:
% [$ U. F8 Y. {/ x当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object 0 U; K: c7 K4 b5 ?1 Q! `4 f: B
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
4 h/ }+ c4 X/ x/ CNrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
: Z" u5 Q8 {5 h& _: Z- wthreshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
9 n( W* u2 S! m* P5 q与渲染速度有关的还有发光贴图里的二个参数:! ^" W' _: u- l4 m! h" V3 U
Interpolation type插值类型和Sample lookup采样查寻: ]- K' d( a$ s; W6 p* i3 L
一般只要将Interpolation type设为Least squares fit(最小平方适配法),
2 [: U* l' |. P" n! R, P0 b4 |而Sample lookup设置为Precalculated
3 v6 e4 ~6 Y& ]5 m" T& Moverlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。! F/ B3 @$ p7 U5 I
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) ) h$ j) \% r, F6 \
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢/ ]1 @! k* f& g4 k" k" p) X' H
关于coolmoon的帖子:
% ~8 R0 E3 \' n" K p& j提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI! ~$ e* h2 Z" M& T& p
他提及的抗锯齿提速前面已经分析过了就不再总结了。
7 _% x2 g6 t: `4 {6 r7 e4 q# K关于暴牙龙的贴子:
5 q, n, a$ n S1。不要用太多的灯光反弹
- B U5 S+ H/ M% t; j( X! P2。不要用太高的发光贴图设置渲染大分辨率的图
( T7 u) d6 ?: ^5 P5 A/ ^6 L- r; [3。经常保存发光贴图 % D7 p. @2 Q0 O( ~: {' X
4。弄个大点的内存3 ~9 r, K3 v8 M* K* t- m( ]
5。抗拒齿不要太高9 o6 O1 I% |' I4 @3 r/ v
6。不要用太高的反射折射级别
" @! u" D/ `3 _, ~) b, e7。用透明贴图的采样不要太高
2 U+ d7 U; Y( n7 S8。把不重要的物体的GI采样强制降低
3 X( Z8 S2 y3 P& Q2 t0 a0 W9。不要用凹凸贴图和模糊一起用
$ v% _( T% m: |& T$ j# n4 ]' C' e3 K10。不要渲染太高分辨率的图,够用就行
7 X( j% r7 T- M0 @" S+ j* S11。能用PS的就PS,比你用3天MAX渲染快多了6 N9 u5 T- {7 \1 q% F
这是他的原话!!
! ]- q) b( K" A1 }6 H) x下面是经验参数:
6 }. ^ k) | d0 @2 ?1、木地板模糊反射0.85 和3,反射次数调为1
# W8 r9 ~7 [9 T! C* e6 F6 r W3 i2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm 2 |! L+ n, y `- {
threshold=0.2,HS=50,IS=203 p8 ^- | d- {+ ]% `" P
3、用vr灯模拟天光是勾上sotre with irradiance 3 o0 D& ]6 `' [9 f( G
map速度会快点! j! X' c* V* M& G7 w
4、算好光子图以后再加对场景影响不大的灯
5 G1 ^) J6 e0 a5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
9 Y9 r& _; I$ y5 H+ p; |$ n; n场景没有打一个灯,由天光和color map 提的亮度。
& f# c- l6 h$ B, `参数: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 " G9 z! J8 `. Q2 a7 Q" n
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
7 J0 Y% p; V" j. J# _' l上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。, f% x/ Z* X% o. @
一、Irradiance map(发光贴图)% f4 c; i, L' Z2 G
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比& t% D/ x, p, k8 I) h
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
9 t" G4 ^( b0 xmax=-1,min=-10/9.9;-9/9.75s;-8/
7 a b) G, l( {% Y3 Y1 l L# h9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s! [; [" z; }/ z0 `2 V) h$ A' K
max=0,min=-10/17.3s;-9/17.3s;-8/ 3 ^8 M8 t1 x" O
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s., h/ L/ S. m8 }& d" o
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
/ C: C5 g# P8 S" n) x% ?min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 + x" k( d5 {: K+ {: m, `) }
(细节不多时可以用-3),而最终出图可以用0(-1)。
W0 Q0 u. P- a4 `# w/ wHSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
$ }1 U& Z/ `; J; W0 G# c: cInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
) l- i& ]/ {+ v, k- D# n0 ?Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
, e( O+ ~7 R7 r, x2 x3 T# `Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢5 J' r7 H( a0 F% B% a$ \5 ^
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大0 r9 P. d% |* ^: V1 g$ P7 C; I
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
% Z7 V( `) w. m& |二、Light cahe(灯光缓存)
2 u7 P" ?+ |' ]* P: R1 R灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。4 @ S. e( W l( Z- ?4 [( r) j
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
$ B) F0 j6 {- t" N$ a' w* jSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
' Q3 s& V. ?; ]Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
2 E0 F9 F. I4 ^# p9 EFilter下的Interp
2 ^3 \* {# I/ B( C' n( R% V2 esamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒
5 p) F7 \4 p4 ~: k: G2 h/ A& U9 |3 Y( X+ `& F1 \* _% G
|
学习学习songhua