光线追踪贴图.doc

上传人:s9****2 文档编号:551012823 上传时间:2023-09-29 格式:DOC 页数:20 大小:1.51MB
返回 下载 相关 举报
光线追踪贴图.doc_第1页
第1页 / 共20页
光线追踪贴图.doc_第2页
第2页 / 共20页
光线追踪贴图.doc_第3页
第3页 / 共20页
光线追踪贴图.doc_第4页
第4页 / 共20页
光线追踪贴图.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《光线追踪贴图.doc》由会员分享,可在线阅读,更多相关《光线追踪贴图.doc(20页珍藏版)》请在金锄头文库上搜索。

1、(以下讨论仅限于raytrace贴图的讨论,对于raytrace材质的一些更为丰富的内容不在讨论之列) 所谓光线追踪(raytrace)是以模拟真实世界中光的某些物理性质为最终目的的。在现实中,无限无数细的光线从各种光源向所有方向放射。数百万的光线投射到物体的表面与其碰撞然后经过反弹或穿透最终遇到摄像机而结束。由于数百万的光线的投射方向并不是全部到达摄像机,这样一来,计算的次数将会特别高。 由于我们只关心实际撞击屏幕的光线,所以在MAX里是从摄像机开始工作,最终到达光源的计算方式,并且在此过程中只分辨确定像素的光线。这种方式实际上是一种反向(Backword)光线追踪。能大大减少计算量。特别是

2、MAX还使用了光线弹射深度(Ray Depth)这一流行的光线追踪技术,也就是每一次一条光线和几个表面碰撞,产生一条新的光线- 通常向其它方向传播。每一次碰撞叫一个深度。在MAX中,设定Ray Depth变量,能控制光线碰撞物体后反弹或折射的次数。缺省值是9,但依据场景的的复杂程度可能需要更多的次的Ray Depth。 有一种快速的方法来检验Ray Depth参数设置是否足够高,如果一条光线达到了最大深度也无法到达光源,Raytracer将按照Maximum Depth右侧的选项决定光线的颜色。在Color to Use at Max Depth选项中,你可以选择渲染背景色或某种特定的颜色。M

3、ax的光线追踪引擎是自适应的,所以不用规定最小值-Raytracer能自动发现每个像素所需要的反射光线的最低数量。一般情况下,一个相对简单的场景简单物体的表面只需要一条或两条光线。 总结:光线追踪要依靠灯光才能正常工作(GI是另外的一种灯光Raydiosity或Phonto),要记住,光线追踪的范围是从摄像机或视点到物体后到光源。放置良好的灯光和复杂丰富的场景和背景会使采用光线追踪的渲染效果更加漂亮。还有一个大家容易忽视的问题,就光线追踪的深度。在反射和折射这两种情况时,他们的深度要求有很大的不同,在设置Raytrace贴图时,人们习惯把他的Ray Depth设置为2或3,以加快计算速度。这是

4、因为在大多数光线反射的情况下,光线到达物体后经过二到三次的反射就会到达摄像机,Ray Depth已经能够满足需要,而不影响画面的效果。在那种情况下要增加Ray Depth呢?一,在场景中存在多个的反射物体,光线会在它们之间来回反射,而它们之间位置的摆放足以影响到对方,足以影响到反射的效果时才加大Ray Depth值。二,当一个反射物体是画面的表现重点,而物体本身形状较为复杂,光线会在物体自身上面来回反射(也包括对场景周围的反射)多次后才到达摄像机或视点,也要加大Ray Depth到适当值,才能不影响到画面的效果。这两种情形也完全同样适用于透明物体的折射,但要强调的是,光线在透明物体内的折射情况

5、比我们想像的要复杂的多,在现实的世界中,随着物体本身的复杂程度,光线会在物体内部多次的穿透折射过去(包括多次的来回于周围场景和物体),一般都会出现Ray Depth死循环的情况(这是自然界真实而必然的现象)!在计算机中,光线从摄像机出发经过多次全角度来回的穿透物体后在限定的Ray Depth次数下仍然到达不了光源,在画面上表现出来就是一个黑色像素或是上面所说的Color to Use at Max Depth选项中你自定的颜色。讲到这里,就不能不说到大多数人在表现透明艺术品时(普通玻璃板除外)经常会碰到的“黑斑的问题。去除黑斑的方法一般有三种: 一,场景最好是全封闭的空间,不要出现未封闭的空洞

6、而在折射时把黑色的背景一起加进了计算。如是户外的场景,要加上个精心制作的球形自发光环境贴图或背景。 二,估算并测试所需的Ray Depth,适当加大Ray Depth值到视觉上感觉不出或可以忽略掉黑斑为止(至少为5),当Ray Depth值过大,以致大大影响到了你的运算速度,我们就要通过Color to Use at Max Depth选项自定一个特定的颜色来修饰(也可以用特定背景色,他和背景上设置的位图贴图有不同作用)。 三,折射率IOR的设置,一般我们都是严格的按照折射率表来设定,但很多国外3D艺术家并不注意这些数据,只是凭感观而定。他们建议如果你刚开始应用折射,从1.1开始,然后调整加大

7、这些值以得到“恰当的观感”。我个人也是喜欢这样来做的,但在摸索对比中发现,同样的设置和同样的物体场景,IOR越小越不容易出现黑色区域,反之,IOR越大越容易出现黑色区域。按我的理解,是因为折射率越大,光线在物体中折射的角度越大,如果物体形状复杂,光线就不容易在限定的Ray Depth值下到达光源,从而渲染出黑色的像素。 接下来讲讲在Max Raytrace反射和折射中容易出现的锯齿现象。通常大家所熟知的解决方法是在Raytrace贴图和材质的Global Settings(全局设置)按钮中勾选Global Ray Antialiaser。 Max提供了两种反锯齿的选项,默认的是智能的快速自适应

8、反锯齿设置(Fast Adaptive Antialiase),另一种则提供了更多的人工设置选项(Multiresolution Adaptive Antialiase)。特别要提的是,它和Scanline引擎下材质中SuperSample(超级采样)是两种完全不同的概念。它对整个场景都用基于Raytrace的计算方法作采样处理,很可怕,这种技术常常被称为重复采样(oversampling),其中Raytracer多次计算扫过渲染图像。每一次都对图像进行分析,确定那些区域要进行更深入的反走样,反锯齿(为渲染出真实的3D反射和折射模糊提供了技术和参数上的保证)。如果你觉得渲染过程对于Raytra

9、cer较长的话,实际上是在等待进行反走样反锯齿处理。 当然,这里有个使用光线追踪反走样反锯齿的主要问题-速度。一旦在Raytraced贴图或材质中用了这个选项,渲染性能就会急剧下降。而且是全局打开Antialiase,场景中所有的相关应用了Raytrace的物体都全部进行Antialiase计算,它的local局部面板只是用来设置个别Raytrace物体的Antialiase参数的(以全局打开Antialiase为前提)! 以下,将用一些图片来说明上面的问题,会更为直观。 在实践中我发现所谓的Max的Antialiase在渲染中不但速度慢得要死,而且效果太过于模糊,远远达不到我们所熟知的men

10、tal ray所渲染的明锐和清晰。但是Max是完全可以达到这种效果的,速度还比Antialiase要快很多,那就是使用Scanline引擎下材质中SuperSample(超级采样)!这是基于扫描线渲染系统的像素的反锯齿。由于这个结果,所以在使用Max Raytrace贴图时,我们可以这样来理解它,如果你要实现明锐和清晰反锯齿效果,我们可以使用SuperSample(超级采样),如果你要实现略微的模糊反折射,可以使用Antialiase,但是要实现非常的模糊反折射,在Antialiase设置中我们还有很多事情要理解。我们就姑且把Antialiase当做是模糊引擎,把SuperSample当做反锯

11、齿引擎吧! 使用SuperSample来反锯齿,Max提供了四种采样方式, 默认的是 MAX2.5 Star 采样方式,它的原理是像素的的中心周围平均进行4个点的采样。 第二种是Adaptive Halton,按离散的“准随机”方式将采样点沿X轴和Y轴分布。根据Quality(品质)的不同设置值,采样点的数目为440。 第三种是Adaptive Uniform,采样点规则分布,品质从最小值4到最大值36,该方式不是平直的,而是稍微有些歪斜,以提高横轴和纵轴方向上的精度。 第四种是Hammersley,采样点沿X轴规则分布,而在Y轴则按离散的“准随机”方式分布,根据Quality(品质)的不同设

12、置值,采样点的数目为440。 一般情况下我们使用MAX2.5 Star 采样方式就可以满足要求了,除非有更高更特殊的反锯齿要求,才使用其它方式,关于这四种方式在效果和速度上有那些差别,篇幅有限,就不做具体的测试了,有兴趣的朋友可以在有时间的时候自己试试,说不定能找到一个自己非常钟爱的采样方式和优化设置!raytrace的模糊。先来说说模糊,主要的效果控制参数是Blur(模糊)和Defocusing(散射(散开)模糊),我们来试试这两个参数的设置的效果: 未开全局反锯齿反走样: 打开全局反锯齿反走样: 开始Blur模糊设置: 我们发现,这两个数值都不能设置的太大,否则画面效果破坏的是惨不忍睹,建

13、议Blur不大于0.1而Defocusing不大于0.03,如果你只是要略微的模糊效果,就用默认的Blur 0.0 和Defocusing 0.0 吧! 那么,有没有办法实现类似final render,brazil r/s ,vray和mental ray等高级光线追踪渲染器里的非常模糊的光线追踪反折射的效果呢?答案是可以。上面我们说过:Max的raytrace采样是重复采样(oversampling),其中Raytracer多次计算扫过渲染图像。每一次都对图像进行分析,确定那些区域要进行更深入的反走样,反锯齿(为渲染出真实的3D反射和折射模糊提供了技术和参数上的保证)。也就是说实现非常模糊

14、的光线追踪反折射的效果,在加大Blur 和 Defocusing 值的同时,为了保证精确的3D模糊运算,必须要加大Raytracer扫描的次数到满意值位为止。 在使用默认的智能的快速自适应反锯齿设置(Fast Adaptive Antialiase)时,Max提供了智能自适应的扫描次数的设置:自动按照Intial Rays(基本光线扫描次数)4,Max.Rays(最大光线扫描次数)15来进行计算。 这个设置只能满足Blur不大于0.1而Defocusing不大于0.03的需要,我们要自己来设置Intial Rays和Max.Rays就要使用下面的另外一种人工设置选项(Multiresoluti

15、on Adaptive Antialiase)。 最后,我用了个较为“恐怖”的数值,达到了满意的模糊效果。 注意:1.你可以在使用Multiresolution Adaptive Antialiase时把Intial Rays和Max.Rays设置为4,4 来大大加快实现略微模糊(Blur 0.0 Defocusing 0.0)的计算速度,而且画面效果还令人满意 。 2.如果你发现在设置很大的Intial Rays和Max.Rays后仍然画面有一点点瑕疵,又不想再增加渲染时间,可以通过更改Blur 和 Defocusing 下面对应Blur Aspect 和 Defocusing Aspect值来改善画面,如果发现图形失真大部分出现在水平方向上,可以尝试将Blur Aspect 增加到1.5,这将改变模糊效果的形状,反之,如果失真大部分出现在竖直方向上,以尝试将Blur Aspect 降到0.5。在blur 1.0时画面较为理想。 开始Defocusing散射(散开)模糊设置: 单管线加速和双管线加速。 raytrace的衰减。 衰减用限制发射或折射环境距离的方法来控制材质上的折射反射量。在真实环境中也是常见到的现象。因为环境反射少了,所以计算时间也相应的减小了,特别是在进行Antialiase处理时。也就是说材质衰减越多,渲染

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号