VR课程教案资料_第1页
VR课程教案资料_第2页
VR课程教案资料_第3页
VR课程教案资料_第4页
VR课程教案资料_第5页
已阅读5页,还剩150页未读 继续免费阅读

下载本文档

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

文档简介

VR课程教案本教案分两部分,共分15课时第一章(1课时)初识VR和软件安装课程要求:1.熟悉VR软件的特征和核心。2.正确安装vr软件。1.VRay的特征

VRay光影追踪渲染器有Basic

Package

Advanced

Package两种包装形式。Basic

Package具有适当的功能,适合学生和业余艺

术家使用。Advanced

Package

包含有几种特殊功能,适用于专业人员使用。Basic

Package的软件包提供的功能特点

·

真正的光影追踪反射和折射。(See:

VRayMap)

·

平滑的反射和折射。(See:

VRayMap)

·

半透明材质用于创建石蜡、大理石、磨砂玻璃。(See:

VRayMap)

·

面阴影(柔和阴影)。

包括方体和球体发射器。(See:

VRayShadow)

·

间接照明系统(全局照明系统)。可采取直接光照

(brute

force),

和光照贴图方式(HDRi)。(See:

Indirect

illumination)

·

运动模糊。包括类似Monte

Carlo

采样方法。(See:

Motion

blur)

·

摄像机景深效果。(See:

DOF)

·

抗锯齿功能。包括

fixed,

simple

2-level

adaptive

approaches等采样方法。(See:

Image

sampler)

·

散焦功能。(See:

Caustics

)

·

G-缓冲(RGBA,

material/object

ID,

Z-buffer,

velocity

etc.)

(See:

G-Buffer

)

Advanced

Package软件包提供的功能特点除包含所有基本功能外,还包括下列功能:

·

基于G-缓冲的抗锯齿功能。(See:

Image

sampler)

·

可重复使用光照贴图

(save

and

load

support)。对于fly-through

动画可增加采样。(See:

Indirect

illumination)

·

可重复使用光子贴图

(save

and

load

support)。(See:

Caustics)

·

带有分析采样的运动模糊。(See:

Motion

blur

)

·

真正支持

HDRI贴图。

包含

*.hdr,

*.rad

图片装载器,可处理立方体贴图和角贴图贴图坐标。可直接贴图而不会产生变形或切片。

·

可产生正确物理照明的自然面光源。(See:

VRayLight)

·

能够更准确并更快计算的自然材质。(See:

VRay

material)

·

基于TCP/IP协议的分布式渲染。(See:

Distributed

rendering)

·

不同的摄像机镜头:fish-eye,

spherical,

cylindrical

and

cubic

cameras

(See:

Camera)

1.1.1软件安装Vray是一款小型渲染软件,属于3Dmax插件类型,所以根据3DMAX使用需安装在3Dmax插件(Plugin目录)下如图a.b图a图b然后按提示注册即可(课堂上会有安装过程指导)一切OK后,启动3Dmax,挂载VR渲染器如图1如图1思考题Vr是否可独立3Dmax工作?VR有哪些特征?试述VR安装过程。2.VR的渲染面板课程要求:1.合理的设置图象抗拒齿2.了解并掌握光子图的概念3.全局光照GI的渲染原理4.首次光反弹和二次光反弹GI渲染引擎的合理选用5.用所学到的知识渲染简单的场景,和MAX默认渲染做对比2.1.1VR授权信息你可以看到在渲染场景对话框中VR渲染器现在共有15个卷展栏。在接下来的时光里,我们将逐一学习它们,当然还包括其它的新增和改进功能。如图2所示图2看看VR的版本号。如图3所示图3关于VR:Authorization卷展栏。如图4所示图4下面我按照顺序,来解释一些参数的含义,这部分可能比较枯燥,我会尽量多使用一些图片的。2.2.2VRayframebuffer卷展栏:VR的帧缓存。参数如图5所示图5Enablebuilt-inframebuffer:使用内建的帧缓存。勾选这个选项将使用VR渲染器内置的帧缓存。当然,max自身的帧缓存仍然存在,也可以被创建,不过,在这个选项勾选后,VR渲染器不会渲染任何数据到max自身的帧缓存窗口。为了防止过分占用系统内存,VR推荐把max的自身的分辨率设为一个比较小的值,并且关闭虚拟帧缓存。(位于渲染场景的common卷展栏下)如图6所示图6Getresolutionfrom3dsmax:从3dsmax获得分辨率。勾选这个选项的时候,VR将使用设置的3DSMAX的分辨率。Outputresolution:输出分辨率。这个选项在不勾选Getresolutionfrom3dsmax这个选项的时候可以被激活,你可以根据需要设置VR渲染器使用的分辨率,具体使用的方法大家都知道的。ShowlastVFB:显示上次渲染的VFB窗口,点击这个按钮会显示上闪渲染的VFB窗口。Rendertomemoryframebuffer:渲染到内存。勾选的时候将创建VR的帧缓存,并使用它来存储颜色数据以便在渲染时或者渲染后观察。注意:如果你需要渲染很高分辨率的图像输出的时候,不要勾选它,否则它可能会大量占用你系统的内存!此时的正确选择是使用下面的“渲染到图像文件”。RendertoV-Rayimagefile:渲染到VR图像文件。这个选项类似于3dsmax的渲染图像输出。不会在内存中保留任何数据。为了观察系统是如何渲染的,你可以勾选下面的Generatepreview选项。Generatepreview:生成预览。这个选项的作用应该不需要多讲吧。SaveseparateG-Bufferchannels:保存单独的G-缓存通道。勾选这个选项允许你在G-缓存中指定的特殊通道作为一个单独的文件保存在指定的目录。VFB工具条:我们来看看VR的虚拟帧缓存窗口。如图7图7这些图标表示的含义很简单,当你的鼠标移到相应的图标上的时候,会显示图标的含义。在这里我先讲解一下上排右起第三个图标。当鼠标指向它的时候,会显示出“Trackmousewhilerendering”。它的意思就是在渲染过程中使用鼠标轨迹。通俗一点解释就是:在渲染过程中,当鼠标在VR的帧缓存窗口拖动时,会强迫VR优先渲染这些区域,而不会理会设置的渲染块顺序。这对于场景局部参数调试非常有用。图8显示了我按下这个按钮后,在窗口中央随意点击的效果。图8接下来是下排第4个图标,用于显示VR帧缓存窗口任意一点的相关信息。按下这个按钮后,使用鼠标在完成的帧缓存窗口右击,马上会在一个独立的窗口中显示出相关的信息。如图9所示图9下面是一些在帧缓存操作的快捷键:+/-键用于放大或缩小,*键用于使图像100%显示,四个箭头键用于上下左右移动图像。使用鼠标的操作:ctrl+左键可以放大,+右键可以缩小,当然你也可以使用鼠标中键的滚动来放大或缩小图像,双击左键可以100%显示图像,按下中键拖动鼠标可以移动图像。2.2.3VRay:Globalswitches→全局转换卷展栏。这个卷展栏用于控制VR的一些全局参数设置。参数如图10所示图10Displacement选项:决定是否使用VR自己的置换贴图。注意这个选项不会影响3dsmax自身的置换贴图。关于VR的置换贴图我们在后面学习。Lights:灯光,决定是否使用全局的灯光。也就是说这个选项是VR场景中的直接灯光的总开关,当然这里的灯光不包含max默认的灯光。如果不勾选的话,系统不会渲染你手动设置的任何灯光,即使这些灯光处于勾选状态,自动使用默认灯光渲染场景。所以当你希望不渲染场景中的直接灯光的时候你只需取消勾选这个选项和下面的默认灯光选项。Defaultlights:默认灯光,是否使用max的默认灯光。一般要取消勾选Hiddenlights:隐藏灯光。勾选的时候,系统会渲染隐藏的灯光效果而不会考虑灯光是否被隐藏。Shadows:决定是否渲染灯光产生的阴影。ShowGIonly:仅显示全局光。勾选的时候直接光照将不包含在最终渲染的图像中。但是在计算全局光的时候直接光照仍然会被考虑,但是最后只显示间接光照明的效果。图11显示了勾选这个选项后的效果。图11Reflection/refraction:是否考虑计算VR贴图或材质中的光线的反射/折射效果。Maxdepth:最大深度。用于用户设置VR贴图或材质中反射/折射的最大反弹次数。在不勾选的时候,反射/折射的最大反弹次数使用材质/贴图的局部参数来控制。当勾选的时候,所有的局部参数设置将会被它所取代。Maps:是否使用纹理贴图。Filtermaps:是否使用纹理贴图过滤。Max.transplevels:最大透明程度。控制透明物体被光线追踪的最大深度。Transp.cutoff:透明度中止。控制对透明物体的追踪何时中止。如果光线透明度的累计低于这个设定的极限值,将会停止追踪。Overridemtl:材质替代。勾选这个选项的时候,允许用户通过使用后面的材质槽指定的材质来替代场景中所有物体的材质来进行渲染。这个选项在调节复杂场景的时候还是很有用处的。如果你不指定材质,将自动使用max标准材质的默认参数来替代。Don’trenderfinalimage:不渲染最终的图像。勾选的时候,VR只计算相应的全局光照贴图(光子贴图、灯光贴图和发光贴图)。这对于渲染动画过程很有用。Secondaryraysbias:二次光线偏置距离。设置光线发生二次反弹的时候的偏置距离。2.2.4ImageSampler(Antialiasing):图形采样器(抗锯齿)在VR渲染器中,图像采样器的概念是指采样和过滤的一种算法,并产生最终的像素数组来完成图形的渲染。VR提供了几种不同的采样算法,尽管会增加渲染时间,但是所有的采样器都支持max标准的抗锯齿过滤算法。你可以在Fixedratesampler(固定比率采样器)、AdaptiveQMCsampler(自适应QMC采样器)和Adaptivesubdivision(自适应细分采样器)中根据需要选择一种使用。参数如图12所示图12Fixedratesampler:固定比率采样器。这是VR中最简单的采样器,对于每一个像素它使用一个固定数量的样本。它只有一个参数:Subdivs(细分),这个值确定每一个像素使用的样本数量。当取值为1的时候,意味着在每一个像素的中心使用一个样本;当取值大于1的时候,将按照低差异的蒙特卡罗序列来产生样本。参数如图13所示图13AdaptiveQMCsampler:自适应QMC采样器。参数如图14所示这个采样器根据每个像素和它相邻像素的亮度差异产生不同数量的样本。值得注意的是这个采样器与VR的QMC采样器是相关联的,它没有自身的极限控制值,不过你可以使用VR的QMC采样器中的Noisethreshold参数来控制品质。关于QMC采样器在后面我们会讲到。对于那些具有大量微小细节,如VRayFur物体,或模糊效果(景深、运动模糊灯)的场景或物体,这个采样器是首选。它也比下面提到的自适应细分采样器占用的内存要少。Minsubdivs:最小细分,定义每个像素使用的样本的最小数量。一般情况下,你很少需要设置这个参数超过1,除非有一些细小的线条无法正确表现。Maxsubdivs:最大细分,定义每个像素使用的样本的最大数量。图14Adaptivesubdivisionsampler:自适应细分采样器。参数如图15所示这是一个具有undersampling功能(我无法用汉语来准确表达这个词语的含义,它的意思就是每个像素的样本值可以低于1个)的高级采样器。在没有VR模糊特效(直接GI、景深、运动模糊等)的场景中,它是最好的首选采样器。平均下来,它使用较少的样本(这样就减少了渲染时间)就可以达到其它采样器使用较多样本所能够达到的品质和质量。但是,在具有大量细节或者模糊特效的情形下会比其它两个采样器更慢,图像效果也更差,这一点一定要牢记。理所当然的,比起另两个采样器,它也会占用更多的内存。图15Min.rate:最小比率,定义每个像素使用的样本的最小数量。值为0意味着一个像素使用一个样本,-1意味着每两个像素使用一个样本,-2则意味着每四个像素使用一个样本,依次类推。Max.rate:最大比率,定义每个像素使用的样本的最大数量。值为0意味着一个像素使用一个样本,1意味着每个像素使用4个样本,2则意味着每个像素使用8个样本,依次类推。Threshold:极限值,用于确定采样器在像素亮度改变方面的灵敏性。较低的值会产生较好的效果,但会花费较多的渲染时间。Rand:边缘,略微转移样本的位置以便在垂直线或水平线条附近得到更好的效果。Objectoutline:物体轮廓,勾选的时候使用采样器强制在物体的边进行超级采样而不管它是否需要进行超级采样。注意,这个选项在使用景深或运动模糊的时候会失效。Normals:法向,勾选将使超级采样沿法向急剧变化,同样,在使用景深或运动模糊的时候会失效。antialiasingfilter:抗锯齿过滤器。除了不支持platematch类型外,VR支持所有max内置的抗锯齿过滤器。上面我们介绍了VR的3种采样器的概念和相关参数。有人会问哪一个采样器是最好的呢?回答是没有最好只有更好!因为好与不好要通过实际操作才能确定,针对不同的场景要求选用不同的合适的采样器才是王道。话虽然这么说,还是有一些技巧的:1.对于仅有一点模糊效果的场景或纹理贴图,选择具有undersampling功能的adaptivesubdivisionsampler(自适应细分采样器)可以说是无与伦比的。2.当一个场景具有高细节的纹理贴图或大量几何学细节而只有少量的模糊特效的时候,选用adaptiveQMCsampler(自适应QMC采样器)是不错的筢,特别是这种场景需要渲染动画的时候。如果使用adaptivesubdivisionsampler可能会导致动画抖动。3.关于内存的使用。在渲染过程中,采样器会占用一些物理内存来储存每个一渲染块的信息或数据,所以使用较大的沉浸块尺寸可能会占用较多的系统,尤其adaptivesubdivisionsampler特别明显,因为它会单独保存所有从渲染块采集的子样本的数据。换句话说,另外两个采样器仅仅只保存从渲染块采集的字样本的合计信息,因而占用的内存会较少。2.2.5VR:Indirectillumination(GI),间接照明(GI)卷展栏参数如图16所示图16我们先来简单看看VR提供的产生间接照明的4种方法:★directcomputation:直接计算。这是最简单的方法,根据每一个表面的shade点独立计算间接照明,这个过程是通过追踪位于这些点上方的不同方向的一些半球光线来实现的。其优点如下:a:这种方法可以保护间接照明中所有的细节(例如小而锐利的阴影);b:直接计算可以解决渲染动画闪烁的缺点;c:不需要占用额外的内存;d:可以正确计算运动模糊中运动物体的间接照明。其缺点如下:a:这个方法对于复杂场景来说是非常慢的(例如渲染室内灯光);b:直接计算往往会导致图像产生较多的noise,解决的途径只有大量增加发射光线的数量,而这会情致较长的渲染时间。★Irradiancemap:发光贴图。这个方法是基于发光缓存技术的。其基本思路是仅计算场景中某些特定点的间接照明,然后对剩余的点进行插值计算。其优点如下:a:发光贴图要远远快于直接计算,特别是具有大量平坦区域的场景;b:相比直接计算来说其产生的内在的noise很小;c:发光贴图可以被保存,也可以被调用,特别是在渲染相同场的不同方向的图像或动画的过程中可以加快渲染速度。d:发光贴图还可以加速从面积光源产生的直接漫反射灯光的计算。其缺点如下:a:由于采用了插值计算,间接照明的一些细节可能会呈模糊;b:如果参数设置过低,可能会导致渲染动画的过程中产生闪烁;c:需要占用额外的内存;d:运动模糊中运动物体的间接照明可能不是完全正确的,也可能会导致一些noise的产生(虽然在大多数情况下无法观察到)。★Photonmap:光子贴图。这种方法是建立在追踪从光源发射出来的,并能够在场景中来回反弹的光线微粒(称之为光子)的基础上的。对于存在大量灯光或较少窗户的室内或半封闭场景来说,使用这种方法是较好的选择。如果直接使用,通常并不会产生足够好的效果。但是,它可以被作为场景中灯光的近似值来计算,从而加速在直接计算或发光贴图过程中的间接照明。其优点如下:1.光子贴图可以速度非常快的产生场景中的灯光的近似值;2.与发光贴图一样,光子贴图也可以被保存或者被重新调用,特别是在渲染相同场景的不同视角的图像或动画的过程中可以加快渲染速度。3.光子贴图是独立于视口的。其中缺点如下:1.光子贴图一般没有一个直观的效果;2.需要占用额外的内存;3.在VR的计算过程中,,运动模糊中运动物体的间接照明计算可能不是完全正确的(虽然在大多数情况下不是问题);4.光子贴图需要真实的灯光来参与计算,无法对环境光(如天光)产生的间接照明进行计算。★lightmap:灯光贴图是一种近似于场景中全局光照明的技术,与光子贴图类似,但是没有其它的许多局限性。灯光贴图是建立在追踪从摄像机可见的许许多多的光线路径的基础上的,每一次沿路径的光线反弹都会储存照明信息,它们组成了一个3d的结构,这一点非常类似于光子贴图。灯光贴图是一种通用的全局光解决方案,广泛地用于室内和室外场景的渲染计算。它可以直接使用,也可以被用于使用发光贴图或直接计算时的光线二次反弹计算。其优点如下:1.灯光贴图很容易设置,我们只需要追踪摄像机可见的光线。这一点与光子贴图相反,后者需要处理场景中的每一盏灯光,通常对每盏灯光还需要单独设置参数。2.灯光贴图的灯光类型没有局限性,几乎支持所有类型的灯光(包括天光、自发光、非物理光、光度学灯光等等,当然前提是这些灯光类型被VR渲染器支持)。与此相比,光子贴图在再生灯光特效的时候会有限制。例如光子贴图无法再生天光或不使用反向的平方衰减形式的MAX标准omni灯的照明;其缺点如下:1.和发光贴图一样,灯光贴图也是独立于视口,并且在摄像机的生气勃勃定位置产生的,然而,它为间接可见的部分场景产生了一个近似值,例如在一个封闭的房间里面使用一个灯光贴图就可以近似完全的计算GI;2.目前灯光贴图仅仅支持VR的材质;3.和光子贴图一样,灯光贴图也不能自适应,发光贴图则可以计算用户定义的固定的分辨率;4.灯光贴图对bump贴图类型支持不够好,如果你想使用bump贴图来达到一个好的效果的话,请选用发光贴图或直接计算GI类型;5.灯光贴图也不能完全正确计算运动模糊中的运动物体,但是由于灯光贴图及时模糊GI所以会显得非常光滑。如何选用这些类型的贴图?原则当然还是具体情况具体分析,根据不同的场景要求选择不同的类型。如图17、18、19所示图17图18图19另外的概念是GI的初级反弹和次级反弹(二次反弹)。在VR中,间接光照明被分成两大块来控制:初级漫反射反弹(primarydiffusebounces)和次级漫反射反弹(secondarydiffusebounces)。当一个shaded点在摄像机中可见或者光线穿过反射/折射表面的时候,就会产生初级漫射反弹。当shaded点饮食在GI计算中的时候就产生次级漫反射反弹。On:决定是否计算场景中的间接光照明。GIcaustics:全局光焦散,全局光焦散描述的是GI产生的焦散这种光学现象。它可以由天光、自发光物体等产生。但是由直接光照产生的焦散不受这里参数的控制,你可以使用单独的“焦散”卷展栏的参数来控制直接光照的焦散。不过,GI焦散需要更多的样本,否则会在GI计算中产生噪波。RefractiveGIcaustics:GI折射焦散。间接光穿过透明物体(如玻璃)时会产生折射焦散。注意这与直接光穿过透明物体而产生的焦散不是一样的。例如,你在表面天光穿过窗口的情形的时候可能会需要计算GI折射焦散。ReflectiveGIcaustics:GI反射焦散。间接光照身到镜射表面的时候会产生反射焦散。默认情况下,它是关闭的,不仅因为它对最终的GI计算贡献很小,而且还会产生一些不希望看到的噪波。Post-processing:后加工选项组。这里主要是对间接光照明在增加到最终渲染图像前进行一些额外的修正。这些默认的设定值可以确保产生物理精度效果,当然用户也可以根据自己需要进行调节。建议一般情况下使用默认参数值。First(primary)diffusebounces:初级漫射反弹选项组。如图20所示Multiplier:倍增值,这个参数决定为最终渲染图像贡献多少初级漫射反弹。注意默认的取值1.0可以得到一个很好的效果。其它数值也是允许的,但是没有默认值精确。PrimaryGIengine:初级GI引擎下拉列表。允许用户为初级漫射反弹选择一种我们前面介绍的GI渲染引擎。图20Secondarydiffusebounces:次级漫射反弹选项组,参数见图21Multiplier:倍增值,确定在场景照明计算中次级漫射反弹的效果。注意默认的取值1.0可以得到一个很好的效果。其它数值也是允许的,但是没有默认值精确。Secondarydiffusebouncesmethod:次级漫射反弹方法选择列表。在这个列表中用户可以为次级漫射反弹选择一种计算方法。图21Quasi-MonteCarloGI:准蒙特卡罗GI渲染引擎卷展栏,参数如图22所示这个卷展栏只有在用户选择准蒙特卡罗GI渲染引擎作为初级或次级漫射反弹引擎的时候才能被激活。使用准蒙特卡罗算法来计算GI是一种强有力的方法,它会单独的验算每一个shaded点的全局光照明,因而速度很慢,但是效果也是最精确的,尤其是需要表现大量细节的场景。为了加快准蒙特卡罗GI的速度,用户在使用它作为初级漫射反弹引擎的时候,可以在计算次级漫射反弹的时候选择较快速的方法(例如使用光子贴图或灯光贴图渲染引擎)。图22准蒙特卡罗GI渲染引擎只有两个参数:Subdivs:细分数值,设置计算过程中使用的近似的样本数量。注意,这个数值并不是VR发射的追踪光线的实际数量,这些光线的数量近似于这个参数的平方值,同时也会受到QMC采样器的限制。Depth:深度,这个参数只有当次级漫射反弹设为准蒙特卡罗引擎的时候才被激活。它设置计算过程中次级光线反弹的次数。Irradiancemap:发光贴图卷展栏。部分允许用户控制和调节发光贴图的各项参数,这个郑展栏只有在发光贴图被指定为当前初级漫射反弹引擎的才能被激活。为了理解这些参数的含义,我们先来看看发光贴图是如何工作的。发光(irradiance)是被3D空间中任意一点定义的一种功能,它描述从全部可能的方向发射到这一点的光线。通常情况下,发光(irradiance)在每一个方向每一点都是不同的,但是对它可以采取两种有效的约束:每一种约束是表面发光(surfaceirradiance),换句话说就是发光到达的点位于场景中物体表面上,这是一种自然限制,因为我们一般只对场景中的物体照明计算有兴趣,而物体一般是由表面来定义的。每二种约束是漫谢表面发光(diffusesurfaceirradiance),它表现的是灯光被发射到指定表面上的特定点的全部数量,而不会考虑到这些光线来自哪一个方向。在大多数简单的情况下,如果我们假设物体的材质是纯白的和漫反射的,可以认为物体表面的可见颜色代表漫射表面发光(diffusesurfaceirradiance)。在VR渲染器中,发光贴图(irradiancemap)这个术语意味着在计算场景中物体的漫射表面发光的时候会采取一种有效的方法。因为在计算间接光照明的时候,并不是场景的每一个部分都需要同样的细节表现,它会自动判断的重要的部分进行更准确的GI计算,(例如两个物体的结合部位,具有锐利GI阴影的部分)在不重要的部分进行低精度的GI计算(例如巨大而均匀的照明区域)。发光贴图因此被设置为自适应的。发光贴图(irradiancemap)实际上是计算3D空间点的集合(称之为点云)的间接光照明。当光线发射到物体表面,VR会在发光贴图中寻找是否具有与当前点类似的方向和位置的点,从这些已经被计算过的点中提取各种信息,根据这些信息,VR决定是否对当前点的间接光照明计算以发光贴图中已经存在的点来进行充分的内插值替换。如果不替换,当前点的间接光照明会被计算,并被保存在发光贴图中。发光贴图的参数如图23所示图23Currentpreset:当前预设模式,系统提供了8种系统预设的模式供你选择,如无特殊情况,这几种模式应该可以满足一般需要。如图24所示★Verylow:非常低,这个预设模式仅仅对预览目的有用,只表现场景中的普通照明。★low:低,一种低品质的用于预览的预设模式。★Medium:中等,一种中等品质的预设模式,如果场景中不需要太多的细节,大多数情况下可以产生好的效果。★Mediumanimation:中等品质动画模式,一种中等品质的预设动画模式,目标就是减少动画中的闪烁。★High:高,一种高品质的预设模式,可以应用在最多的情形下,即使是具有大量细节的动画。★Highanimation:高品质动画,主要用于解决High预设模式下渲染动画闪烁的问题。★VeryHigh:非常高,一种极高品质的预设模式,一般用于有大量极细小的细节或极复杂的场景。★Custom:自定义,选择这个模式你可以根据自己需要设置不同的参数,这也是默认的选项。图24Minrate:最小比率,这个参数确定GI首次传递的分辨率。0意味着使用与最终渲染图像相同的分辨率,这将使得发光贴图类似于直接计算GI的方法,-1意味着使用最终渲染图像一半的分辨率。通常需要设置它为负值,以便快速的计算大而平坦的区域的GI,这个参数类似于(尽管不完全一样)自适应细分图像采样器的最小比率参数。Maxrate:最大比率,这个参数确定GI传递的最终分辨率,类似于(尽管不完全一样)自适应细分图像采样器的最大比率参数。Clrthresh:colorthreshold的简写,颜色极限值,这个参数确定发光贴图算法对间接照明变化的敏感程度。圈套的值意味着较小的敏感性,较小的值将使发光贴图对照明的变化更加敏感。Nrmthresh:normalthreshold的简写,法线极限值,这个参数确定发光贴图算法对表面变化的敏感程度。Distthresh:distancethreshold的简写,距离极限值,这个参数确定发光贴图算法对两个表面距离变化的敏感程度。HSph.subdivs:hemisphericsubdivs的简写,半球细分,这个参数决定单独的GI样本的品质。较小的取值可以获得较快的速度,但是也可能会产生黑斑,较高的取值可以得到平滑的图像。它类似与直接计算的细分参数。注意,它并不代表实际数量,光线的实际数量接近于这个参数的平方值,并受QMC采样器相关参数的控制。Interp.samples:interpolationsamples的简写,插值的样本,定义被用于插值计算的GI样本的数量。较大的值会趋向于模糊GI的细节,虽然最终的效果很光滑,较小的取值会产生更光滑的细节,但是也可能会产生黑斑。Showcalcphase:显示计算相位。勾选的时候,VR在计算发光贴图的时候将显示发光贴图的传递。同时会减慢一点渲染计算,特别是在渲染大的图像的时候。Showdirectlight:显示直接照明,只有Showcalcphase勾选的时候才能被激活。它将促使VR在计算发光贴图的时候,显示初级漫射反弹除了间接照明外的直接照明。Showsamples:显示样本,勾选的时候,VR将在VFB窗口以小原点的形态直观的显示发光贴图中使用的样本情况。如图25所示图25Interpolationtype:插补类型,系统提供了4种类型供你选择。如图26所示图26Weightedaverage:加权平均值,根据发光贴图中GI样本点到插补点的距离和法向差异进行简单的混合到得。Leastsquaresfit:最小平方适配,默认的设置类型,它将设法计算一个在发光贴图样本之间最合适的GI的值。可以产生比加权平均值更平滑的效果,同时会变慢。Delonetriangulation:三角测量法,几乎所有其它的插补方法都有模糊效果,确切的说,它们都趋向于模糊间接照明中的细节,同样,都有密度集团的倾向。与它们不同的是,delonetrangulation不会产生模糊,它可以保护场景细节,避免产生密度集团。但是由于它没有模糊效果,因此看上去会产生更多的噪波(模糊趋向于隐藏噪波)。为了得到充分的效果,可能需要更多的样本,这可以通过增加发光贴图的半球细分值或者较小QMC采样器中的噪波临界值的方法来完成。Leastsquareswithvoronoiweights:这种方法是对最小平方适配方法缺点的修正,它相当的缓慢,而且目前可能还有点问题。不建议采用。虽然各种插补类型都有它们自己的用途,但是最小平方适配类型和三角测量类型是最有意义的类型。最小平方适配可以产生模糊效果,隐藏噪波,得到光滑的效果,使用它对具有大的光滑表面的场景来说是很完美的。三角测量法一种更精确的插补方法,一般情况下,需要设置圈套的半球细分值和较高的最大比率值(发光贴图),因而也需要更多的渲染时间。但是可以产生没有模糊的更精确的效果,尤其是具有大量细节的场景中显得更为明显。Samplelookup:样本查找,这个选项在渲染过程中使用,它决定发光贴图中被用于插补基础的合适的点的选择方法。系统提供了3种方法供选择。参数如图27所示图27Nearest:最靠近的,这种方法将简单的选择发光贴图中那些最靠近插补点的样本(至于有多少点被选择由插补样本参数来确定)。这是最快的一种查找方法,而且只用于VR早期的版本。这个方法的缺点是当发光贴图中某些地方样本密度发生改变的时候,它将在高密度的区域选取更多的样本数量。Nearestquad-balanced:最靠近四方平衡,这是默认的选项,是针对nearest方法产生密度偏置的一种补充。它把插补点在空间划分成4个区域,设法在它们之间寻找相等数量的样本。它比简单的nearest方法要慢,但是通常效果要好。其缺点是有时候在查找样本的过程中,可能会拾取远处与插补点不相关的样本。Precalculatedoverlapping:预先计算的重叠,这种方法是作为解决上面介绍的两种方法的缺点而存在的。它需要对发光贴图的样本有一个预处理的步骤,也就是对每一个样本进行影响半径的计算。这个半径值在低密度样本的区域是较大的,高密度样本的区域是较小的。当在任意点进行插补的时候,将会选择周围影响半径范围内的所有样本。其优点就是在使用模糊插补方法的时候,产生连续的平滑效果。即使这个方法需要一个预处理步骤,一般情况下,它也比另外两种方法要快速。作为3种方法中最快的nearest更多时候是用于预览目的,nearestquad-balanced大多数情况下可以完成的相当好,而Precalculatedoverlapping似乎是3种方法中最好的。注意,在使用一种模糊效果的插补的时候,样本查找的方法选择是最重要的,而在使用delonetriangulation的时候,样本查找的方法对效果没有太大影响。Calc.passinterpolationsamples:计算传递插补样本,在发光贴图计算过程中使用,它描述的是已经被采样算法计算的样本数量。较好的取值范围是10-25,较低的数值可以加快计算传递,但是会导致信息存储不足,较高的取值将减漫速度,增加加多的附加采样。一般情况下,这个参数值设置为默认的15左右。Usecurrentpasssamples:使用当前过程的样本,在发光贴图计算过程中使用,勾选的时候,将促使VR使用所有迄今为止计算的发光贴图样本,不勾选的时候,VR将使用上一个过程中收集的样本。而且在勾选的时候将会促使VR使用较少的样本。因而会加快发光贴图的计算。Randomizesamples:随机样本,在发光贴图计算过程中使用,勾选的时候,图像样本将随机放置,不勾选的时候,将在屏幕上产生排列成网格的样本。默认勾选,推荐使用。Checksamplevisibility:检查样本的可见性,在渲染过程中使用。它将促使VR仅仅使用发光贴图中的样本,样本在插补点直接可见。可以有效的防止灯光穿透两面接受完全不同照明的薄壁物体时候产生的漏光现象。当然,由于VR要追踪附加的光线来确定样本的可见性经会减漫渲染速度。Mode:模式,这个选项组允许用户选择使用发光贴图的方法。参数如图28图28Bucketmode:块模式,在这种模式下,一个分散的发光贴图被运用在每一个渲染区域(渲染块)。这在使用分布式渲染的情况下尤其有用,因为它允许发光贴图在几部电脑之间进行计算。与单帧模式相比,块模式可能会有点慢,因为在相邻两个区域的边界周围的边都要进行计算。即使如此,得到的效果也不会太好,但是可以通过设置较高的发光贴图参数来减少它的影响。(例如使用高的预设模式、更多的半球细分值或者在QMC采样器中使用较低的噪波极限值)。Singleframe:单帧模式,默认的模式,在这种模式下对于整个图像计算一个单一的发光贴图,每一帧都计算新的发光贴图。在分布式沉浸的时候,每一个渲染服务器都各自计算它们自己的针对整体图像的发光贴图。这是渲染移动物体的动画的时候采用的模式,但是用户要确保发光贴图有较高的品质以避免图像闪烁。Multiframeincremental:多重帧增加模式,这个模式在渲染仅摄像机移动的帧序列的时候很有用。VRAY将会为第一个帧计算一个新的全图像的发光贴图,而对于剩下的渲染帧,VRAY高潮重新使用或精炼已经计算了的存在的发光贴图。如果发光贴图具有足够高的品质也可以避免图像闪烁。这个模式可能够被用于网络渲染中,每一个渲染服务器都计算或精炼它们自身的发光贴图。Fromfile:从文件模式。使用这种模式,在渲染序列的开始帧,VRAY简单的导入一个提供的发光贴图,并在动画的所有帧中都是用这个发光贴图。整个渲染过程中不会计算新的发光贴图。Addtocurrentmap:增加到当前贴图模式,在这种模式下,VRAY钭计算全新的发光贴图,并把它增加到内存中已经存在的贴图中。Incrementaladdtocurrentmap:增加的增加到当前贴图模式,在这种模式下,VRAY将使用内存中已存在的贴图,仅仅在某些没有足够细节的地方对其进行精炼。选择哪一种模式需要根据具体场景的渲染任务来确定,没有一个固定的模式适合任何场景。Browse按钮:在选择fromfile模式的时候,点击这个按钮可以从硬盘上选择一个存在的发光贴图文件导入。Savetofile按钮:点击这个按钮将保存当前计算的发光贴图到内存中已经存在的发光贴图文件中。前提是“在渲染结束”选项组中的“不删除”选项勾选,否则VRAY会自动在渲染任务完成后删除内存中的发光贴图。Resetirradiancemap:点击可以清除储存在内存中的发光贴图。Onrenderend:在渲染结束选项组。这个选项组控制VRay渲染器在渲染过程结束后如何处理发光贴图。其参数如图29所示图29Not’tdelete:不删除,这个选项默认是勾选的,意味着发光贴图将保存在内存中直到下一次渲染前,如果不勾选,VRAY会在渲染任务完成后删除内存中的发光贴图。Autosave:自动保存,如果这个选项勾选,在渲染结束后,VRAY将发光贴图文件自动保存到用户指定的目录。如果你希望在网络渲染的时候每一个渲染服务器都使用同样的发光贴图,这个功能尤其有用。Switchtosavedmap:切换到保存的贴图。这个选项只有在自动保存勾选的时候才能被激活,勾选的时候,VRAY渲染器也会自动设置发光贴图为“从文件”模式。小结本节详尽介绍了VR渲染的核心部分,图像抗拒齿和GI设置,这里的很多参数对渲染速度有着巨大的影响,希望大家好好理解多在参数设置上下一些工夫,为以后以高效率高质量出图打下良好的渲染基础。希望大家多互相交流,不懂就问,勤学苦练。思考题VR渲染中图幅对渲染速度够影响吗?怎样来解决?VR图像抗拒齿有几种方式?它们都对渲染速度影响怎样?对场景有什么要求?VR的渲染全局参数设置需要注意什么问题?首次光反弹和二次光反弹是什么意思?怎样合理选用GI渲染引擎建立个简单场景,并尝试渲染,理解VR的GI效果怎样使用并保存发光贴图课程实例下面练习关于发光贴图的实例。加深对发光贴图模式的理解。在这个教程中将学习如何有效的渲染具有多重视角的静帧场景。我们将加深对发光贴图的多重模式的理解。图30就是我们即将使用的场景。图30在默认情况下发光贴图的模式设置为Singleframe,这允许我们从任何角度来渲染场景,但是每一次发光贴图都会被重新计算。这个场景中有两个摄像机,分别渲染它们的摄像机视图。图31是摄像机01的渲染结果。图31图32是渲染摄像机视图02的结果。图32注意它们不同的渲染时间,在仅仅改变摄像机角度的情况下渲染时间是不一样的,这说明两次渲染使用的发光贴图是不完全一样的,也就是说发光贴图被重新计算了。我们也可以渲染一个视角,保存发光贴图,然后让VRay渲染器在下次渲染的时候使用这个贴图,不进行重新计算。由于系统默认勾选了“不删除”选项,所以上次渲染的发光贴图会保存在内存中。打开VRay:irradiancemap卷展栏,点击Savetofile按钮,指定一个文件名,保存发光贴图。如图33所示图33现在已经把发光贴图保存到硬盘上了,我们将告诉VRay如何调用这个贴图。改变发光贴图的模式到“Fromfile”,点击Browse按钮,选择刚才保存的发光贴图文件。如图34所示图34重新渲染摄像机视图。注意现在VRay不再重新计算发光贴图,直接跳过了前面的计算过程。如图35所示图35注意渲染时间仅仅只有10S多,大大减少了,这是因为不需要计算发光贴图的原因。如果我们使用这个发光贴图来渲染摄像机视图01,会发生什么事情呢?试一试吧,结果如图36所示图36虽然说时间比前面还要短,可是渲染效果实在不敢恭维!很显然,这个结果并不是我们希望的。为什么会这样?因为发光视图仅是部分视角独立的,通俗一点说就是发光贴图的单一样本对任何视角都是正确的(即默认的单帧模式),但是对于特定视角的样本仅仅只是对这个视角是最优化的,VRay并不会计算场景中视角以外的部分的发光贴图。勾选“Showsamples”选项,再次渲染摄像机视图01,你可以看到实际的发光贴图样本如图37所示图37那么在这个新的视角使用以前的发光贴图,而只增加一些必须的样本是不是可行呢?没问题,你只需要设置为Incrementaladdtocurrentmap模式就可以。记住,当前的发光贴图仍然保存在内存中。渲染摄像机视图01,得到效果如图38所示图38可以看到VRay已经增加了更多的样本到发光贴图,图39形象的显示了老的样本(绿色样本)和新的样本(红色样本)的比较。图39现在让我们来看看这个发光贴图的渲染效果。保存当前的发光贴图到先前保存的文件,然后返回到“Fromfile”模式,并关闭“Showsamples”选项。如图40所示图40再次渲染摄像机视图01,得到的效果如图41所示图41实际上不是每次都需要进行保存/导入这个过程。再次设置为Incrementaladdtocurrentmap模式,改变一下视角,渲染图像,图42显示的是渲染透视图的效果。图42图43是又一个视角的渲染效果。图43图44是另一个视角的渲染效果。图44多渲染几个不同的视角后,保存发光贴图文件到先前保存的文件中,选择替代原有文件。注意当前保存的发光贴图文件已经包含了场景不同视角的大量信息。基于此,我们在不增加发光贴图的前提下也能够很好的渲染其它的视角。返回到“Fromfile”模式,然后选择一个近似于你曾经渲染过的视角进行渲染。得到的效果如图45所示图45注意,我们并没有为这个图像增加任何发光贴图!仅仅只是使用了先前计算的发光贴图,这是因为发光贴图已经包含了足够的信息来渲染这个视角的图像,即使在渲染前我们并不增加新的发光贴图。如果发光贴图针对当前的视角的信息不充分的时候,我们得到的渲染效果绝对不会好,这时候需要我们设置为Incrementaladdtocurrentmap模式,补充缺失的信息。下面是一些使用发光贴图渲染多重视角的静帧场景的基本工作流程:★首先准备一个场景(包括几何体、材质、灯光等)★对发光贴图的参数进行设置以达到希望的细节(例如选择一个合适的预设模式),同时调节其它的渲染参数到合适的数值;★为了避免产生奇怪的效果首先清除内存中存在的先前的发光贴图;★设置发光贴图模式为“incrementaladdtocurrentmap”;★渲染足够的你需要的视角,第一个一般都比较慢,因为它是全新计算,接下来的计算就比较快了,因为它只是增加相应的发光贴图计算;★你可以保存这些累积的发光贴图到文件,贴图可以被用于快速的渲染场景的其它近似的视角。稍后如果需要,你可以设置为“fromfile”模式,然后导入保存的发光贴图文件,渲染不同的视角,此时,你也可以返回到“fromfile”模式,如此循环往复。特别提醒:如果你改变了场景的状态,如增加/删除物体,改变材质或灯光等,内存中的发光贴图将不会与之同步更改,此时,你应该清除内存中的发光贴图重新开始新一轮的计算。3.1VRay:Globalphotonmap,全局光子贴图卷展栏其参数如图46所示图46全局光子贴图有点类似于发光贴图,它也是用于表现场景中的灯光,是一个3D空间点的集合(也称之为点云),但是光子贴图的产生使用了另外一种不同的方法,它是建立在追踪场景中光源发射的光线微粒(即光子)的基础上的,这些光子在场景中来回反弹,撞击各种不同的表面,这些碰撞点被储存在光子贴图中。从光子贴图重新计算照明也和发光贴图不同。对于发光贴图,混合临近的GI样本通常采用简单的插补,而对于光子贴图,我们则需要评估一个特定点的光子密度,密度评估的概念是光子贴图的核心,VRay可以使用几种不同的方法来完成光子的密度评估,每一种方法都有它各自的优点和缺点,一般说来这些方法都是建立在搜寻最靠近shaded点的光子的基础上的。值得注意的是,在一般情况下,由光子贴图产生的场景照明的精确性要低于发光贴图,尤其是在具有大量细节的场景中。发光贴图是自适应的,然而光子贴图不是的。另外光子贴图的主要缺陷是会产生边界偏置(boundarybias),这种不希望出现的效果大多数时候表现在角落周围和物体的边缘,即比实际情况要显的暗(黑斑)。发光贴图也会出现这种边界偏置,但是它的自适应的天性会大大减轻这种效果。光子贴图的另外一个缺点是无法模拟天光的照明,这是因为光子需要一个真实存在的表面才能发射,但是至少在VRay中,天空光的产生并不依赖于场景中实际的表面。另一方面,光子贴图也是视角独立的,能被快速的计算,当与其它更精确的场景照明计算方法,如直接计算或发光贴图,结合在一起珠联璧合的时候,可以得到相当完美的效果。注意光子贴图的形成也受到场景中单独灯光参数中的光子设置的制约,具体内容我们在后面灯光的参数中会讲到。Bounces:反弹次数,控制光线反弹的近似次数,较大的反弹次数会产生更真实的效果,但是也会花费更多的渲染时间和占用更多的内存。Autosearchdist:自动搜寻距离,勾选的时候,VRay会估算一个距离来搜寻光子。有时候估算的距离是合适的,在某些情况下它可能会偏大(这会导致增加渲染时间)或者偏小(这会导致图像产生噪波)。Searchdist:搜寻距离,这个选项只有在“Autosearchdist”不勾选的时候才被激活,允许用户手动设置一个搜寻光子的距离,记住,这个值取决于你的场景的尺寸,较低的取值会加快渲染速度,但是会产生较多的噪波;较高的取值会减慢渲染速度,但可以得到平滑的效果。Maxphotons:最大光子数,这个参数决定在场景中shaded点周围参与计算的光子的数量,较高的取值会得到平滑的图像,从而增加渲染时间。Multipler:倍增值,用于控制光子贴图的亮度。Maxdensity:最大密度,这个参数用于控制光子贴图的分辨率(或者说占用的内存)。VRay需要随时存储新的光子到光子贴图中,如果有任何光子位于最大密度指定的距离范围之内,它将自动开始搜寻,如果当前光子贴图中已经存在一个相配的光子,VRay会增加新的光子能量到光子贴图中,否则,VRay将保存这个新光子到光子贴图中,使用这个选项在保持光子贴图尺寸易于管理的同时发射更多的光子,从而得到平滑的效果。Converttoirradiancemap:转化为发光贴图,这个选项勾选后将会促使VRay预先计算储存在光子贴图中的光子碰撞点的发光信息,这样做的好处是在渲染过程中进行发光插补的时候可以使用较少的光子,而且同时保持平滑效果。Interp.Samples:插补样本,这个选项用于确定勾选“Converttoirradiancemap”选项的时候,从光子贴图中进行发光插补使用的样本数量。Convexhullareaestimate:凸起表面区域评估,在这个选项不勾选的时候,VRay将只使用单一化的算法来计算这些被光子覆盖的区域,这种算法可能会在角落处产生黑斑。勾选后,可以基本上可以避免因此而产生的黑斑,但是同时会减慢渲染速度。Storedirectlight:存储直接光,在光子贴图中同时保存直接光照明的相关信息。Retracethreshold:折回极限值,设置光子进行来回反弹的倍增的极限值。Retracebounces:折回反弹,设置光子进行来回反弹的次数。数值越大,光子在场景中反弹次数越多,产生的图像效果越细腻平滑,但渲染时间就越长。MODE选项组:你也可以把当前使用的光子贴图保存在硬盘上,方便以后调用。Chaosgroup公司也提供了一个关于光子贴图的实例教程,下面就让我们来学习它。光子贴图是一种处理全局光的技术。和发光贴图不同,发光贴图是从摄像机开始追踪场景中的光线,而光子贴图则是从光源开始追踪处理光线照明的。但是这两种方法并不是互相排斥的,实际上最好的效果就是把发光贴图和光子贴图结合起来使用!首先看看我们将使用的max场景文件,它是一个具有不同颜色的墙的封闭空间,有一盏聚光灯。由于目前光子贴图仅仅支持VR材质,所以这些墙都使用了VR材质。我们可以先看一下聚光灯的参数设置,注意它的倍增值比较高,而且设置为反向平方的衰减方式,原因在于在真实的世界中,灯光都是以这种方式衰减的,默认情况下,光子贴图也是产生的这种衰减效果。如图47所示图47渲染透视图的效果:如图48所示图48打开VRay渲染器的GI设置,将初级和次级反弹全部设为光子贴图。取消自动搜寻的勾选,设置最大光子为0,折回极限值为0,最大密度为10。如图49所示图49渲染透视图,效果如图50所示图50场景显的有点暗,这可以通过增加次级反弹倍增值到1.0来解决。然后再次渲染透视图。效果如图51所示图51渲染速度很快,场景也变亮了。但是很显然,这样的渲染效果谁都不会接受!进入渲染场景对话框中,打开“system”卷展栏,点击“LightSetting”按钮,此时会弹出VRaylightproperties对话框,设置Diffusesubdivs参数为500,(关于具体的参数含义我们将在后面学习)。如图52所示图52再次渲染透视图,结果如图53所示图53光子追踪的阶段比较长,图像质量有所改善,但是画面上仍然有斑点,通过增加光子搜寻半径值可以很好的解决这个问题。将此参数设置为40,重新渲染,效果如图54所示图54注意观察墙的角落都存在着黑色的区域,在光子贴图中要完全消除它是很难的,但是,我们可以尽量减少它们。设置最大密度为5,搜寻半径为10。再次渲染,效果如图55所示图55可以看到墙角的黑色区域基本上都被照亮了,但是该死的斑点又出现了。回到灯光参数面板,设置Diffusesubdivs参数为1500,再次渲染,效果如图56所示图56虽然已经有所改善,但显然不够,再次增加搜寻半径,大家自己尝试一下增加到一个合适的值。但是,这里我们使用发光贴图来完成这个任务。在GI卷展栏中,设置初级反弹类型为发光贴图,设置为“high”的预设模式。如图57所示图57渲染透视图,效果如图58所示图58效果还算不错,相比较渲染时间也增加了不少。这个场景是一个相当简单的场景,下面我们再使用一个相对复杂的场景来说明光子贴图的运用。如果直接渲染摄像机视图,得到结果如图59所示图59注意:光子贴图是不支持天光的,原因在于光子需要一个真实的发射表面,所以光子贴图对室外开放的场景是不适合的。在这个场景中,建筑物的顶端放置了一个VRayLight来模拟天光效果。勾选GI,然后设置初级反弹和次级反弹的类型都为光子贴图类型,设置次级反弹的倍增值为1.0,关闭自动搜寻选项,设置折回反弹为0,最大光子为0,如图60所示图60现在我们要做的是确定一个合适的最大密度值,根据它来设置搜寻距离的取值。一般说来,最大密度的值取决于场景的比例和希望得到的光子贴图的细节。现在场景中已经包含一个Tape帮助物体,其测量的数值大约是6个max单位,将最大密度设置为这个距离的1/10是不错的选择,而搜寻距离设置为最大密度的2倍,即1.2个max单位。如图61所示图61渲染摄像机视图,效果如图62所示图62效果有点模糊,显然我们需要降低最大密度和搜寻距离的取值。经过多次验证,最终我们设定最大密度为0.05,搜寻距离为0.1。渲染摄像机视图效果如图63所示图63噪波太厉害,但是你应该注意到所需要的细节(看斑点的尺寸)已经表现出来了。我们看到场景中产生了黑色的区域,造成目前状况的原因是因为光源没有发射足够的光子到场景中。进入系统卷展栏,设置两个光源的漫射细分值为500,再次渲染,得到效果如图64所示图64这次光子追踪的时间已经比刚才要长了,效果已经明显改观,但是还差太远。返回灯光参数设置,设置direct01的漫射细分为2000,VRaylight01的漫射细分为2500。再次渲染,如图65所示图65追踪光子花费了更长的时间,但是效果比上次要好多了。为了节约后面的渲染时间,我们可以把当前使用的光子贴图保存在硬盘上,然后调用它。选择savetofile按钮,保存当前使用的光子贴图。如图66所示修改光子贴图的模式为Fromfile,并选择刚才保存的光子贴图文件,增加搜寻距离到0.4。如图67所图67再次渲染摄像机视图,效果如图68所示图68由于使用了先前保存的光子贴图,渲染速度很快,图像也显的很平滑。但是仔细观察,你会发现物体的边都呈黑色。解决的方法是搭配使用发光贴图。将搜寻距离重新设置为0.1,选择初级反弹为发光贴图类型,勾选Showcalc.phase选项,设置为“高”的预设类型。如图69所示图69渲染摄像机视图,此时得到的效果如图70所示图70注意光子贴图也是视角独立的,我们可以渲染另一个视角而不重新计算光子贴图(发光贴图仍然会被计算),渲染摄像机02视图,得到如图71所示效果图71我们把初级反弹的类型重新修改为光子贴图,仍然使用原先的光子贴图。渲染如图72图72可以看到由于改变了视角,在两个表面相交处黑斑特别明显,这是因为光子贴图在这些区域不平滑造成的。解决方法之一就是增加光子的发射数量,这个方法我们在前面已经讲过。另一个方法就是在折回极限值的默认2.0的基础上增加它的取值,这直接导致VRay次级反弹在角落处直接计算GI。图73就是折回极限设置为2.5,搜寻距离为0.1的渲染效果。图73对光子贴图简单总结一下:★在实际使用过程中,光子贴图一般与其它类型的贴图结合使用,完全单独的使用光子贴图很难达到理想的效果,并且渲染时间会很长;★在光子贴图中重要的参数是最大密度以及由最大密度确定的搜寻距离,最大密度的取值根据场景的比例以及期望的效果来进行设置,而搜寻半径大致为最大密度的2倍;★计算好的光子贴图可以保存在硬盘上,必要时可以随时调用;★光子贴图时视角独立的,使用时千万要注意,当场景中视角改变的时候,光子贴图也要随之改变,否则可能得不到希望的结果。3.1.1灯光贴图。关于灯光贴图,我们在前面的学习中已经简单的介绍了与其它方法相比较的优缺点。它是近似计算场景中间接光照明的一种技术,与光子贴图及其相似,但是没有光子贴图那么多的局限性,它追踪的是场景中许许多多的来自摄像机的视线路径(eyepath),发生在每一条路径上的反弹会将照明信息储存在一种3D的结构中。从某种意义上来说,在另一方面,它与光子贴图截然不同,光子贴图追踪的是来自光源的光线,然后储存这些光子能量在光子贴图中。灯光贴图的参数如图74所示图74Subdivs:细分,确定有多少条来自机的路径被追踪。不过要注意的是实际路径的数量是这个参数的平方值,例如这个参数设置为2000,那么被追踪的路径数量将是2000×2000=4000000。Samplesize:样本尺寸,决定灯光贴图中样本的间隔。较小的值意味着样本之间相互距离较近,灯光贴图将保护灯光锐利的细节,不过会导致产生噪波,并且占用较多的内存,反之亦然。根据灯光贴图scale模式的不同,这个参数可以使用世界单位,也可以使用相对图像的尺寸。Scale:比例,有两种选择,主要用于确定样本尺寸和过滤器尺寸。Screen:场景比例,这个比例是按照最终渲染图像的尺寸来确定的,取值为1.0意味着样本比例和整个图像一样大,靠近摄像机的样本比较小,而远离摄像机的样本则比较大。注意这个比例不依赖于图像分辨率。这个参数适合于静帧场景和每一帧都需要计算灯光贴图的动画场景。World:世界单位,这个选项意味着在场景中的任何一个地方都使用固定的世界单位,也会影响样本的品质――――靠近摄像机的样本会被经常采样,也会显得更平滑,反之亦然。当渲染摄像机动画时,使用这个参数可能会产生更好的效果,因为它会在场景的任何地方强制使用恒定的样本密度。Storedirectlight:存储直接光照明信息,这个选项勾选后,灯光贴图中也将今朝和插补直接光照明的信息。这个选项对于有许多灯光,使用发光贴图或直接计算GI方法作为初级反弹的场景特别有用。因为直接光照明包含在了灯光贴图中,而不是再需要对每一个灯光进行采样。不过请注意只有场景中灯光产生的漫反射照明才能被保存。作壁上观设你想使用灯光贴图来近似计算GI,同时又想保持直接光的锐利,请不要勾选这个选项。Showcalc.phase:显示计算状态,打开这个选项可以显示被追踪的路径。它对灯光贴图的计算结果没有影响,只是可以给用户一个比较直观的视觉反馈。Pre-filter:预过滤器,勾选的时候,在渲染前灯光贴图中的样本会被提前过滤。注意,它与我们下面将要介绍的灯光贴图的过滤是不一样的!那些过滤是在渲染中进行的。预过滤的工作流程是:依次检查每一个样本,如果需要就修改它,以便其达到附近样本数量的平均水平。更多的预过滤样本将产生较多模糊和较少的噪波的灯光贴图。一旦新的灯光贴图从硬盘上导入或被重新计算后,预过滤就会被计算。Filter:过滤器,这个选项确定灯光贴图在渲染过程中使用的过滤器类型。过滤器是确定在灯光贴图中以内插值替换的样本是如何发光的。None:没有,即不使用过滤。这种情况下,最靠近着色点(shadedpoint)的样本被作为发光值使用,这是一种阳快的选项,但是如果灯光贴图具有较多的噪波,那么在拐角附近可能会产生斑点。你可以使用上面提到的预过滤来减少噪波。如果灯光贴图仅仅被用于测试目的或者只作为次级反弹被使用的话,这个是最好的选择。Nearest:最靠近的,过滤器会搜寻最靠近着色点(shadedpoint)的样本。并取它们的平均值。它对于使用贴图作为次级反弹是有用的,它的特性是可以自适应灯光贴图的样本密度,并且几乎是以一个恒定的常量来被计算的。灯光贴图中有多少最靠近的样本被搜寻是由插补样本的参数值来决定的。Fixed:固定的,过滤器会搜寻距离着色着(shadedpoint)某一确定距离内的灯光贴图的所有样本,并取平均值。它可以产生比较平滑的效果,其搜寻距离是由过滤尺寸参数决定的,较大的取值可以获知得较模糊的效果,其典型取值是样本尺寸的2-6倍。Mode:模式,确定灯光贴图的渲染模式。Singleframe:单帧,意味着对动画中的每一帧都计算新的灯光贴图。Fly-through:使用这个模式将意味着对整个摄像机动画计算一个灯光贴图,仅仅只有激活时间段的摄像机运动被考虑在内,此时建议使用世界比例,灯光贴图只在渲染开始的第一帧被计算,并在后面的帧中被反复使用而不会被修改。Fromfile:从文件,在这种模式下灯光贴图可以作为一个文件被导入。注意灯光贴图中不包含过滤器,预过滤的过程在灯光贴图被导入后才完成,所以你能调节它而不需要验算灯光贴图。关于使用灯光贴图的注意事项:★在使用灯光贴图的时候不要将QMC采样器卷展栏中的“adaptationbyimportanceamount”参数设为0,否则会导致额外的渲染时间;★不要给场景中大多数物体指定纯白或接近于纯白的材质,这也会增加渲染时间,原因在于场景中的反射光线会逐渐减少,导致灯光贴图追踪的路径渐渐变长。基于此,同时也要避免将材质色彩的RGB趣事的任何一个设置在255或以上值。★目前,灯光贴图仅支持VRAY自带的材质,使用其它材质将无法产生间接照明。不过你可以使用标准的自发光材质来作为间接照明的光源。★在动画中使用灯光贴图的时候,为避免出现闪烁,需要设置过滤器尺寸为一个足够大的值。★在初级反弹和次级反弹中计算灯光贴图是不一样的,所以不要将在一个模式下计算的灯光贴图调用到另一个模式下使用,否则会增加渲染时间或者降低图像品质。这种GI的计算方法,Chaosgroup官方没有提供相应的教程,只有靠我们自己来进行摸索了。我们还是使用前面光子贴图的教程中使用的第二个场景来测试。就是那个教堂的场景,文件我在前面已经提供了。打开场景文件,由于前面我们提到过当前灯光贴图仅支持VR材质,所以第一步就是将场景中的非VR材质转换为VR材质。(这个场景中的材质都已经使用的是VR材质)在任意视图点击右键,选择“VRaysceneconverter”选项,系统会弹出一个询问对话框“场景中所有的材质和光影追踪阴影都将被转换为VR材质和阴影,你确定吗?”,当然选择“是”,此时系统又会弹出一个提示对话框“场景已经被转换,你可能需要保存场景并重新打开场景”,当然按照提示操作啦,至于不按照提示操作会有什么后果。如图75所示如图75将初级反弹和次级反弹方式都设置为灯光贴图类型,勾选“Showcalc.phase”选项,其它使用默认参数,如图76所示图76渲染摄像机视图01,效果如图77所示注意VFB窗口,观察灯光贴图的构建过程。整个画面偏暗,就和我们前面使用光子贴图的效果一样,当然同样采取增加次级反弹倍增值的方法来解决,修改为1.0,再次渲染摄像机视图,如图78所示图78呵呵,画面明显变的明亮起来。将过滤器的模式修改为none,渲染,效果如图79所示图79灯光贴图的计算速度果然够快,不过渲染图像也产生了一些斑点。勾选预过滤器选项,并增加细分值到1500。如图80所示图80再次渲染效果如图81所示图81图像效果已经得到显著改善。点击savetofile按钮,保存当前的灯光贴图文件在硬盘上指定目录。如图82所示图82将模式修改为“从文件”,并选择刚才保存的灯光贴图文件。如果渲染视图,你会发现在极短的时间内会完成渲染。现在设置初级反弹为发光贴图类型,并选择“高”预设模式。如图83所示图83再次渲染摄像机视图,结果如图84所示图84当视角发生变化时,如果使用以前保存的另一个视角的灯光贴图可能会导致意外的渲染结果。参数保持不变,渲染摄像机视图02,得到的结果如图85图85这是需要设置为单帧模式,重新计算灯光贴图,结果如图86所示图86乍看好像没有多大区别,但是仔细观察就会发现后者的细节更丰富。灯光贴图的参数比较少,也比较好理解。4.1Caustics:焦散VR渲染器支持焦散效果的渲染,为了产生这种效果,在场景中,必须同时具有合适的产生焦散的物体和接收焦散物体(至于如何设置这些物体,我们将在后面的系统卷展栏的“物体设置”和“灯光设置”中详细讲述)。其参数如图87所示图87Multiplier:倍增值,控制焦散的强度,它是一个全局控制参数,对场景中的所有产生焦散特效的光源都有效。如果你希望不同的光源产生不同强度的焦散,请使用局部参数设置。注意:这个参数与局部参数的效果是叠加的。Searchdist:搜寻距离,当VR追踪撞击在物体表面的某些点的某一个光子的时候,会自动搜寻位于周围区域同一平面的其它光子,实际上这个搜寻区域是一个中心位于初始光子的圆形区域,其半径就是由这个搜寻距离确定的。Maxphotons:最大光子数,当VR追踪撞击在物体表面的某些点的某一个光子的时候,也会将周围区域的光子计算在内,然后根据这个区域内的光子数量来均分照明。如果光子的实际数量超过了最大光子数的设置,VR也只会按照最大光子数来计算。Mode:模式,控制发光贴图的模式。Newmap:新的贴图,选用这种模式的时候,光子贴图将会被重新计算,其结果将会覆盖先前渲染过程中使用的焦散光子贴图。Savetofile:保存到按钮,可以将当前使用的焦散光子贴图保存在指定文件夹中。Fromfile:从文件,允许你导入先前保存的焦散光子贴图来计算。Don’tdelete:不删除,当勾选的时候,在场景渲染完成后,VR会将当前使用的光子贴图保存在内存中,否则这个贴图会被删除,内存被清空。Autosave:自动保存,浩气长存后,在渲染完成后,VR自动保存使用的焦散光子贴图到指定的目录。Switchtosavedmap:转换到保存的贴图,在autosave勾选时才激活,它会自动促使VR渲染器黑心换到Fromfile模式,并使用最后保存的光子贴图来计算焦散。图88中共同的参数设置是Sph.subdivs=50,Multiplier=17000,Maxphotons=60,为了更明显的看到每一个单独的光子,Sph.subdivs的参数故意设置的很低。图88图89中共同参数设置Sph.subdivs=300,Multiplier=1700,Maxphotons=60。光子数量相比之下增加了,但是相对VR的默认参数来说还是偏低的。图89图90中共同参数设置为Sph.subdivs=4000,Multiplier=17000,Searchdistance=0.5,光子数量急剧增加,搜寻距离很小,以便最大光子的效果更明显。图90图91主要显示了折射材质产生的焦散平滑与否的效果。共同的参数设置:Multiplier=17000,Searchdist=5,Maxphotons=60。图91看了图片,你应该对焦散的相关参数有了一个更深刻的理解,下面我们还是通过实例的练习来强化理解参数的含义。在这里我们仅仅关注焦散的参数,而对其它相关参数的设置,如环境参数,物体参数,灯光参数等的设置都简单的带过,这些我们将在后面一一讲述。打开场景文件,是一个很简单场景,一个BOX物体作为地面,一个环形节,两个经过编辑的圆柱体,分别被指定了VRay材质(材质的具体参数现在不是我们讨论的范围,在此略过),环境色设为RGB:188/226/255,有一盏目标平行灯,。其参数设置如图92所示图92VR物体参数设置如图93所示(设定产生和接收焦散的物体)图93VR灯光参数设置如图94所示图94勾选on,开启焦散,使用默认参数,渲染透视图,效果如图95所示图95可以看到,场景中的三个物体已经产生了焦散效果,默认参数的效果还不错。现在我们增加倍增值到2.5,其它参数保持不变。结果如图96所示图96可以看到焦散效果明显变亮,甚至有点曝。将倍增值改回为1.0,这次修改搜寻距离的值为0.1,渲染效果如图97所示图97焦散显的有点凌乱,这是

温馨提示

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

评论

0/150

提交评论