本来最初是想用VRay自身的分布式渲染功能来进行联机渲染,以加快渲染速度,管理起来也比较方便。但是,测试发现,3dsMax2009版本安装了SP1补丁包后,VRay的分布式渲染服务程序无法使用,VRay版本为:VRay 1.5 sp2。但是没安装Max2009 SP1补丁包的情况下,VRay的分布式渲染服务程序却可以正常使用。郁闷之极,其实3dsMax2009感觉是通用性BUG最多的一格版本,至今官方已经停止了3dsMax2009的补丁更新,但安装最新的补丁后,几个常规用法中的BUG依然未得到解决,只有自己设置的时候注意一下就行了。可能用其它版本不会出现该问题吧,没测试过。不过目前还是没打算换版本,郁闷中后来转而想到了用Backburner试试,竟然发现了Backburner也有类似的单图分割渲染功能,真是给了我一个大惊喜!而且Backburner管理渲染任务也是十分易用的。
最先开始时在网上搜索Backburner渲染相关内容,就只有一篇关于Maya平台的步骤说明,其面板参数也有出入,于是就自己打开来摸索了.....
这里针对Backburner 2008.1版本来说明,操作平台使用的是Windows7 64bit 和 3dsMax2009 64bit 。
首先确定3dsMax和backburner版本安装正确,最好所有机子都统一成统一个版本,不同版本之间是否会出问题,没有测试过。现在,在Autodesk目录下应该有backburner的三个程序组,如图:
Manager是联机渲染的管理程序(主控端渲染服务),哪台机子作为管理主机,就需要在哪台机子上启动该程序。一般来说,规划出来的一组渲染群集里,只需要一台机子作为管理主机即可。如果多台机子都开启,那么相互之间都可以执行管理操作,实际操作中不严格规划的话,可能会引起混乱。所以通常来说,只需要一台主机开机作为整个流程的管理主机即可。
Monitor是联机渲染的任务监控程序,这里可以看到联机的渲染任务,任务的渲染进度,任务的相关信息,参与联机的所有机子状态等…… 通常来说,该监控程序也只需要一台主机开启即可。通常Manager开启的主机对应就要开启Monitor程序,因为用来管理的机子就要进行任务监控。即 Manager 是告诉电脑那台机子成为渲染流程的管理员,而Monitor则是具体队渲染流程进行操作的程序。
Server是(客户端)渲染服务,哪台机子需要参与到联机渲染中,哪台机子就需要开启Server程序,也就是说参与到渲染群集贡献渲染计算的机子只需要开启Server程序即可。
客户机上开启Server程序,第一次开启会出现如下对话框:
左边是计算机名(一般保持默认就行,程序会自动识别),右边是输入管理主控程序的机子IP地址。如果是设置好的同一局域网内,保持默认就行,它是自动进行在同一网段内搜索主控管理主机地址(即开启了Manager的主机)。Server Port是服务机端口,Manager Port是主控管理端口,没特殊情况,默认即可。Backburner程序安装的时候会有指定步骤,如果安装后想要更改,通过菜单Edit/General Setting来启动它就行。
开启后显示如下:
主控管理程序开启后如下图所示:
同理相关端口设置采用默认也行,后面需要修改可以在Edit/General Setting 下进行。
接下来,可以在主控管理主机上开启Monitor程序:
比如当前没有渲染任务,点击连接到主机后,任务列表中也是显示为空。
接下来就可以添加渲染任务到渲染列表中进行渲染了,打开3dsMax需要渲染的场景,调整场景到最终渲染状态。
这里有几点需要说明,比如要渲染某个已经处理好的max文件,如果场景里有设置好的摄像机,请先把摄像机改为英文名,经过测试,发现有时候渲染场景中使用中文名的摄像机名字,在Backburner联机渲染的时候可能会发生无法识别的情况,提示会说找不到摄像机,所以摄像机请统一改成英文名,比较好。而贴图名称和材质名称不用更换,暂时还没发现不能识别的情况。Backburner应该是兼容所有的渲染器的,但要保证每台参与渲染得主机的渲染器版本一致。
接下来搜集一下场景中所有用到的贴图,把这些贴图搜集放到在一个可共享的文件夹下,要使得其它机子通过局域网也能访问到该文件夹里的文件,这里面包含纹理贴图,光域网IES,HDR,代理物体,以及全局光照的光子文件等……. 在3dsMax2009下可以使用一个收集贴图脚本来帮助完成贴图收集的工作。该贴图脚本不能打包全局光照的光子文件,请务必注意,所以光子文件要手动放置。还要特别注意的是,该文件夹名字务必使用英文,以获得更好的识别性。
比如我们把当前场景中用到的贴图,搜集到F:\NetRenderWork 路径下,注意此时的贴图识别路径还是本机的本地地址,这些都可以在3dsMax File/Asset Tracking….. 下看到。
贴图搜集完后,我们需要重新指定场景中的贴图路径定位到网络共享的文件路径下。这时候开启Asset Tracking,然后选择Paths / Highlight Editable Assets 即可将下面显示的场景中使用到的贴图全选中,也可手动进行选择。选择后,再次选择Paths / Set Path… 选项,对贴图路径进行重新指定。
因为3dsMax2009的BUG问题,路经最后的反斜杠请手动添加,不然会识别成上一级目录。
操作完成后,场景的贴图路径已经识别成网络路径了,如图:
这里可以重新指定的路径包括纹理贴图,光域网IES,HDR,代理物体。而全局光照的光子文件不能从这里指定,需要针对不同的渲染器在对应的相关路径下重新指定。指定也是指定成通过网络路径读取即可。
Max源文件不用放置到共享文件夹里,提交渲染任务的时候会自动打包处理。
路径设置好以后最好把修改过的路径另存一份档,专门用于网络渲染操作。原始档可以留着备份。
接着就可以打开渲染面板了,注意渲染的文件输出保存路径也要设置到网络共享读写的文件夹里,这样其它分机渲染的文件才能存放在其中。然后勾选Net Render选项框,最后点渲染按钮。
接下来就会出现添加渲染任务对话框,渲染任务名称务必使用英文,中文不能被识别。这里的任务名称可以不与max源文件名称一样,但是是对应的,所以保持统一的命名便于识别!
接下来,又是连接到管理主机的设置,一般也是在局域网内自动搜索管理主机,保持默认即可,也可以手动设置。然后点击连接 Connect 按钮,右边的服务机子列表里就会显示网络渲染的服务机列表名称,绿色的表示该渲染分机可以使用,如果是灰色的则表示该渲染分机不可使用。通常情况下,如果是灰色显示,但确定该机可用,那么把该机的Server服务程序关闭,再重新开启一下即可。开启后,需要在列表里重新连接刷新下,即可看到绿色可用状态。
点击Connect 前,右边列表示是空的,如图:
点击Connect后,右边列表出现可用的渲染分机,这里显示zw-02号为绿色可用,zw-09号机为灰色,是因为笔者以前使用过该分机进行联机渲染,但是这次联机时,该zw-09号机是关闭的,所以显示为灰色不可用状态。
这里不得不提一个特色功能,Backburner分机渲染得默认分批单位是张为单位,即每张图分到各个机子上进行渲染,渲染动画,当然采用此设置是比较合适的。但其实Backburner也提供了针对一张图像进行分割块渲染的功能,基本类似于同一张图分布式渲染,即把图分成若干块,分发到各台渲染机上渲染,然后再把分块渲染的图像拼接起来。这些一系列操作都是Backburner自动完成的,你只需要通过Split Scan Lines 指定分块的多少就可以了。虽然这样没有渲染器本身内部的分布式渲染测试来的直接,但确是一个通用性的好方法。Strip Height分块的高度,分块是以高度来分割的,宽度是输出固定值。Number of Strips是分块的多少,这个数值和Strip Height是对应的关系。Overlap是接缝过渡处理的像素值,对于一些图像,均等分块的话,又时候接口处会出现稍微明显的接缝,可以使接缝过渡更加自然。通常情况下,相同版本,相同场景,相同的灯光文件渲染出来的图像是完全衔接的,这里默认为0即可,少有会出现接缝问题。Pixels和 Percentage是分别代表像素单位模式和百分比单位模式。
Rendered Frame Window是渲染时是否显示渲染框。Include Maps是表示提交任务时是否连贴图一起打包,如果我们先前指定的贴图是通过网络路径读取,那么这里可以不钩选,如果没有,那么这里钩选了,提交任务时会连同贴图一起打包。基于3dsMax2009的路径BUG问题,建议该版本下,还是钩选比较保险。(其实3dsMax2009感觉是通用性BUG最多的一格版本,至今官方已经停止了3dsMax2009的补丁更新,但安装最新的补丁后,几个通常的BUG依然未得到解决,只有自己设置的时候注意一下就行了)。有段时间,笔者曾想使用VRay的分布渲染来进行联机操作,但发现3dsMax2009版本,安装了SP1补丁包后,VRay的分布式渲染服务程序无法使用,VRay版本为:VRay 1.5 sp2。但是没安装Max2009 SP1补丁包的情况下,VRay的分布式渲染服务程序却可以正常使用。所以最后才转为使用Backburner进行联机网络渲染。
Initially Suspended 表示是否初始时挂起,意思就是钩选后,提交任务后,渲染不是马上启动,需要操作人员手动点击开始。如果有多个任务需要提交,可以把此选项钩选上,等所有渲染任务提交完了,然后再统一进行渲染开始的操作。
Server Usage下 Use Selected是表示使用选择的分机才进行该提交任务的渲染工作,没被选中的分机就不会处理此渲染任务。Use All Servers是表示使用右边Servers列表中列出的所有可用的分机进行渲染任务。设置完成后就可以点Submit 提交按钮进行渲染任务的提交了。
提交后系统会先对当前场景进行打包存档处理,打包存档后渲染任务就可以开始了。如果任务开始时是挂起,就如下图:
直接点击激活任务就可以开始渲染了,任务执行的时候是显示为绿色,参与渲染的分机显示为Busy
渲染完成后,任务列表中会显示为灰黑色,同时状态State下显示为Complete 完成。
到此渲染人物就统一结束了,这里需要说明一下,如果使用了单张图片进行分割块功能进行分机渲染,在提交任务的时候会自动增加一个拼合整图的任务,它的作用是在分机渲染完成了各自的分割块图像后,随机再分配一台空闲的机子进行图像拼合的操作。完成后,中途渲染得每个分割块图像将自动删除,仅保留最后完成的完整大图。
小提示:在任务提交后,Backburner系统会自动对当前任务进行打包分发的处理,打包的文件可以在Backburner的安装目录\Backburner\Network\Jobs 和Backburner的安装目录\Backburner\Network\ServerJob下看到。
CR 于 2011-3-29 18:31:19
很早以前归纳写的,后续流程有优化...仅供参考!
没有评论:
发表评论