关于maya多通道渲染
- 格式:doc
- 大小:3.42 MB
- 文档页数:47
关于maya多通道渲染的方法Maya2009添加了三项新功能:nParticle内核粒子与AnimationLayer动画层和MentalRay渲染器的RenderPasses渲染通道。
以下就介绍下RenderPasses的渲染技术。
场景中的物体,除了自身材质,它还会受到光源及环境的影响,其表现特征有:漫反射,镜面反射,高光,折射,自发光,透明度,半透明度,阴影等。
就好比计算机颜色的四个通道:红绿蓝Alpha,这些表现特征可作为场景中物体的光学通道来定义。
以此理解为基础,软件开发者引入了渲染通道的概念。
RenderPass(渲染通道)在Maya2009之前是MayaSoftware 和MentalRay共有的渲染方式,Maya2009特别为MentalRay增加了新的RenderPass分层渲染功能。
RenderPass(渲染通道)是在RenderLayer(渲染层)的基础上进行通道分离的:一个渲染层只能分离所包含物体的一个属性,而渲染通道则可将一个渲染层中的物体进行多个属性分离。
简而言之,就是一个渲染层中可以建立无数个渲染通道,以简单的渲染设置完成大量图层的渲染。
RenderPass(渲染通道)的创建并不复杂,其思路也容易理解,我们只要明白其参数原理即可进行。
RenderPass(渲染通道)包含一个重要功能,就是render pass contribution maps(渲染通道成分贴图),其作用就是将多个渲染通道赋予一类成分贴图,对渲染后的图片进行命名及保存,相当于渲染层下的子渲染层。
当对复杂场景中的大量物体进行通道分离,可想而知,生成的渲染图片将会很丰富(或者说杂乱)。
要合理的进行文件管理,我们需要制定规范的命名及保存路径。
multi-render passes(多组分渲染通道)的渲染方式仅支持mental ray的渲染方式,使用Maya software(Maya软件渲染器)的渲染方式时应采取分层渲染方式(RenderLayer)。
【Maya】分层渲染技术【Maya】分层渲染技术(三),渲染通道RenderPass(上)【RenderPassForMentalRay介绍】Maya2009添加了三项新功能:nParticle内核粒子与AnimationLayer动画层和MentalRay渲染器的RenderPasses渲染通道。
以下就介绍下RenderPasses的渲染技术。
场景中的物体,除了自身材质,它还会受到光源及环境的影响,其表现特征有:漫反射,镜面反射,高光,折射,自发光,透明度,半透明度,阴影等。
就好比计算机颜色的四个通道:红绿蓝Alpha,这些表现特征可作为场景中物体的光学通道来定义。
以此理解为基础,软件开发者引入了渲染通道的概念。
RenderPass(渲染通道)在Maya2009之前是MayaSoftware和MentalRay共有的渲染方式,Maya2009特别为 MentalRay增加了新的RenderPass分层渲染功能。
RenderPass(渲染通道)是在RenderLayer(渲染层)的基础上进行通道分离的:一个渲染层只能分离所包含物体的一个属性,而渲染通道则可将一个渲染层中的物体进行多个属性分离。
简而言之,就是一个渲染层中可以建立无数个渲染通道,以简单的渲染设置完成大量图层的渲染。
RenderPass(渲染通道)的创建并不复杂,其思路也容易理解,我们只要明白其参数原理即可进行。
RenderPass(渲染通道)包含一个重要功能,就是render pass contribution maps(渲染通道成分贴图),其作用就是将多个渲染通道赋予一类成分贴图,对渲染后的图片进行命名及保存,相当于渲染层下的子渲染层。
当对复杂场景中的大量物体进行通道分离,可想而知,生成的渲染图片将会很丰富(或者说杂乱)。
要合理的进行文件管理,我们需要制定规范的命名及保存路径。
multi-renderpasses(多组分渲染通道)的渲染方式仅支持mental ray的渲染方式,使用Maya software(Maya软件渲染器)的渲染方式时应采取分层渲染方式(RenderLayer)。
maya分层渲染带透明通道阴影层的要点maya强大的分层渲染功能使大家在动画制作过程中可以将各部分分别渲染,在后期制作中只需对单独层中的画面进行修改,节省了巨大的时间。
为了在渲染中为了增加物体的真实感,我们经常会将其阴影单独放置一层渲染出来,通常的做法如下:step1 在Render layer下新建一层,为了提高辨识度取名为shadow,将灯光,地面和产生阴影物三大要素添加到该层step2 将灯光的Use Depth map Shadows选项勾选step3 产生阴影物的Render Status属性中的Primary Visibility选项去除,这样做的目的是使物体本身不被渲染出来(只产生阴影)step4 为地面赋予一个Use Background材质,其中的Reflectivity和Reflection Limit的值都设为0在具体制作过程中经常会发生许多错误,我总结了一些需要注意的地方,有同样麻烦的朋友看了一定会有启发:注意点1 灯光阴影设置是否打开,也就是有没有勾选Use Depth Map Shadows选项,其下的Resolution值越大则产生的阴影越清晰。
Ps:在其灯光设置为勾选Use Ray Trace Shadows,而在实际操作中渲染不出阴影,该书注明适合MAYA8.5,MAYA8.0以及MAYA7.0版本,笔者的版本是MAYA2008 Extention2,于是又在MAYA7.0中测试了一次,结果还是一样。
注意点2 物体渲染设置改为不可见,如果该物体包括多个字物体,则应该单独选择每个物体一次进行设置,否则MAYA只会对其中一个进行修改。
注意点3 地面的reflective和reflect limit均设为0。
注意点4 物体的材质不能为Toon,否则不会产生阴影效果。
注意点5 渲染得背景色最好调为白色,应为阴影默认是黑色,在黑色背景中看不出来~分层技巧:可以处理好场景后,将masterlayer层进行复制,这样可以逐个关闭需要屏闭的物体,渲染阴影主要参数打开渲染设置窗口,勾选Raytracing Quality下的Raytracing选项,设置Recflections:4,Refracitons:6,Shadows:6。
快速一次渲染多个Maya文件,Maya批渲染命令行生成器,Batch Render Gen 插件这个mel可以一次生成多项渲染任务的Bat 批处理文件,大家不需要记住一些常用的渲染参数,也不需要每次用键盘敲入或黏贴渲染的文件和目录。
更绝的是,如果多个文件中,某些渲染全局的设置是一样的话,你只需要通过这个插件输入一次就可以了。
当然,还提供了一些很有用,但又比较少人用的功能,比如网络渲染;如果材质丢失,跳出渲染;自动关机。
等等。
最后,关于这个mel的任何bug,请来信告诉我,虽然我已经测试了n次。
平时,我们用Maya工作的时候,都习惯下班后,机器打开用来渲染,最常用的除了muster 外,就是Maya 批处理渲染命令行了。
Maya的渲染命令行就是使用Render命令,可以绕过MAYA的界面,直接在MS DOS下渲染图像,好处是充分利用系统的资源,而且结合MS DOS的批处理文件(Bat后缀文件),可以自动安排一系列的渲染任务,让电脑在下班的时候依次执行渲染任务。
而且Muster是针对计算机群开发的,而Maya的Render命令则对于个人电脑或者网络渲染同样有效,所以,Render命令的使用范围较广,好处也是显然易见的。
这是其中一个用于MS DOS下的批处理渲染命令行的例子:上面的批处理渲染命令行文件:test.bat,里面包含了三项渲染任务,解释一下各参数的含义。
render是Maya在MSDOS下的批处理命令-fnc参数表示渲染出来图像名字的格式,比如是testRend_001.####.tga,还是testRend_001.tga.####,就是各个名称元素的排列位置吧,后面数字3 ,表示使用第三种图像名称格式,就是我们上面列举的第一种命名格式。
-rd 参数表示渲染出来的图片存放的位置,后面的路径就是存放的地方。
在命令的最后,要标明渲染的文件名和完整的路径,就是F:/lightTool/scenes/testRend_001.mb 其余的,全部按照Maya渲染全局面板里面的设置。
多通道渲染就是使用多个渲染通道来进行渲染,在Maya中称作(渲染过程),使用渲染通道要结合渲染层,把多个渲染通道关联到指定的渲染层上,就可对该渲染层实行多通道渲染。
使用渲染通道的好处在于不用再像以前那样,建立多个渲染层再对每个层进行操作,如要对同一个物体进行单独的高光、阴影、反射等渲染,就要对为个物体建立多个层,再对每个层设置相应的属性,如一个层控制渲染高光,一个层控制渲染阴影等,渲染层越多也会增加渲染时间。
而使用渲染通道就不再像用渲染层那样要进行烦琐的控制器,使用渲染通道可以控制对一个渲染层所要渲染的各个属性,使用渲染通道基本不会增加额处的渲染时间。
在使用渲染通道时,会先计算一张完整包含所有信息的图片,而里面的高光、阴影、反射等效果之前也一起计算过,而Maya会把这些信息保存起来,然后再把这些高光、阴影等信息再每个输出,生成各个图片,所以使用渲染通道基本不会增加额外的渲染时间。
渲染层请参考《Maya2009分层渲染基础教程》。
删除渲染层不会删除场景中的物体,在物体、渲染等属性上右键点击(创建层覆盖),可以为当前选定的渲染层单独设置该属性,而不影响其它渲染层原来的属性。
Maya的材质节点可以使用渲染过程里的所有通道,而mental ray材质只有后面带有“passes”的材质节点可以直接有限制使用渲染通道,而没带有“passes”的mental ray材质不能与渲染通道相兼容,要将它们升级到后面带“passes”的材质才可以使用渲染通道。
(mia_material_x_passes)这是mental ray标准的建筑材质,能使用的渲染通道有(美景)、(漫反射)、(直接辐射度)、(间接)、(反射)、(折射)、(镜面反射)、(半透明)。
(mi_metallic_paint_x_passrs)能使用的渲染通道有(环境光材质颜色)、(美景)、(漫反射)、(直接辐射度)、(间接)、(反射)、(镜面反射)。
关于maya多通道渲染的方法Maya2009添加了三项新功能:nParticle内核粒子与AnimationLayer动画层和MentalRay渲染器的RenderPasses渲染通道。
以下就介绍下RenderPasses的渲染技术。
场景中的物体,除了自身材质,它还会受到光源及环境的影响,其表现特征有:漫反射,镜面反射,高光,折射,自发光,透明度,半透明度,阴影等。
就好比计算机颜色的四个通道:红绿蓝Alpha,这些表现特征可作为场景中物体的光学通道来定义。
以此理解为基础,软件开发者引入了渲染通道的概念。
RenderPass(渲染通道)在Maya2009之前是MayaSoftware 和MentalRay共有的渲染方式,Maya2009特别为MentalRay增加了新的RenderPass分层渲染功能。
RenderPass(渲染通道)是在RenderLayer(渲染层)的基础上进行通道分离的:一个渲染层只能分离所包含物体的一个属性,而渲染通道则可将一个渲染层中的物体进行多个属性分离。
简而言之,就是一个渲染层中可以建立无数个渲染通道,以简单的渲染设置完成大量图层的渲染。
RenderPass(渲染通道)的创建并不复杂,其思路也容易理解,我们只要明白其参数原理即可进行。
RenderPass(渲染通道)包含一个重要功能,就是render pass contribution maps(渲染通道成分贴图),其作用就是将多个渲染通道赋予一类成分贴图,对渲染后的图片进行命名及保存,相当于渲染层下的子渲染层。
当对复杂场景中的大量物体进行通道分离,可想而知,生成的渲染图片将会很丰富(或者说杂乱)。
要合理的进行文件管理,我们需要制定规范的命名及保存路径。
multi-render passes(多组分渲染通道)的渲染方式仅支持mental ray的渲染方式,使用Maya software(Maya软件渲染器)的渲染方式时应采取分层渲染方式(RenderLayer)。
关于maya多通道渲染关于多通道渲染,这里介绍Muti-render passes 中的高级分层以及叠加方式。
参照maya帮助中案例合成方法:Beauty = diffuse_level * (diffuse_raw + (indirect_raw * ao_raw)) +spec_level * spec_raw +refl_level * refl_raw +refr_level * refr_raw +tran_level * tran_raw +add_result这里介绍一些各层:1、diffuse_result=diffuse_raw*diffuse_level; diffuse_raw是直接照明效果,只有光影,没有颜色,而diffuse_level含有颜色信息2、spec_result=spec_raw*spec_level: spec_raw是没有衰减的高光范围,而spec_level只包含高光的色彩信息,值得一提的是如果mia_material / mia_material_X shader的属性中specular balance的值为 1.0,那么spec_level与refl_level是相同的。
3、refl_result=refl_raw*refl_level ; refl_raw即无衰减的最强反射范围,而refl_level则是实际反射,包含了反射的颜色和BRDF(菲涅尔)曲线衰减效果。
BRDF(bidirectional scattering distribution function)关乎间接照明,并且可以采样计算光子,包含了refl 、refr 的diffuse 、glossy 、和spec。
4、refr_result=refr_raw*refr_level ; refr_raw 是无衰减的最强折射效果,而refr_level是由能量守恒调节的实际折射效果。
5、tran_result= tran_raw*tran_level ; tran_raw 是无衰减的半透效果,tran_level 是由能量守恒调节的实际半透效果。
关于maya多通道渲染
关于多通道渲染,这里介绍Muti-render passes 中的高级分层以及叠加方式。
参照maya帮助中案例
合成方法:Beauty = diffuse_level * (diffuse_raw + (indirect_raw * ao_raw)) +
spec_level * spec_raw +
refl_level * refl_raw +
refr_level * refr_raw +
tran_level * tran_raw +
add_result
这里介绍一些各层:
1、diffuse_result=diffuse_raw*diffuse_level; diffuse_raw是直接照明效果,只有光影,没有颜色,而diffuse_level含有颜色信息
2、spec_result=spec_raw*spec_level: spec_raw是没有衰减的高光范围,而spec_level只包含高光的色彩信息,值得一提的是如果mia_material / mia_material_X shader的属性中specular balance的值为 1.0,
那么spec_level与refl_level是相同的。
3、refl_result=refl_raw*refl_level ; refl_raw即无衰减的最强反射范围,而refl_level则是实际反射,包含了反射的颜色和BRDF(菲涅尔)曲线衰减效果。
BRDF(bidirectional scattering distribution function)关乎间接照明,并且可以采样计算光子,包含了refl 、refr 的diffuse 、glossy 、和spec。
4、refr_result=refr_raw*refr_level ; refr_raw 是无衰减的最强折射效果,而refr_level是由能量守恒调节的实际折射效果。
5、tran_result= tran_raw*tran_level ; tran_raw 是无衰减的半透效果,tran_level 是由能量守恒调节的实际半透效果。
6、indirect_result 是间接照明的效果,包含了环境闭塞与漫反射颜色相乘的效果,indirect_raw 带有间接照明信息却没有环境闭塞信息,ao_raw 是环境闭塞的无衰减效果。
Indirect_post_ao = indirect_raw * ao_raw
7、add_result 字面翻译是add_color
属性的直接反应,有待测试。
了解了各层的意义,那么合成的算法也就不难理解了:
Beauty = diffuse_level * (diffuse_raw + (indirect_raw * ao_raw)) +颜色+(直接照明+间接照明)
spec_level * spec_raw + 高光
refl_level * refl_raw + 反射
refr_level * refr_raw + 折射
tran_level * tran_raw + 半透
add_result
下面以一个例子来讲解怎样进行这种方式的通道渲染以及合成方式:
在这个场景中有一只恐龙和一个地面,地面用来接收阴影,环境球提供照明,一盏平行光打出影子。
不分通道的渲染时间:
根据上面提到的分层方式分析,我们首先应该给恐龙分出:diffuse_level diffuse_raw spec_level spec_raw refl_level refl_raw indirect_raw ao_raw shadow_raw 另外也可渲出indirectPostAo indirectResult 比对效果使用。
为了使用后期的灯光效果,还应该渲染normalCam normalWorld 。
为了给恐龙做一个干净的通道,应当渲染dragonMatte层。
对于地面应当渲染floorShadowRaw ,这里需要注意的就是地面与恐龙的阴影应该分为两层。
再加上默认渲染的beauty层。
测试渲染时间
综上所述,我们应当渲染出的有16层,如下:
Final Render
ao_raw
Diffuse_level
Diffuse_raw
floorShadow_raw
indirectPostAo
Indirect_raw
Indirect_result
Beauty
normalCam
NormalWorld
Refl_level
Refl_raw
dragonShadowRaw
specLevel
Spec_raw
dragonMatte
下面分步进行操作:
1、新建一个渲染层,命名为beauty
2、为了将恐龙与地面分开,我们应当首先选中恐龙模型和灯光,在beauty
层上右键,选择
双击新建的pass contribution map 重命名为dragon
3、同理,选择地板和灯光,新建pass contribution map 并重命名为floor。
4、以设置diffuseLevel和diffuseRaw为例,首先我们在渲染设置里,找
到pass设置,
打开新建pass,找到,选中,然后在输入
diffuseLevel,并点击,然后将改为diffuseRaw,创建并且关闭,这样在scence passes里面我们就有了两个passes
对于pass参数的设置参照之前所讲的。
5、在确保渲染设置窗口上方是需要进行设
置的渲染层之后,选择我们刚刚创建的两个passes,点击,这样就加入了我们这个层的通道渲染,但是还不够,这个diffuseLevel和diffuseRaw 我们只想针对恐龙进行拆分,所以应当在下面的
下拉菜单选择
dragon,然后点击,再将创建的两个pass添加到dragon pass map 中,这样就只会拆分出恐龙的这两个通道。
其他的通道设置同理。
6、在渲染设置里讲各通道设置好后,我们到材质编辑器,这里我们给恐龙
上的是mia_material_X_passes shader ,这里先不对这个材质球进行介绍,正在对这个shader的maya帮助进行翻译,先告诉大家怎么用这个材质球进行通道拆分,需要注意的一点是如果需要渲染AO 层,那么勾选use Ambient Occlusion。
前面我们已经设置好了diffuseLevel 和diffuseRaw 两个passes ,这时我们创建一个mentalray的节点writeToColorBuffer
在该节点的属性中选择,并将该节点重命名为diffuseRaw。
7、按住中键,将材质球拖放到节点上,选择other
在弹出的关系编辑器中,左边选择右边选择
,这样我们就真正设置好了diffuseRaw通道。
其他的通道同理。
8、总的都设置好之后
对名称以及格式等进行设置,之后批渲染就可以了。
下面讲一下合成:
在nuke中总节点如下:
1、
2、
3、
4、
5、
6、
7、
这是基本的几个部分的合成,还需细调。
另外还对小场景进行了景深通道和3d矢量通道的拆分
Beauty
Depth Depth的合成:
Depth效果:
另外,利用该材质球应该也可以拆出模拟sss效果,测试中。
Without SSS
对于多个物体的拆分:
一个简单场景
给小球,方盒子还有地面分别上三个材质测试渲染时间为20秒
按上面的拆分方式得到渲染时间21秒
Diffuse Level
Diffuse raw
Beauty shadow
Floor shadow
misss_fast_shader_x_passes 测试
sssBacklevel
sssBackRaw
sssBackResult
sssBackLecel * sssBackRaw = sssBackResult
diffuseLevel * diffuseRaw = diffuseResult
diffuseResult (screen) sssBackResult = beauty。