【龙渲教程】Vray最佳设定——Irradiance Map篇.docx_第1页
【龙渲教程】Vray最佳设定——Irradiance Map篇.docx_第2页
【龙渲教程】Vray最佳设定——Irradiance Map篇.docx_第3页
【龙渲教程】Vray最佳设定——Irradiance Map篇.docx_第4页
【龙渲教程】Vray最佳设定——Irradiance Map篇.docx_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【龙渲教程】Vray最佳设定Irradiance Map篇 本教学中, 我们将讨论在V-ray里面如何设置GI,将会讨论到其原理、参数与用Brute Force 和 Irradiance Map做为第二级的GI反弹算法。Brute force GI 是一种基本的算法, 使用固定数量的光线(Rays),由原始的光源 打到场景中的某点, 在该点使用固定数量的光线(Rays)反射. 如果你还记得的话 ,我们认为当光线自光源发射出来, 打到场景中的对象表面, 会再分裂成很多光线, 打到场景中其它对象. 当然了, 越多从间接光源产生的反弹光线 (diffusely reflected rays) 那最终的算图结果噪声就会越少。在间接照明选单里面的Brute force GI参数, 这里有两个参数可调: Sebdivs与Secondary bounces。Subdivs这个参数意思很简单就是反射射线的数目. Subdivs的数值不等于实际的二级射线的数目, 而是该数值的平方, 也就是说Subdivs=2, 就表示原始的光会在反射后分裂为4, 如果这个数值是4, 那二级光线就会是16依此类推。Secondary bounces这个参数会指定光线会反弹几次, 只有在Brute force算法最为第二级反弹的算法的时候才会出现。如果 Brute force设定在第一级GI反弹, 那bounces parameter这个参数就会变的没有作用. Brute force算法并非自适应的, 它只会计算每个像素的GI, 并不会依照复杂度, 颜色, 与对象的细节来改变采样的细致程度. 因此, 很耗费计算机运算资源, 不管是场景中重要的画面, 还是不重要的地方都以相同的运算来处理.也难外它会被称为Brute force 蛮力法. 我们也可以知道Brute force的计算是以Quasi-Monte Carlo (QMC)的方法来计算的, 这也是Vray早期版本的名称, 有时候会让旧用户搞混, 他们还在找Quasi-MonteCarlo (QMC)在哪里。这种蛮力的算法是很不合理的, 它会用很漫长的时间算图, 即使是很简单的场景也一样. 因此, 不值的用这种引擎在第一级或是第二级GI引擎. brute force这样的算法只会在特殊状况会用到, 当其它算图算法, 因其自适应性导致无法计算微小的细节, 这时候就会需要用到brute force算法。Adaptive Irradiance mapIrradiance map是一种自适应(adaptive)的算法, 用来渲染全局照明的反弹效果.它的主要功能是找到场景中重要的区域, 计算GI与对GI采样比较稀疏的地区以内插的方式补充起来. 为了要了解Irradiance map算法运作的方式, 让我们来看看它产生的图-称为irradiance map。这个测试算图显示Irradiance map的采样 这张图显示大量的白点, 呈现GI采样的位置. 在场景细节比较多的地方, 会有比较多白点, 在平坦的区域白点比较少。这张测试图, 之前的GI教学有用过, 为了清楚说明, 我们把纹理贴图先拿掉, 让我们不会受到干扰. 请仔细看最密的白点区域, 这是房子的内部, 圆角的ChamferBox, 每个靠近的位置或是球面对方块的那的地方, 还有方块跟墙的接触面, 这些地方有很多GI细节表现。这些是irradiance map的点, 这些点包含了该点的GI的颜色与亮度, 其他区域则填满了灰色, 灰色区域是不含有GI信息的部分. 但是, 会由irradiance map以内插的方式填充起来. 换句话说, Irradiance map只会计算最重要的区域而那些不重要被忽略的区域, 没有计算, 只以内插的方式算出来, 拿那些有计算的点来推算出亮度与颜色。很显然, Irradiance map的自适应性就是在这里了. 相对于Brute force (以下简称BF), Irradiance map (以下简称IM)不会计算场景中所有的像素, 它只会计算重要的区域, 因为这样能够节省计算机运算资源。 irradiance map的3D呈现出采样的分布, 在摄影机机看不到的区域就完全不会有采样 .我们可以用Irradiance map viewer查看器来查看, 我们可以很清楚地看到不只是irradiance map的3D结构, 我们还知道跟摄影机的观看角度有关, 特别是在摄影机无法看到的那面, 完全没有GI采样点。 在算图的时候会跳出算图窗口, 这里显示是IM计算的状态, 是4段prepass的第一段. IM的计算, 会用很优雅的方式找寻场景中需要放置GI采样的位置, 它会用到之前我们提到的低采样(undersampling)的技巧. 一开始的时候, 整个场景的GI会低分辨率的方式计算, 通常会比算图的分辨率要低, 这个计算不只是自适应的, 像在用BF算法算图那样, 之后, 利用第一轮计算取得的数据,决定出最重要的区域, 对该区域进行精确的算图。于是就用更高分辨率的方式算图, 但只针对需要的区域, 这样个步骤会重复几次每一次都增加分辨率, 直到达到你在IM里面所指定的最高分辨率. IM算图的最基与最高分辨率, 每次计算的差别都是以2的倍数增加分辨率, 也就是原本低分辨率的四倍的像素, 例如: 算图分辨率设定为800X450, 下一步的低采样就会是 400X225, 在下一步就是用200X113等等. 请注意, IM可以进行低采样与过度采样 也就是说IM可以计算比实际算图分辨率少或是多的分辨率 (分辨率的差异都是2的倍数)。每一次GI算图的阶段称为pass, 那个用来决定重要区域的pass称为Prepass. 这个pass计算的过程, 是当下是在哪个阶段,可以从算图窗口观察到, 会在开始算图的时候跳出来讯息。四张显示采样的算图效果. 在Irradiancemap里面有四个, 逐步的prepass. 第一步不会对场景中比较细节多的地方添加高密度的采样, 其他三个步骤就会. 最后一次的prepass显示最终采样的分布状况, 每个算图都显示了IM分辨率. 在本例里面 IM的最大分辨率是800X450, 跟算图最终分辨率一样. 为了完全找到重要区域, 首先会用三个低采样的prepasses, 以低的分辨率来计算: 100X56, 200X113, 400X225, 跟最后一个的prepas一起, 总共有四个IM的prepass。请看第一个prepass, 你可能会发现, 它没有找到任何区域, 整个影像跟BF算法的精度一样. 但是在第三与第四张影像就完全不同, IM算法会找场景中细节较多的区域, 然后在那些区域洒下GI采样. 而在平坦没有细节的区域减少GI采样, 不重要的区域例如墙, 平坦的表面等等. 这些地方只给予少量的GI采样, 然后之后用内插的方式计算出来. 而且, 我们也可以很快地看到, 在不同的prepass采样的大小有不同. 因为高分辨率的IM算图, 会有比较小的单一采样数值, 也会有比较精细, 更精确的IM. 我们可以很容易猜出GI map 由IM算出来的, 即便是最终分辨率的来算图, 不使用prepass, 就像BF算法那样, 最终的算图时间会跟BF一样冗长。算图的时候勾选显示IM采样, 这里看起来好像没有采样点. 事实上有很多很密的采样点, 很平均地放置在场景中, 即便是在那平坦, 不重要的区域。这张图显示irradiance map, 在最终算图之前算了一次prepass. 仔细看看, 好像没有采样, 事实上正好相反, 在这张图里面, 全部都是采样. 这些采样紧紧地靠在一起. 因此, IM 并没有在某些区域增加密度,它只是从摄影机的角度把场景布满采样而已, 为了取得如此密的采样, 耗费了许多计算资源. 特别是, 之前所有四次的prepass, 才消耗了五分钟, 而这次才一个pass就花费了50分钟。差别很明显, 不要误会第二的例子, 它的质量还是比第一个例子要好很多. 因为很密的采样, 而场景中不重要的区域, 通常就是那些平坦的面, 只具有单一颜色, 而该GI的颜色, 很均匀. 在两个例子里面, 都没有细节. 然而, 场景中重要的区域, 有的会, 有的不会用自适应来计算有高度的细节. 这也是为什么没有必要花费10倍的计算机运算资源在计算那些平坦的区域, 因为做出来的结果是一样的. 我们相信所花费的时间, 使用IM与使用BF来比较, 差异是很明显的。一旦计算场景中重要的采样点 (含有GI颜色信息)计算出来了, 那些缺乏GI采样点的区域也开始进行内插计算出来. 而在以BF计算的那个例子里面, 在算图的时候, 进行计算固定数量的二级光线, 以半球的方向发射. 在前一篇的教学有提到。IM的基本参数对于那些IM算法认为重要的区域, 每个IM采样点的二级射线的数目, 对整个场景的细节程度决定的分辨率. 这些参数都可在V-Ray: Irradiance map选单中找到。这是V-Ray: Irradiance map选单, 显示每个参数, 预设的数值可用下拉式选单找到. 基本的参数包含了Min rate, Max rate, HSph, Subdivs, Interp. samples, Clr thesh, Nrmthresh, Dist. thresh, Interp. Frames . 选项区域则提供了Show calc.phase, Show direct light, 与Show samples parameter. 进阶选项则有zones as Detailenhancement, Advanced options, Mode,与On render end。目前的默认值, 提供IM 主选单的快速设定参数, 下拉选单里面可以找到每种默认值的类型, 这些默认值从名称你就可以明白它的意思: Very low, Low, Medium, Medium animation, High, High animation,Very high. 然后, 最重要的是客制化的选项, 让你可以调整IM的每项参数, IM是以High做为默认选项。下一个, 是基本参数选项. Min rate 决定了GI的第一次prepass的分辨率。 Max rate 决定了最终GI算图的分辨率或是最后一次prepass的分辨率。我们已经知道了, IM算法会搜寻到场景中细节最多的区域. 如果你看以上的范例, 你会看到rate的数值, 决定了当前的prepass分辨率.当rate等于0的时候, 表示GI分辨率跟最终算图的分辨率是一样的. 当Rate=-1的时候, 表示GI的计算会是最终分辨率的一半. 当Rate=-2, 表示GI的计算会是最终分辨率的1/4. 同理, 当rate=1的时候, GI计算的分辨率会是最终影像的分辨率的两倍, 这跟采样不足与过度采样计算反锯齿的观念是完全一样的. V-Ray Adaptive subdivision算法也是。Irradiance Map的算法很具有弹性也是高科技的工具, 尽管逻辑上面把最终的GI prepass以最终算图的分辨率来设定. 也就是Max rate=0, 其实没这个必要, 因为在质量上仅有很小的差异, 却会造成计算量的巨大负担。用不同的Min Max Rate来进行场景测试. 第一张图效果很棒, 算图也最久. 第二张算图, 则是可接受的质量, 却只花了1/5的算图时间. 第一张影像 IM的计算效果, 在球的下面有清楚与较密集的阴影, 跟第二张图片相比. 同时在cube底下有清楚且锐利的阴影, 特别在左方的角落地方, 这是因为在第一张IM有很大量的小细节, 而第二张比较小分辨率的IM. 然而, 算图时间第一张在max rate=0的时候花费的时间是 (max rate=-3)的那张的五倍时间。5分钟又3秒 跟57秒相比, 高分辨率或更复杂的场景的话,IM的效果会更加明显. 同时, 高分辨率例如2500X3500像素, 两者的算图差异会更不容易看出来, 因为最终的分辨率已经提高了. 除此之外, 这种小的模糊问题可以在几分钟内以2D软件修掉. 实际上, Min rate -5 与 Max rate -3已经够好了, 效果很接近照片写实的效果, 这样的参数应该做为Vray的起始参数。HSph. Subdivs的参数是GI射线的数目, 从场景对象的表面反射出来的。这个参数决定了有多少的diffuse light光线, 在每个IM二级点上面. 就像我们之前提到到, 方向是以半球的方向发射. 这个跟BF算法里面的Subdivs参数很类似, 大部分的情况, Subdivs=80对大部分的状况都很够用了。 Samples是决定了IM内差计算的质量. Interp. Samples决定了在不重要的部位, 灰色部位的内插质量. 内插的采样位高, 内插就越高, 会产生越模糊的GI; 相反的, 如果内插采样越低, 影像就比较不会模糊, 但是容易会有噪声产生. 预设的内插数值为20, 已经很足够不需要改变。我们已经知道, IM会帮助prepass来辨识出场景中细节的区域. IM能做到这点全是因为prepass所得的信息, 而且是根据三大细节属性: 第一是颜色, 法线的差异以及对象的相对位置. 在IM里面, 这些参数是分别以Clr thresh, Nrm thresh与 Dist thresh来控制的。Clr thresh控制颜色的阀值, 这个数值越高, IM就越不容易察觉颜色差异, 把数值变小, 敏感度就会提高 ,会产生更细致的算图效果. 把这个数值设定为0.3 对大部分的场景都很适合。Nrm thresh法线的阀值, 用来控制IM对场景几何体, 特别是法线的变化的敏感部.把这个数值降低, 越多场景的细节会被视为重要区域, 也就能算出更高质量的影像. 将数值设为0.1, 适合大部分的场景。Dist thresh定义了场景中相邻的几何体表面距离的阀值. 场景中相邻的表面距离越远, 就会被认为是越重要的区域, 因此可以算出越细致的图片. 请看以上例子你可以马上看到, Dist thresh与Nrm thresh两者的差异. 如果从Nrm thresh来看会决定场景中IM的密度, 而Dist thresh会决定对象与对象靠近的区域. 要注意的是, 当Dist thresh数值低的时候, 它只会考虑对象与对象之间比较小的距离, 因此就会减少IM 采样. 请注意这个参数跟Clr 与Nrm thresh是相反的, 后两者减少数值会增加算图质量, 这个参数设定为0.1 适用于大部分状况。最后一个参数, 在Basic parameters那边. 也就是inactive Interp. Frames .这个参数控制了有几张irradiancemaps, 从不同的frame 计算而来的Animation (prepass) 用来计算当前的动画frame上面. Animation (rendering) mode, 我们在另辟专栏来讨论关于这点的设定。V-Ray: Irradiance map的选项, 让你可以清楚看到当前是在哪个IMprepass阶段显示GI的直接光照与prepass算图, 你可以查看到采样的位置。 Show samples显示采样, 这些都只是帮助你看到状况, 并不会影响IM算图的效果。下一个参数是Detail enhancement我们都知道IM的强项就是用低分辨率在prepass的时候找到场景的重要细节区域. Option Detail enhancement的选项让你产生介于自适应的方法, 但是却有点是模糊的IM算法的采样, 以及在细节区域采粗略的却又精确的Brute Force方法。当你启动了Detail enhancement的选项, 还是会一如往常地在prepass的时候找寻场景中的细节区域, 但是在最后一个pass的计算, 当场景的细节信息取得以后, Detail enhancement算法就会开始作用.Detail enhancement基本上就是在重要的区域采用全分辨率地, 用Brute Force来计算, 而不是用采样不足的方式计算(undersampling);其他区域 (不重要的区域) 还是以正常的IM计算, 计算内插。Detail enhancement的算法用来决定场景中哪些重要区域的采样必须要计算, 是根据一种很类似AO的算法, 但是跟AO不同是, Detail enhancement算法会考虑到光线的方向性(direction of light)。要注意的是, 当启动Detail enhancement的时候, IM的功能只拿来用在决定场景中细节的区域, 而真正去计算细节区域的是用BF算法, 既然知道这点, 如果你勾选了Detail enhancement, 我们就可以把所有的IM参数降到最低, 除了Interp. Samples的部分. 甚至可以把Interp. Samples设成比较高的数值, 当你勾选了这个选项, 其他像是Scale, Radius和Subdivs mult也可以让您设定。Scale定义了Radius这个参数的使用单位.Radius是半球的半径 ,定义了BF从参考点的GI采样的计算, BF参考点的位置. 如前面所述, 在prepass的时候由计算场景细节的那个阶段所决定的。Subdivs mult.事实上跟BF的Subdivs参数很像, 也是用来决定diffuse光线的数目 它是以目前的HSph. Subdivs的百分比来设定的。为了要更了解半球半径的意义(radius of the hemisphere), 我们必须要再复习一下AO的观念, 但那已经不是本文的重点了,我们会在VRayDirt map教学里面提到而这边的Detail enhancement选项, 会减少IM的自适应性, 会对GI算图有显著的增加, 这也是为什么只再需要的时候才勾选这个选项, 当然VRAY的默认值也没有勾选。Irradiance Map的其他选项进阶的选项: 下拉式选单让你可以选取IM采样的内插计算方式, 这里提供了四种算法 Weighted average (好/强大), Least squares fit (好/平滑), Delone triangulation (好/真实) Leastsquares with Voronoi weights. 技术上来说, 这四种方法是以不同的数学原理计算的, 没有必要去探索这些数学到底是怎样计算的, 用户只需要知道, 每个参数的意义, 最佳的内插方式为Least squares fit, 这也是Vray的默认值。Sample lookup 提供了下拉式选单, 让你选取用怎样的方法决定,当IM在计算内插的方式, 总共有四种方式, 分别为:Quad-balanced (good), Nearest (draft), Overlapping (very good /fast) and Density-based (best). 这些也都是算法, 透过特殊的数学模式来计算, 没必要去探究细节. 跟内插的内行一样, 你可以从名称就可以判断每个类型的意义, 默认值Density-based (best)就是适用于大部分的状况。Calc. pass interpolationsamples这个数值决定了在最后一个pass时候引导IM计算内插采样的使用采样数目, 默认值10个采样已经够用了。MultipassIrradiance map的运算会完全地利用计算机资源, 也就是以多线程的, 多核心的方式处理数据. 一开始的时候, IM会以多线程计算, 每一块的IM都是不同的线程在计算, 都是相互独立的. 这些数据只有在前一次的prepass才会被取用, 因此, 在不知道彼此信息的状况下, 就会产生不同区块不一致的结果, 你就很容易看到很明显一块一块的算图区块。 把Multipass关掉来算图的话, 你会发现IM的采样会一块一块的, 每块之间有明显缝. 勾选了Multipass function让IM算法能够使用当前prepass采样的信息。也就是说, 在渲染每一块的时候, 他让IM演算使用邻近的区块的信息, 这样每块才能产生连续的采样. 因此, 实用上, Multipass让你的IM每个区块之间能够有很平顺的采样, 而不是像磁砖一块一块地. 这个选项默认是打勾的。Randomize samples随机化采样, 这个功能让你的IM采样用随机的方式

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论