|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。+ s/ N$ ?: k* E6 K: P
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:6 O; u7 G. q3 G# y+ @/ {
图形抗锯齿方面Image sampler (Antialiasing)
# D8 m+ \! q8 n+ u0 R, E$ y' Z8 z1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快: j' I) @8 z+ b3 A- r3 ~( b) y
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
$ \( a' q( e0 T- v2、大量粗糙表面多bump贴图,simple two-level 最快# ^& q+ s& }5 v4 P
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision
/ f4 X7 c7 q" I8 Rrate0/2,threshold=0.05; X6 y6 u, i' Y, b( N) K! |
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
% W0 j+ `( X& H; {, u# \' z如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive
# r2 D, j, L, ?+ ` _+ zQMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
. p$ K6 l* h$ F! B' [根据不同的情况选择不同的抗锯齿这个很重要!!
# i. p; D Y: a7 W3 H- t5 y + ^/ m- A$ E* C+ f4 H4 a
另外几个关键的参数:
. l0 N: F) j9 q( V `, W, xthreshold这个值对速度的影响非常大。
/ [" s; W) d) W' @2 d# ?- }在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受# y+ F1 r* z5 _" V
在adaptive QMC ,在rQMC面板的Noise
' G7 `/ D6 a5 a$ N" Lthreshold默认为0.005测试改为0.1,速度很快质量还可以。
7 Y0 A. D, u0 B1 Z, \: S! m如果在adaptive rQMC image sampler 里勾选Use QMC sampler
; ]8 v# N4 c& c- [9 @, \thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
% d% [) n( {' C+ B+ b! y如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
9 @' D! A F+ a! P N) d$ i$ I) gObject outline:/ h) h2 g% `8 k2 I7 I2 g
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object - `, r. q6 Z. s5 z& C
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量! M1 T6 R# K/ j4 i7 \- M, T, j
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr
$ E. B# d, B+ d" d$ L7 j2 \threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
: F; n- m3 I- [, k4 }6 M$ G1 w8 x与渲染速度有关的还有发光贴图里的二个参数:4 F, P g% J/ n7 j/ u' w
Interpolation type插值类型和Sample lookup采样查寻 r: m1 y3 d$ s: V2 [7 J
一般只要将Interpolation type设为Least squares fit(最小平方适配法),% E4 X) U* y3 x6 ~. |
而Sample lookup设置为Precalculated
' i- n$ p- J4 Woverlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。/ N3 y+ B" A) M: z' d: a
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)
% z+ V4 {! G {3 I2 N& T% OCheck sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢
% {& M0 ?, x& h0 Q关于coolmoon的帖子:/ k8 D: J4 w; J8 V- Y1 k
提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI
" ]" p, G3 ], E" F- L! K0 c. I. ]他提及的抗锯齿提速前面已经分析过了就不再总结了。
( b2 ^2 q$ T J7 X4 L关于暴牙龙的贴子:9 v) P) f n9 f* t3 a" R
1。不要用太多的灯光反弹 ) @5 d& B7 a; z( C% [, m5 L# ]
2。不要用太高的发光贴图设置渲染大分辨率的图
: u4 f/ z% l& t1 S3。经常保存发光贴图
1 y% T* s- I6 P; q2 [3 \4。弄个大点的内存, X7 O1 U; n+ W1 q( T! V d% I8 X# e
5。抗拒齿不要太高
, M6 _$ B6 `4 ]# v: w5 Y2 d8 s" r6。不要用太高的反射折射级别
$ l0 ]6 i; R6 Z# }7。用透明贴图的采样不要太高 , a3 ^8 h' e; @5 f" S
8。把不重要的物体的GI采样强制降低 ! `* M/ ~, o6 |2 T
9。不要用凹凸贴图和模糊一起用
) d8 e2 P$ i/ X' T! e& |10。不要渲染太高分辨率的图,够用就行* {% S) o& M( d _3 M$ _9 g( }
11。能用PS的就PS,比你用3天MAX渲染快多了
& H5 ]* G! E$ E# g& t这是他的原话!!
* g& |, r3 g- Y! D( Z下面是经验参数:
' S$ L& \+ R; c% a1 _3 t/ B1、木地板模糊反射0.85 和3,反射次数调为1# E& o/ e. F2 H# k2 \
2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm
/ X6 x+ K- ~" f: Gthreshold=0.2,HS=50,IS=20
/ x3 |- i; r" _8 k) n5 U3、用vr灯模拟天光是勾上sotre with irradiance
' T1 F3 G+ v+ umap速度会快点8 j# `" j! P5 g( ^
4、算好光子图以后再加对场景影响不大的灯
~0 L/ I- [1 u* H0 D2 K e5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
3 t! i# ^, Y: U7 N; C) z. A场景没有打一个灯,由天光和color map 提的亮度。7 ~4 D! z5 t5 T9 v- ^
参数: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
" C" w. w& g+ R' V# b的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。; P. f8 K& F2 F2 D' b' N7 H- ^
上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。, P n# Y) D* [& s" k
一、Irradiance map(发光贴图)( p; |$ w9 `0 R U/ n+ I
大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比, j- n, d9 t& V" v- q" G. V( y
渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。
! u9 c. l; ?6 rmax=-1,min=-10/9.9;-9/9.75s;-8/
# a' i$ r/ R& v9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s
; Z! P( ]2 b) l5 o7 k$ ymax=0,min=-10/17.3s;-9/17.3s;-8/
+ @5 z8 n; ~9 ^' `# h4 L5 z/ z17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.5 y6 L: p5 a/ e$ |9 m
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。& r/ L5 N8 |: R7 ?
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 1 T( x& {% l8 Z. u+ p. d( A0 O
(细节不多时可以用-3),而最终出图可以用0(-1)。! S8 c! v! m9 c3 `3 o
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
! b) [4 V' U$ n/ `. a* lInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
% Q [7 O. h Z$ _* ~; E# Z% {Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
+ T6 s9 m: C: b9 t8 z; ^* ^5 lNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
+ T+ i, f; c+ I( f( EDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大
7 H& O- z' ~; ^8 SOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
. T* @( B, C9 a. g% |9 H1 Q二、Light cahe(灯光缓存)- g6 s/ A# X" @. [/ @4 p5 Q
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
2 S: n1 o" q2 I/ E$ F( zSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。. J# {$ p3 r, ?+ k: G, Y
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
( G# Z& g; h7 ~# p4 @! nPre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15( g# c/ o+ K( K" R% F% b% _9 x
Filter下的Interp
, ?/ ~- j9 w" Csamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒
4 k, w- z' H0 t% d! F3 Q* K; B7 B
# M# P6 _9 L8 d) [% ~( s$ R |
学习学习songhua