|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。9 E$ N5 I1 O3 z% X$ n
最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
; w! q# M- a8 Q( j% I0 n图形抗锯齿方面Image sampler (Antialiasing)0 r' H. t; w4 n' ]1 b% ], l
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
2 d" g/ Y9 Y8 g4 \# \" s1 j% X比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2
. Q5 I- {" r4 w* ^$ Y. {2、大量粗糙表面多bump贴图,simple two-level 最快
6 T- E+ T' _, X! C比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision ( y4 S# M* q c# p/ E: C; u3 U$ A' i
rate0/2,threshold=0.05' w, X4 j& A! v8 L3 W# G: F6 Y# z
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
: u9 x, O9 q$ t8 F如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive
# r3 ^9 m* ~0 P$ {, r# a: EQMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。1 R; i: O7 t; v0 I7 i/ s' X
根据不同的情况选择不同的抗锯齿这个很重要!!* q/ A0 `6 v' G+ j# j
6 }/ ^$ |" O* h+ @9 P/ Z
另外几个关键的参数:& Q. {2 k' y: `1 }: U& i& M
threshold这个值对速度的影响非常大。
3 [$ l9 i7 h2 \3 c' ^* _在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受
- k4 l: e& e1 O. }7 j4 h在adaptive QMC ,在rQMC面板的Noise " _8 b5 K- p$ R, K* i9 x7 V6 s) R
threshold默认为0.005测试改为0.1,速度很快质量还可以。! G" V: u s" m$ T1 r5 z' c0 s
如果在adaptive rQMC image sampler 里勾选Use QMC sampler , I8 Z' ~8 H1 u. [- t( H
thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。/ S7 W+ V/ U: L4 b4 F A7 a1 f6 f( C
如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
* B$ J7 e( F3 l6 ZObject outline:
' m! z, J+ o" d2 }( f8 ]当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object 7 M9 `. ^ m) N- ^. d
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
" P7 W. c% o0 O! x5 x2 _Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr 5 }' [/ J8 Y/ a7 f% P; H' p! v
threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
2 u1 N% U2 f1 z0 I) ^+ i: O" x与渲染速度有关的还有发光贴图里的二个参数:
$ ^1 e4 H0 ~. I C& Z! SInterpolation type插值类型和Sample lookup采样查寻( R* x7 Q& x( O' k
一般只要将Interpolation type设为Least squares fit(最小平方适配法),5 p$ }5 a( I) z3 a8 @1 K8 l
而Sample lookup设置为Precalculated 5 K9 G0 q9 g" [" _6 v
overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。
4 t+ R& y+ c) U& X5 Q9 ]9 O, w如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览)
" i k& ]2 ^# t: [0 LCheck sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢4 ]+ |* l( Z; Y L6 j7 m& l
关于coolmoon的帖子:
9 F [) j' I2 P4 a( X+ B提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI8 }2 e3 I9 D' Z
他提及的抗锯齿提速前面已经分析过了就不再总结了。
1 Z+ b* }0 B# z关于暴牙龙的贴子:
9 J* Q3 r3 K/ H( i7 f7 {1。不要用太多的灯光反弹
0 U) ?$ B$ H7 [( F7 B& W0 O" ~9 i7 X2。不要用太高的发光贴图设置渲染大分辨率的图 % J* D, F, j. O' h" K
3。经常保存发光贴图 5 N/ T' H' r8 @+ `
4。弄个大点的内存
1 ?3 d/ `: m$ ~6 D1 B5。抗拒齿不要太高" a( Z4 \; i4 h( d6 Z4 c+ [8 X
6。不要用太高的反射折射级别 8 c! p. k6 d) ?9 T }# F
7。用透明贴图的采样不要太高
! J1 }4 }/ y. T) e6 ^8。把不重要的物体的GI采样强制降低 " t% k7 i8 Q p# P0 e
9。不要用凹凸贴图和模糊一起用
3 ~( S% \% G. x8 z9 Q2 w: t2 I10。不要渲染太高分辨率的图,够用就行$ a5 f1 z \* l1 D: z
11。能用PS的就PS,比你用3天MAX渲染快多了
0 e; e, V( c( T+ @3 K- p这是他的原话!!
" s5 a7 `' V' K+ ]% x( w+ {下面是经验参数:
1 j, F: O1 g' Y9 P! C- m1、木地板模糊反射0.85 和3,反射次数调为1: @, K! J0 Y! {# q0 s) k _/ U4 \
2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm
$ c9 c- f0 C1 k Z* \2 N( tthreshold=0.2,HS=50,IS=20
. Z0 f% l! j2 t$ m- [8 B$ z3、用vr灯模拟天光是勾上sotre with irradiance
$ s! P" q/ @) u- ]" I8 ymap速度会快点 r4 R# F. r6 r& U! _
4、算好光子图以后再加对场景影响不大的灯
& q" q: x# A, w5 Y5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。! C9 f. [+ N9 i* A; ?; E2 I
场景没有打一个灯,由天光和color map 提的亮度。
& E* @; `; k% x5 ]4 ~; [' U2 @: U" j参数: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
4 k) \( F3 A- d6 H的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
P( _$ I* h* h* N上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。+ D1 a5 i' l" I! G" Y, t/ v
一、Irradiance map(发光贴图)
3 c7 ~" j5 J2 u* r8 m7 f* S8 J% `大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
: b% w% p v9 C& K% C渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。 G# v0 E0 u1 _- ^, [" w
max=-1,min=-10/9.9;-9/9.75s;-8/ ' |& C& X# Y: s8 E: ?
9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s6 q, }7 K! [3 Z. s+ X! C
max=0,min=-10/17.3s;-9/17.3s;-8/ ' y, ^6 l; m8 D
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.
# Y! L+ Z$ x* J虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。
! Q5 R. }+ t9 M7 Emin值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4
- i" O1 k: K S(细节不多时可以用-3),而最终出图可以用0(-1)。5 [) d; O8 E* O: U5 O& j
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80+ f6 w( S4 G+ z) K e
Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。
! u2 L8 L8 F# T, F+ t; n4 t' XClr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。+ M4 q' m% G3 [
Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
- |& T# g$ S( nDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大
" ?+ C- y' ^: j0 o8 ^% a C JOptions里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
" w1 F5 T. m' U1 T) p二、Light cahe(灯光缓存)
& f) L9 v1 u0 {0 C* d灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。* ~2 q0 S& z9 v! j9 H
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
; V8 J( G' S' u: ^" ]) \7 [) ^Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。4 G% d: o0 S: X }! |
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-157 [7 m& f( o0 P1 y
Filter下的Interp
: o. Y4 ^8 r0 {* l: ?/ Gsamples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒
n* w C: U/ w8 K! }5 R6 W4 h: |) E7 {
|
学习学习songhua