|
VR的基本渲染方法已经掌握,虽然材质和灯光方面还有许多不足,但是当前最迫切需要解决的问题是VR的出图速度问题。动则需要数小时的渲染时间真的是很难以接受,不管是练习还是真正的做方案都是漫长的等待,这样修改起来也不方便。因此当务之急是要弄清楚影响VR速度的根本原因,优化参数。
- {% i, {7 V) q0 i最近的几个例子来看,GI的时间都不长,就是抗锯齿出图的时间太长了。可能我做的都小场景,等大场景灯光比较多的时候跑光子图也是很慢的。 我们来总结一下:' C, T* }2 a* A( a4 i) l
图形抗锯齿方面Image sampler (Antialiasing)5 Q! N3 q' Y' P
1、无反射模糊,图像质量相似的情况下,adaptive subdivision最快
! C; \; Z7 y$ H9 @/ A; b比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision rate-1/23 |3 j# Y1 i6 i9 F1 l! H+ e2 E) b% [
2、大量粗糙表面多bump贴图,simple two-level 最快
2 @0 _# J* w& R2 N' b; v9 N# t0 P比较参数Fix rand=4; two-level subdivis 1/4;adaptive subdivision & |9 L( L6 i3 \0 M; b
rate0/2,threshold=0.056 g) z. l* h: U8 ]" F
3、如果场景中有大量模糊效果,包括运动模糊,模糊反射,高光模糊,景深等,Fixed是最快的
& J+ p D; O! x. @如果场景中有大量凹凸效果,包括bump贴图,置换,noise等,adaptive . u& [: E! e" ~, M p0 D/ \
QMC或者adaptive two-level是最快的。其他情况用adaptive subdivison会比较快。
; s9 F* G. Y: P" `( G2 h根据不同的情况选择不同的抗锯齿这个很重要!!
# p/ F3 o& z: a+ O5 e5 }
! d; j+ ] M3 U/ F另外几个关键的参数:" Z5 j: H; A( H) V+ }$ t
threshold这个值对速度的影响非常大。0 C% L# Q# |/ F) ?8 E# G6 F* C
在adaptive subdivison Clr thresh默认为0.1,测试改为1,速度提升很多质量也可以接受
( h$ R4 W: n$ g在adaptive QMC ,在rQMC面板的Noise 7 D$ u( c5 d: \- R4 D
threshold默认为0.005测试改为0.1,速度很快质量还可以。/ {$ N; K5 w& a% n4 h5 D9 f
如果在adaptive rQMC image sampler 里勾选Use QMC sampler & |( w2 h( X! P
thresh的话,那么这里的域值采样直接由rQMC面板的Noise threshold决定。# n/ S' n: F* i& O" h5 z$ s8 x
如果没有勾选则有Clr thresh来决定,默认0.01测试改为0.1,速度快质量也可以接受
2 g- N, M, `3 C2 s! x6 n) X, f; b# S7 ZObject outline:6 j" E5 e* c$ k M; X
当场景有大量细小物体,抗锯齿方式是adaptive subdivison时,如果勾选Object + Q+ o8 w8 D% ~0 o: e+ }, x, b9 v
outline,那么渲染会非常慢。这个时候我们不要勾选object outline而用Clr threshold来控制图象质量
" Y. R# \, {) G/ n8 q4 wNrm thresh:这个是特定的法线区域采样,如果对阴影要求不高的情况把Clr & q+ t3 o* n0 V9 Q! @; x, L @& U
threshold设置一个较大的值5,勾上object outline和Nrm threshold这样速度也有不小的提升。
: f7 c0 k4 p. K( U9 {, t+ y' h与渲染速度有关的还有发光贴图里的二个参数:* j; W9 C% E- H
Interpolation type插值类型和Sample lookup采样查寻9 e( J0 _5 u8 ]% z( x
一般只要将Interpolation type设为Least squares fit(最小平方适配法),7 b1 i8 V8 e; p8 R* k ?: A) q
而Sample lookup设置为Precalculated
, T$ G% r) X% D- coverlapping(预先计算的重叠),就可以满足我们的大多数要,且速度也很快。8 u# H% @) E. b. ]. D
如果质量达不到要求就再试一试其它参数设置(记住Nearest只适合用于草图预览) ; l+ K' N6 b( ^% r$ o; ?& j
Check sample visibility检查样本可见性,可以减少漏光现象,但速度会减慢) j: G% ?" m1 N' t- K
关于coolmoon的帖子:
% [- T& r2 ^! h" e# }提高速度的方法:把所有面积较小的物体选中,把它们的全局GI关闭,只让面积比较大的几个物体来计算全局GI$ ^ u+ P) X- k$ a, o
他提及的抗锯齿提速前面已经分析过了就不再总结了。& w# N" j; ^2 |( B
关于暴牙龙的贴子:) c! n+ |4 ^. B+ y5 I/ W) r8 a
1。不要用太多的灯光反弹
: `( U. s& ~. b7 c- N2。不要用太高的发光贴图设置渲染大分辨率的图 + p9 Y( b5 K7 x: Y
3。经常保存发光贴图 8 G6 T9 X* X) _! M- {6 r
4。弄个大点的内存
* ~& T8 b7 ]/ O0 i1 ^3 s. ~5。抗拒齿不要太高: N2 {, i0 W: K1 v! S$ [% @
6。不要用太高的反射折射级别 % }( S* G2 g4 w1 R, R9 b
7。用透明贴图的采样不要太高
1 i! z: ^- V. H$ r& n8。把不重要的物体的GI采样强制降低 2 O" r! _5 n$ F& v" g
9。不要用凹凸贴图和模糊一起用 ! j, ]: u& `2 W
10。不要渲染太高分辨率的图,够用就行9 O) W7 U5 C# G) Y9 ?7 D0 g
11。能用PS的就PS,比你用3天MAX渲染快多了
: C; h: V5 M3 B4 F3 `8 x& c3 X这是他的原话!!
& N+ ~3 G, h6 F6 {9 X8 b: `下面是经验参数:
& S/ B& f2 g' m; q1、木地板模糊反射0.85 和3,反射次数调为1
! F O8 `7 ~1 g" ^2、最终光子图的 IM参数rate-3/0,Clr threshold=0.2,Nrm 7 o0 q2 q7 s6 v, z, e' N- u
threshold=0.2,HS=50,IS=20
7 Z G2 d" S1 i" d! i Y3、用vr灯模拟天光是勾上sotre with irradiance " U$ v; k: r2 A6 S5 ?: `
map速度会快点: `9 l1 h, v; _ Q0 p" J
4、算好光子图以后再加对场景影响不大的灯, N+ ]) w; b# R8 e) |% g7 i
5、关了辅助灯计算光子图,要正式渲染时再打开,若想效果更好点可以打个低亮度的vr灯模拟光子反弹效果 [/url] 这个图跑光子36分钟,渲染24分钟,机器配制Atholn 2200+/1024Ram,图大小600x366。
. H( z) [2 d6 B+ w- \3 T$ I场景没有打一个灯,由天光和color map 提的亮度。
' `/ \0 }! u3 ^& `% _! Z. ?7 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
" C! f- m+ L E7 C# y的学习笔记来研究一下。其中他提及的大部分参数都经本人亲自验证过,并总结出了一些经验参数可以供自己以后出图参考。7 q( X4 q0 n7 `- V, P
上次对于抗锯齿对vr速度影响讲得比较多,那么这次我就GI对速度影响来分析一下。主要是针对光照贴图和灯光缓存。
# `& {5 R0 ]5 F) H1 }/ Y一、Irradiance map(发光贴图)
0 A0 k4 {7 v4 u大家都知道,rate中对速度影响最大的是min值,那么我们就在max固定的情况先来测试一下改变min值所需要花费的时间对比
0 E* I% {) p! T渲染时间都是4次的平均值,因为是测试所以选了比较小的场景会快一点。1 Y) `0 u; W( R: n. {. d) Q
max=-1,min=-10/9.9;-9/9.75s;-8/
1 n1 F: L, W. ~6 h( t- L9.73s;-7/10s;-6/10.3s;-5/10.0s,-4/9.8s;-3/9.85s;-2/10.45s;-1/12.55s
0 P9 O2 Y8 {: v0 M0 e2 ~max=0,min=-10/17.3s;-9/17.3s;-8/ / `, z0 g' m6 L6 G( ~7 S" Q
17.5s;-7/17.8s;-6/18.1s;-5/17.7s,-4/17.3;-3/17.4s;-2/18.3s;-1/22.5s.5 S, S) m% q( t6 \
虽然只测试了两组数据,不过我们不难得出结论,在图象品质过得去的情况下min=-4是最快的。所以测试用min=-4,而出图时也可以考虑用min=-3。% k( W: U4 G! q! n7 ^ a( L% Z
min值是对大面积平坦区域的采样,而max是对拐角细节处的采样,而max的增减和时间是成线性递增的关系,所以我们在这里不再重复测试。在草渲的时候可以用-4 ! t0 J8 g0 q6 e7 u* }& J4 [
(细节不多时可以用-3),而最终出图可以用0(-1)。" M+ S: v4 m5 g. {
HSph subdivs:值越大速度越慢!测试20,出图用50,不要超过80
6 s. S: ^8 H i% }" ~1 JInterp samples:值越大速度越慢!这个值是控制漏光的,越小漏光越少。一般用20。( Z/ l& k( L! x7 U& N
Clr thresh:系统默认波动范围0.1-0.3。值越小速度越慢,值越大越容易漏光。
' _2 y: F; A" D# ~1 XNrm thresh:控制弧面和多拐角面精度,波动范围0.1-0.3,值越小速度越慢
' o; x5 T8 y& b2 W) ^* z' |, yDist thresh:值越小速度越快漏光越明显,默认0.1,粗测0.001-1对速度影响都不大6 W# t( a- x. c: @+ g+ s
Options里的选项一般都不勾选,勾上的话都会减慢渲染速度的。& e3 _- a$ ~/ X
二、Light cahe(灯光缓存)+ H3 R& c7 `3 a) o2 U$ l* k
灯光缓存一般作为二次反弹,其实vr对二次反弹的吸收并不是太好。所以在基本质量的前提下保证速度是最重要的。; {% N, F% ^. l4 x
Subdivs:影响速度的主要因素,测试用100,出图300-500(比较暗的时候500-800)。不要超过1000。
7 q+ m6 X. E! W- X3 C& fSample Size:这个值对速度影响不大,不过值越小容易出现黑斑,越大漏光就更明显。一般默认即可。
9 x; j; F g! U- E5 @: G9 I) a* _Pre-filter:对速度影响不大。值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般10-150 i Y1 Z' J" Z: j
Filter下的Interp : b" g9 Y6 x, B' X% P
samples:对速度影响不大,值越大细节越模糊,值越小细节越清晰,容易产生黑斑。一般5 [url=http://img.snren.com/upload/up4/200742511284468276.jpg] 就打了一个天光,没优化参数,蜗牛机器渲染的,放上来提个醒
b" Y2 v5 \! Z' B- {, G9 z. i) X! F8 ^( s( w, j; i
|
学习学习songhua