大家好!此教程可以说是给VRay如虎添翼,最低的提速都是两倍以上,再说了如果CPU够多的话或者机器够多话也可以说渲染图不过就是眨眼之间的时间而已,所以这个教程相当重要。现在我把它写成教程,希望能帮助到更多的人,希望大家共同进步!
前言概述 1.什么是分布式渲染(Distrbutded Rendering) 分布式渲染是一种能够把单帧图像的渲染分布到多台计算机(或多个CPU)上渲染的一种网络渲染技术。有许多方法可以实现这种技术,主要的思路是把单帧划分成不同的区域,由各个计算机或CPU各自单独计算。常用的方法是把静帧划分成许多小区域(Buckets),每台计算机都渲染一部分buckets,最后把这些buckets合并成一张大的图像。VRay就是用的这种做法。
2.VRay的实现 VRay通过TCP/IP协议实现分布式渲染的网络联接,不需要任何附加的程序或目录共享。分布式渲染的管理分成两个部分:服务端和客户端。
3.客户端 客户端是指用户现在正在使用的那台计算机。它把单帧划分成许多小的渲染区域(bucket)并把它传给服务端去计算。整个渲染过程由客户端来管理和组织。在客户端计算机上,有一个用户界面来管理网络上的服务端——指定哪些服务器参与计算哪些不参与——并控制服务器端的状态。每当一个渲染区域(bucket)计算完毕,客户端上显示出这块bucket,并发送另一块bucket给空下来的服务器计算(当然如果有的话)。
4.服务端 服务端就是渲染服务器啦,顾名思义,就是网络上提供计算服务的真正在干苦力的计算机们。它们渲染每个bucket,并计算结果送回客户端。它们的状态也由客户端监控。
工作环境 要向实现VRay分布式渲染,必须用户处于局域网之内,并有多台计算机通过路由器链接且都能相互访问。(图01)
图01
实际操作 1.在A机器新建一个文件夹,右击把文件夹设为共享文件夹,并勾选允许网络用户更改文件。(图02)
图02
小提示:这一步是为了向B、C、D、E机器提供互相访问,被共享的文件夹名字一定要为英文或数字。
2.打开你已经做完的3ds Max文件,然后点工具按钮使用资源收集器,把你场景里面所有的贴图和光域网连同Max文件一起导出到你刚才建立的共享文件夹内。(图03)
图03
警告:导出3ds Max文件名、所有贴图的文件名和光域网名一定要为英文,因为网络路径不能识别中文路径,否则分布式渲染出来就会丢失贴图和导致出错。
3.现在我们重新打开刚才的导出的3ds Max文件。(图04)
图04
小提示:请务必按照图中操作打开所在的Max文件,因为分布式渲染每一步骤都非常严谨。
4.我们把刚才导出的3ds Max文件用网络路径打开后,现在来设置所有材质的贴图路径,具体方法按下Shift+T把资源追踪器打开,刷新一下然后把原来贴图路径改成网络贴图路径。(图05)
图05
小提示:我这里只是为了做教程,所以只展示三个贴图路径设置,实际一个场景有很多贴图的。
5.接下来我们按F10打开渲染面板,把VRay渲染面板的渲染参数都设置好,最重要的是要在VRay系统子面板里面勾选分布式渲染,然后添加A、B、C、D、E机器的计算机名,或者是直接添加成每台机器的IP地址,然后按下解析服务器按钮检查是否都已连接。据了解服务器最多添加255台多了的用不了。(图06)
图06
小提示:添加服务器的时候可以把本机A机器添加进去。
6.现在万事具备只欠东风了,接下来我们把所有的服务器(B、C、D、E机器)上的Launch VRay DR spawner打开,然后回到A机器按下渲染按钮,你过一会就看见渲染区域分割一部分给其它机器工作了,那么我就恭喜你成功了,尽情的欢悦吧。
如果每台机器都是双核CPU的话,那么按照我们A、B、C、D、E五台机器算的话,就会有10个渲染分割区在跳动,就会当一台10CPU的机器了,依此类推如果每台是4核的话,或者是多几台机器的话,可以想象的到那速度是喝口水的功夫还是一眨眼的功夫呢?
可以不用再本机A机器上打开VRay DR,这样你的机器就不会卡,不会影响其它操作。
注意一:保存和读取光子文件的时候,请务必也用网络路径,并且文件名要是英文名。
注意二:批处理渲染的时候也需要做到网络路径,出图路径也是网络路径,文件名也需英文名。
好了,如果按照我教程上所讲的,那么软件就会相对稳定,不会出问题。谢谢大家仔细阅读!
FEVTE编注:更多VRAY教程讨论交流及作业提交请到飞特论坛三维交流区:地址:https://www.fevte.com/forum-54-1.html
飞特游客
委托设计