tileRender 分块渲染

25 篇文章 1 订阅
6 篇文章 0 订阅

昨天,一个网友提到分块渲染的问题,记得以前在学校的时候,听过传说,大大的效果图是要分块的。当时做为一个为了毕业设计搞的天昏地暗的小鸟,就记在心里了

以下存为收藏,以防万一以后用的上。

======================================================================

怒火 13:06:43 
上午对那分块渲染时间进行了下测试,以1080P的分24块为例,渲整张的用了4秒,我的MEL渲染总时间为13秒,那个bat批处理却用了将近两分钟 
怒火 13:08:22 
我写的MEL还有一个优势,渲出的图不用拼贴了 

======================================================================

感谢怒火提供的图片及MEL,当然BAT也是他整理的。哈哈

以下为 -x 1920 -y 1080  分24块,   用 MEL  和 用命令行渲染两种方案的对比。 实际工作中,自己试试哪种可行用哪种吧。吐舌头(不要说明的是,怒火是因为场景太复杂所以想分块渲染。不过个人认识,分块渲染不是为此而生的。对于场景太复杂本人还是推荐用分层渲染。  分块是为了渲超大尺寸的,对1080p的图分块我心里不爽哭

先来BAT吧,字少: (用参数控制渲染的区域来得到N多小图)

"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	0	320	810	1080	-of jpg -im tiel1 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	320	640	810	1080	-of jpg -im tiel2 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	640	960	810	1080	-of jpg -im tiel3 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	960	1280	810	1080	-of jpg -im tiel4 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1280	1600	810	1080	-of jpg -im tiel5 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1600	1920	810	1080	-of jpg -im tiel6 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	0	320	540	810	-of jpg -im tiel7 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	320	640	540	810	-of jpg -im tiel8 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	640	960	540	810	-of jpg -im tiel9 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	960	1280	540	810	-of jpg -im tiel10 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1280	1600	540	810	-of jpg -im tiel11 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	1600	1920	540	810	-of jpg -im tiel12 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	0	320	270	540	-of jpg -im tiel13 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	320	640	270	540	-of jpg -im tiel14 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	640	960	270	540	-of jpg -im tiel15 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	960	1280	270	540	-of jpg -im tiel16 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1280	1600	270	540	-of jpg -im tiel17 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1600	1920	270	540	-of jpg -im tiel18 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	0	320	0	270	-of jpg -im tiel19 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	320	640	0	270	-of jpg -im tiel20 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	640	960	0	270	-of jpg -im tiel21 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	960	1280	0	270	-of jpg -im tiel22 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1080	 -reg	1280	1600	0	270	-of jpg -im tiel23 test.mb
"c:\Program Files\Autodesk\Maya2009\bin\render" -x 1920 -y 1081	 -reg	1600	1920	0	270	-of jpg -im tiel24 test.mb

pause

效果


接下来是 mel 的实现: 用MEL控制摄像的挡板来实现

setAttr defaultRenderGlobals.left 0;
setAttr defaultRenderGlobals.rght 320;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "01" " ";

setAttr defaultRenderGlobals.left 320;
setAttr defaultRenderGlobals.rght 640;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "02" " ";

setAttr defaultRenderGlobals.left 640;
setAttr defaultRenderGlobals.rght 960;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "03" " ";

setAttr defaultRenderGlobals.left 960;
setAttr defaultRenderGlobals.rght 1280;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "04" " ";

setAttr defaultRenderGlobals.left 1280;
setAttr defaultRenderGlobals.rght 1600;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "05" " ";

setAttr defaultRenderGlobals.left 1600;
setAttr defaultRenderGlobals.rght 1920;
setAttr defaultRenderGlobals.bot 810;
setAttr defaultRenderGlobals.top 1080;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "06" " ";

setAttr defaultRenderGlobals.left 0;
setAttr defaultRenderGlobals.rght 320;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "07" " ";

setAttr defaultRenderGlobals.left 320;
setAttr defaultRenderGlobals.rght 640;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "08" " ";

setAttr defaultRenderGlobals.left 640;
setAttr defaultRenderGlobals.rght 960;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "09" " ";

setAttr defaultRenderGlobals.left 960;
setAttr defaultRenderGlobals.rght 1280;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "10" " ";

setAttr defaultRenderGlobals.left 1280;
setAttr defaultRenderGlobals.rght 1600;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "11" " ";

setAttr defaultRenderGlobals.left 1600;
setAttr defaultRenderGlobals.rght 1920;
setAttr defaultRenderGlobals.bot 540;
setAttr defaultRenderGlobals.top 810;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "12" " ";

setAttr defaultRenderGlobals.left 0;
setAttr defaultRenderGlobals.rght 320;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "13" " ";

setAttr defaultRenderGlobals.left 320;
setAttr defaultRenderGlobals.rght 640;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "14" " ";

setAttr defaultRenderGlobals.left 640;
setAttr defaultRenderGlobals.rght 960;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "15" " ";

setAttr defaultRenderGlobals.left 960;
setAttr defaultRenderGlobals.rght 1280;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "16" " ";

setAttr defaultRenderGlobals.left 1280;
setAttr defaultRenderGlobals.rght 1600;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "17" " ";

setAttr defaultRenderGlobals.left 1600;
setAttr defaultRenderGlobals.rght 1920;
setAttr defaultRenderGlobals.bot 270;
setAttr defaultRenderGlobals.top 540;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "18" " ";

setAttr defaultRenderGlobals.left 0;
setAttr defaultRenderGlobals.rght 320;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "19" " ";

setAttr defaultRenderGlobals.left 320;
setAttr defaultRenderGlobals.rght 640;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "20" " ";

setAttr defaultRenderGlobals.left 640;
setAttr defaultRenderGlobals.rght 960;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "21" " ";

setAttr defaultRenderGlobals.left 960;
setAttr defaultRenderGlobals.rght 1280;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "22" " ";

setAttr defaultRenderGlobals.left 1280;
setAttr defaultRenderGlobals.rght 1600;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "23" " ";

setAttr defaultRenderGlobals.left 1600;
setAttr defaultRenderGlobals.rght 1920;
setAttr defaultRenderGlobals.bot 0;
setAttr defaultRenderGlobals.top 270;
renderWindowRenderRegion renderWindowPanel1;
renderWindowSaveImageCallback "renderWindowPanel1"  "24" " ";

效果:



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

笑虾

多情黯叹痴情癫。情癫苦笑多情难

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值