|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。
, M$ A! G( n4 U1 Q: Y6 l最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:
" E9 i) z5 d* O* t# N% [, ^图形抗锯齿方面Image sampler (Antialiasing)/ R8 b% v: u( O
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快- E- b+ ~. J: e5 R
比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/2% U- `5 H- N) W
2、大量粗糙表面多bump贴图,simple two-level 最快
! @5 a& ^8 q& q& o比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision
& P2 S$ ?2 d- b1 Urate0/2,threshold=0.05
- h8 d6 G Z- g- v1 k: n3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的; G' W- z: Y* v# T
如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive
! e; ?* m3 m5 ?; V0 V+ V% PQMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
6 H& ~7 E- a% K4 g2 m# ~' Z8 [3 P根据不同的情况选择不同的抗锯齿这个很重要!!9 o8 W+ A6 ^( Y# m
1 S. q, J4 v0 j. I% L另外几个关键的参数:' E7 j/ E' ^, t( k
threshold这个值对速度的影响非常大。
* d- y1 B( A, ]# G在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受
; N! z8 r8 ~1 A3 D! a在adaptive QMC ,在rQMC面板的Noise 7 `9 }" g, F( Y/ c! d z/ P
threshold默认为0.005测试改为0.1,速度很快质量还可以。# p% X2 w$ i `: p4 i
如果在adaptive rQMC image sampler 里勾选Use QMC sampler
7 \( f" b- i, D2 ~+ X* a. nthresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。
& H" z: d; \ @( P如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受2 T0 ~, o* ~& k( U. Q8 \& b3 O
Object outline:
) J6 }) g2 ?1 o8 x Z K当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object
( k6 x: w& Q* ~outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量 C2 `1 K2 e- x' \8 ?% ^
Nrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr . g9 D( u. f" \6 y) B
threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
* C9 s$ t% x' l1 f9 y3 O与渲染速度有关的还有发光贴图里的二个参数:- K& p7 G7 j% f* P
Interpolation type插值类型和Sample lookup采样查寻
0 u6 _& B1 \$ h/ o* i一般只要将Interpolation type设为Least squares fit(最小平方适配法),1 E ^& H* O. ^' s6 V8 m
而Sample lookup设置为Precalculated 8 G2 {8 R: ` q: K, A
overlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。, M1 R3 M2 x" ?: e2 w
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) 0 ^0 c* {4 r4 Y) K% X v: I
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢2 q6 `: L) A$ ?" ]2 d& j, r& `
关于coolmoon的帖子:
4 T# H, i$ ]- h3 n提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI$ h& t3 t6 B/ p! z5 O! H* |
他提及的抗锯齿提速前面已经分析过了就不再总结了。
) Y2 A, K, L5 }) `8 s关于暴牙龙的贴子:
7 {1 @) A- w N5 ?1。不要用太多的灯光反弹
$ K- W5 P: ? V$ j) G8 N2。不要用太高的发光贴图设置渲染大分辨率的图
* g) U" z9 P$ u4 b* _/ d8 i; [3。经常保存发光贴图
* W9 J; s/ g, N8 \! w% J& ]9 G4。弄个大点的内存
( ^( ^$ r$ n! n2 N! L5 `( S5。抗拒齿不要太高
% e1 s0 j( @& k8 M3 y6。不要用太高的反射折射级别
3 k4 S2 O; J8 ?1 |1 |- t- x7。用透明贴图的采样不要太高 & G5 q7 ^9 W8 W) [2 P' B" ~2 _" f
8。把不重要的物体的GI采样强制降低
7 E- A& }1 r, V: e8 @5 S" f. Z j& R9。不要用凹凸贴图和模糊一起用 9 N( `8 i* \+ p9 L0 v' V* N
10。不要渲染太高分辨率的图,够用就行
* ~0 J* S: {1 `2 `1 F+ J11。能用PS的就PS,比你用3天MAX渲染快多了# X! r) D6 \; d/ O
这是他的原话!!; G! S; A5 I, x) A
下面是经验参数:
9 @; S' p: y0 k4 [5 a0 U2 w1、木地板模糊反射0.85 和3,反射次数调为1
2 g' ?+ f' r6 @# s {5 b. G6 P+ \2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm + r) J1 s4 ~2 D
threshold=0.2,HS=50,IS=205 v$ R' \7 ` s$ i
3、用vr灯模拟天光是勾上sotre with irradiance
`- E. ?3 t6 t" J( }map速度会快点
" Y r) l; z8 k4、算好光子图以后再加对场景影响不大的灯1 D5 E) m+ m( x
5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
! F6 I$ L, N1 Y c$ U# @9 V场景没有打一个灯,由天光和color map 提的亮度。
! m( J" a( j, W, ~参数: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 ; k6 g+ e4 z& A! a; ~$ O
的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。
+ z( |: E, t& f上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。% J: o( e( o! K9 S- C
一、Irradiance map(发光贴图)
. L& t9 h2 N' m3 t9 k6 r- y0 l大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
& F$ f2 G& @- h! `渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。0 F+ \; ]& Z" e% \
max=-1,min=-10/9.9;-9/9.75s;-8/
4 V9 E* O1 ?$ d$ @6 W( d9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s: Z0 B- J% y8 V+ W
max=0,min=-10/17.3s;-9/17.3s;-8/ Q$ b, L* y3 p, \3 P& B% x
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.
8 @) {5 z8 b i$ L) g虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。6 z( Q) k# O1 M1 r1 q2 D' {
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 ) H- e( {" h8 ], W
(细节不多时可以用-3),而最终出图可以用0(-1)。& Z2 ~/ @# w1 O8 o) I( @' u
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
8 s4 O7 C* _. `Interp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。, n9 f" i0 v$ i; ^- B
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。6 O1 p$ l" @& e- }$ l& Q# q
Nrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢4 m( |- S1 `# Q7 V% x5 P& D2 H: i8 i
Dist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大0 A: ^' z5 a, ]/ C0 w) `
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。
d7 i$ W+ }8 {8 z二、Light cahe(灯光缓存)5 U6 T5 ~7 i1 B2 b6 V! T0 G
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。
4 N! m3 |! ~) m( U; |. X: BSubdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。7 [6 [! j" X1 f" W0 X) A' W
Sample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。' U! A/ B: f/ L7 b
Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-15
$ _5 Z) J( k: \. n! R2 }Filter下的Interp ; ]; F6 E i0 W Q" g6 r/ m
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒 9 r( h: F0 a% Z; {$ K
4 ] ?5 i8 t8 h: ?1 E( {; V. { |
学习学习songhua