3dmax中的光子图是什么意思? 为什么要先渲几遍光子图之后再真正渲染? 光子图文件有什么用? 一般渲几遍光子图比较好? ...... 我们常常会遇到关于光子的问题,可能是渲染时卡住了,可能是不知道设置几遍光子比较好。简单来说, 光子贴图是渲染器计算渲染时,直接照明和 间接照明 光子量的总和的图像,可用来调整渲染参数。而Vray跑光子图,准确说法,
Vray在正式渲图前,先要计算光子(或称跑光,跑GI),这个阶段里所耗费的时间跟图的大小密切相关, 大图、小图跑光结果是一样的,但小图完成速度比大图快多了,并且光子计算完的结果是可以保存再调用的。
于是我们常常先用小图来跑光保存,避免大图在每个像素上耗更多时间渲染光子图,可直接渲染最终图像,节省下大图跑光的时间,达到缩短渲染最终大图时间的目的。
01
光线追踪 分为两种:
对象顺序渲染 (object-order rendering):依次渲染每一个对象,然后更新每一个新对象对其它对象的影响。
图片顺序渲染 (imageorder rendering):依次渲染像素,渲染每一个像素是考虑到每一个对象对它的影响。
光线产生 (ray generation):基于摄像机的几何性质计算每一个像素的视线的原点和方向
光线相交 (ray intersection):找到最近和视线相交的物体
着色 (shading):基于光线相交的结果计算最近物体的颜色
02
Irradiance发光图
light cache
灯光缓存也使用近似来计算场景中的全局光照信息,采用了发光贴图和光子贴图的一些特点,在摄像机的可见部分内跟踪光线的发射和衰减,然后把信息存储到一个三维数据结构中,对灯光的模拟类似于光子贴图,计算范围与发光贴图的一致,仅对摄像机可见部分进行计算。 Light Cache灯光缓存是建立在追踪摄影机可见的许许多多光线路径的基础上,和发光贴图正好是相反的,是逆向的,而且它支持任何灯类型,它对灯光没有局限性。 在做预览时是很快的,它可以单独完成对整个场景的GI照明,也可以配合别的贴图做二次反弹。而且这种引擎在墙角处的效果会更好,层次会更细腻。
在Light Cache参数面板中Subdivs参数是非常重要的,它控制了Light Cache的采样,该参数值越大越能得到好的画面效果,同样渲染速度会变慢,Subdivs的意义是确定有多少条来自摄像机的路径被追踪,路径的数量是Subdivs参数的平方值如果Subdivs设置为 300 那么被追踪的路径数量就是300×300=90000条路径,如果Subdivs设置为1000的话 那么被追踪的路径数量为1000×1000=1000000条路径。
注意:由于Light Cache灯光缓存特殊的计算方式,在使用灯光缓存时,尽量不要将材质色彩的RGB值设置到255,这样会导致追踪路径过长从而增加渲染时间。
关 于灯光缓存的详细内容可以看 渲染卡在灯光缓存怎么办?这几个步骤教你解决
看到这里,我们弄明白了渲染光子图的原理和目的,而在教大家怎样进行光子贴图操作设置之前,有几点也需要给大家明确:
跑光子图能节约多少时间呢?
实际上, 这个节省时间的多少是根据你的任务大小、场景设置来的 ,没有一个确定答案。具体应用场景里,如果你的渲染参数比较高,大图的尺寸也比较大,那我们建议就使用先小图跑光子图的方法。
跑光子图时的参数设置?
理论上, 大图的尺寸是小图的4倍以内就可以使用 ,太大就无法保证。
比如你要出一张2000的图,你渲光子的时候,尺寸500就可以了,不会影响出图质量。
具体设置光子的细节上:还要保证场景不变(灯光、物体大小位置,角度),大图与小图的长宽比尺寸需一致,渲染的范围需一样。
影响光子图渲染时间的因素?
(1)电脑配置。
配置再高的电脑,也会渲染很慢,还有反射、细分、卡住的问题;
(2)参数原因。
参数没调对,估计设置得很高,不然就是场景垃圾太多;
(3)渲染设置。
渲染设置是否匹配,不能全靠一个模板就搞定所有场景。
怎么查看光子渲染时间,怎么判断光子是否卡住了?
光子图渲染一般都能很快完成, 如果我们发现渲染时间特别慢的话 ,很大程度上说明这个光子设置有问题,有可能是光子图卡住了。
比如,时间进度里,后面那个需要渲染的时间特别大,或者前后的两个时间无限的接近,但又很长时间都不进入到大图渲染。
这时候,光子图大概率是卡住了,我们需要重新检查参数设置,检查文件大小,比如模型较大的场景文件,VR设置的“动态内存极限”建议修改为3000或3000以上。另外,也可能是材质细分问题,模型精度过高会影响渲染速度,这里可以用白模进行检查。
05
那么如何在3D MAX中设置、保存、调用光子贴图?
如何设置并保存光子图
①在3D max中,打开需要渲染的场景文件,确认相机角度,调整好相关参数,按F10,弹出设置界面,调整好相关参数,比如将图的尺寸缩小在4倍以内都可以。
②在VRay渲染器设置面板里,找到全局开关,在全局开关里,勾选“不渲染最终的图像”(因为我们只是跑个光子图,不用耽搁时间去渲染最终成像)。
③找到GI设置(间接照明),然后首次引擎选择发光贴图,二次引擎选择灯光缓存。在在发光贴图中,可以选择设置发光图预设为“低”。
④在光子图里打开高级或者专家模式,在保存位置设置不删除和自动保存,然后选择保存的位置,并且命名。
⑤在灯光缓存的设置选项里设置保存的位置,找到自动保存,设置方式和步骤4的一样。
⑥设置好后,点击渲染即可,在保存的位置会发现有两个文件,这个就是设置保存的光子图。
渲染完成的光子图如何调用?
我们在上面的设置中,会发现保存后有两个文件,这是我们分别在发光贴图和灯光缓存下保存出的文件。建议在保存设置时,区分好发光图和灯光缓存,并做好备注。
①选择对应文件。
有了这两个文件以后,我们就可以渲染大图了。这里我们先要把参数调整回渲染大图时的参数。我们再到GI栏里找到发光贴图,在模式里我们选择从文件,点击下面选择发光文件,找到刚才我们保存发光图的路径,加载进来。
②加载文件。
在灯光缓存一栏中,在模式里也选择从文件,然后选择灯光缓存,找到我们刚才保存灯光缓存路径,把灯光缓存加载进去。
③最终渲染。
把这些参数都调整完成后,我们就可以点击渲图,进行最终的渲染。
渲染100云渲染插件已经帮助用户预设好常用的光子比例,不用单独渲染光子图,你在max里完成所有大图设置后,点击渲染100插件,在弹出的渲染设置中,选择调整自己需要的光子比例控制,一般建议可以设置比例为1/2、1/3这样的比例。
这样,我们就直接开始渲染最终的大图了,又可以节省相当大的一部分时间。