有关 mental ray for Maya 节点(着色器)的详细信息,请参见 mental ray for Maya 自定义着色器。
此外,mia_material 和 mia_material_x 着色器还用管道将自身传递到着色器节点的“阴影着色器”(Shadow Shader)属性。
所有的 mental ray for Maya 材质都包含“硬件纹理”(Hardware Texturing)属性,允许您在场景视图中预览材质。有关“硬件纹理”(Hardware Texturing)属性的说明,请参见硬件纹理。
有关每个节点的属性的完整说明,请参见 mental ray Manual。
使用该着色器可完全实现车漆的外观。该着色器将“mi_metallic_paint”、“mib_glossy_reflection”和“mi_bump_flakes”着色器的功能合并到一个着色器中。
可以轻松地将“mi_car_paint_phen”着色器转化为“mi_car_paint_phen_x”或“mi_car_paint_phen_x_passes”着色器。在“mi_car_paint_phen”着色器的“属性编辑器”(Attribute Editor)中,展开“升级着色器”(Upgrade Shader)部分,然后单击“将着色器升级到 mi_car_paint_phen_x”(Upgrade shader to mi_car_paint_phen_x)或“将着色器升级到 mi_car_paint_phen_x_passes”(Upgrade shader to mi_car_paint_phen_x_passes)按钮。详细信息请参见 mi_car_paint_phen_x 着色器和 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
该着色器类似于“mi_car_paint_phen”着色器,只是它返回 mental ray struct return 形式的多个输出。
此外,还提供了“mi_car_paint_phen_x_passes”着色器,以便与多重渲染过程功能结合使用。有关详细信息,请参见 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
使用该着色器可模拟光泽度很高的光滑面漆,例如车漆。该着色器可模拟车漆的薄颜料层以及颜料层内悬浮的金属微粒(薄片)。若要获得透明涂层的光泽反射和薄片的闪光效果,请将该着色器与“mib_glossy_reflection”着色器和“mib_bump_flakes”着色器结合使用(请参见纹理)。
可以轻松地将“mi_metallic_paint”着色器转化为“mi_metallic_paint_x”或“mi_metallic_paint_x_passes”着色器。在“mi_metallic_paint”着色器的“属性编辑器”(Attribute Editor)中,展开“升级着色器”(Upgrade Shader)部分,然后单击“将着色器升级到 mi_metallic_paint_x”(Upgrade shader to mi_metallic_paint_x)或“将着色器升级到 mi_metallic_paint_x_passes”(Upgrade shader to mi_metallic_paint_x_passes)按钮。有关详细信息,请参见 mi_metallic_paint_x 和 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
该着色器类似于“mi_metallic_paint”着色器,只是它返回 mental ray struct return 形式的多个输出。
此外,还提供了“mi_metallic_paint_x_passes”着色器,以便与多重渲染过程功能结合使用。有关详细信息,请参见 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
使用该着色器可模拟建筑和产品设计渲染中使用的材质。可以使用该着色器创建硬表面材质(如金属、木材和玻璃)的物理精确表示。该着色器已针对快速光泽反射和折射以及优质玻璃进行了优化调整。
虽然材质中不会产生能量,但对于直接照明而言,该着色器的工作方式类似于传统的曲面着色器,默认情况下不应用物理上精确的恒定形状系数。
可以轻松地将“mia_material”着色器转化为“mia_material_x”或“mia_material_x_passes”着色器。在“mia_material”着色器的“属性编辑器”(Attribute Editor)中,展开“升级着色器”(Upgrade Shader)部分,然后单击“将着色器升级到 mia_material_x”(Upgrade shader to mia_material_x)或“将着色器升级到 mia_material_x_passes”(Upgrade shader to mia_material_x_passes)按钮。有关详细信息,请参见 mia_material_x 和 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
从 Maya 2008 开始,您还可以使用该着色器模拟建筑和产品设计渲染中使用的材质。
“mia_material_x” 着色器是 mia_material 着色器的改进版本。除了具有 mia_material 的功能之外,该着色器还具有以下附加功能:
此外,还提供了“mia_material_x_passes”着色器,以便与多重渲染过程功能结合使用。有关详细信息,请参见 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
物理正确的次表面散射着色器使用实际体积计算提供物理上精确的结果。这些着色器在需要光子跟踪的场景中效果更佳。非物理次表面散射着色器不提供物理上精确的结果,但提供快速、一致且赏心悦目的结果。非物理次表面散射着色器可用于高效地渲染人体皮肤,尤其是对于浅(靠近表面)散射更加有效。
当您通过“Hypershade”创建任何“misss_fast_shader”、“misss_fast_simple_maya”或“misss_fast_skin_maya”节点时,Maya 会为您自动创建光照贴图网络。若要完成该网络,只需为光照贴图纹理节点选择图像文件。
该着色器类似于“misss_fast_shader”着色器,只是它返回 mental ray struct return 形式的多个输出。
此外,还提供了“misss_fast_shader_x_passes”着色器,以便与多重渲染过程功能结合使用。有关详细信息,请参见 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
可以轻松地将“misss_fast_shader”着色器转化为“misss_fast_shader_x”或“misss_fast_shader_x_passes” 着色器。在“misss_fast_shader”着色器的“属性编辑器”(Attribute Editor)中,展开“升级着色器”(Upgrade Shader)部分,然后单击“将着色器升级到 misss_fast_shader_x”(Upgrade shader to misss_fast_shader_x)或“将着色器升级到 misss_fast_shader_x_passes”(Upgrade shader to misss_fast_shader_x_passes)按钮。有关详细信息,请参见 misss_fast_shader_x 和 mi_metallic_paint_x_passes、mia_material_x_passes、misss_fast_shader_x_passes、mi_car_paint_phen_x_passes 着色器。
可以将这些着色器与多重渲染过程功能结合使用。这些着色器具有多个可写入多重渲染过程的输出属性。例如,可以将 mia_material_x_passes 着色器的漫反射属性写入使用“渲染设置窗口”(Render Settings window)中的“过程”(Passes)选项卡创建的“漫反射”(Diffuse)渲染过程。
“mi_metallic_paint_x”、“mia_material_x”、“misss_fast_shader_x”和“mi_car_paint_phen_x”着色器具有与其对应的过程相同的界面,并具有相同的输入和输出属性。
并非每个着色器都支持所有过程。每个着色器支持的过程取决于它的界面,如下表所列:
或者,您也可以将“mi_metallic_paint_x”、“mia_material_x”和“misss_fast_shader_x”着色器与多重渲染过程功能结合使用。但是,必须向着色网络中添加“writeToColorBuffer”、“writeToDepthBuffer”、“writeToVectorBuffer”和“writeToLabelBuffer”着色器以便将数据写入帧缓冲区。详细信息请参见 writeToColorBuffer、writeToDepthBuffer、writeToVectorBuffer 和 writeToLabelBuffer。
阴影着色器可确定从对象投射的阴影的外观。这类似于 Maya 光源的“阴影颜色”(Shadow Color)属性。
阴影着色器只能附加到“着色组”(Shading Group)中的相应输入。阴影着色器是特殊着色器,原因是其结果颜色也是输入颜色,这意味着输出不能附加到其他着色器参数,因为此类附加是单向的,只能由输出附加至参数。
当阴影光线遇到遮挡对象时将引用阴影着色器;遮挡对象的阴影着色器控制光线的透射量。
在“现象”(Phenomenon)中,阴影着色器只能附加到“现象”(Phenomenon)内的材质,或者,如果“现象”(Phenomenon)附加到某种材质的阴影着色器,则附加到“现象”(Phenomenon)根。
可以通过连接到特定对象的“着色组”(Shading Group),将体积着色器指定给该对象。
该材质可以控制这些对象内部的雾外观或其他体积效果。在 mental ray for Maya 中,还可以指定全局体积着色器来控制场景中对象外部的雾外观(对应于 Maya 的“环境雾”(Environment Fog))。在 mental ray for Maya 中,通过连接到“体积着色器”(Volume Shade)属性(在摄影机的“属性编辑器”(Attribute Editor)的 mental ray 部分中)指定全局体积着色器。
可使用纹理着色器对材质应用图像文件、生成程序纹理或者确定纹理放置。
该部分中的所有纹理都基于“文件纹理”(File Texture)。
在着色网络中用于在 mental ray for Maya 中渲染逐顶点颜色。可以存储网格顶点(而不是着色网络)的着色和照明信息,以简化场景,提高渲染效率。
有关详细信息,请参见在 mental ray for Maya 中渲染逐顶点颜色。
使用该着色器可生成颜料层中悬浮的金属微粒的效果。该着色器最常用于车漆,以便薄片反射光线,在阳光下可以产生闪光效果。将“mib_bump_flakes”着色器与“mib_glossy_reflection”和“mib_metallic_paint”着色器结合使用(请参见材质)。
使用该着色器可避免生成对象边缘显示几何突起的生硬 CG 外观。在现实世界中,边缘通常稍微有些圆化或圆角化。该着色器通过扰动法线向量在渲染时生成“圆边”的观感。该着色器不会置换或修改几何体,而只是生成一种着色效果(类似于凹凸贴图),应在通常使用凹凸贴图的位置(例如在着色器的“凹凸贴图”(Bump Mapping)字段中)应用。该着色器最适用于直边和简单几何体,而不适用于高度弯曲的高级几何体。
“mia_roundcorners”着色器可与任何具有凹凸贴图 Maya 着色器结合使用。此外,也可以将其他凹凸纹理链接到“mia_roundcorners”着色器的“Bump_vector”属性,以便为着色器的凹凸效果分层。
使用该着色器可计算环境光对场景的影响程度。使用该着色器可以比传统全局照明更高效地提高真实感。
“output_mode”选项可以为“mib_amb_occlusion”节点定义返回的颜色。
如果您希望得到某个环境照亮的全局照明或最终聚集外观,可使用该着色器加速渲染。弯曲法线是曲面点的平均无遮挡方向向量。对于完全无遮挡的曲面,弯曲法线与法线向量相同。对于遮挡的曲面,弯曲法线指向遮挡几何体最少的方向。
将“文件纹理”(File Texture)与 mib_bump_basis 结合应用于法线向量,方法是计算多点的纹理以得出 U 和 V 渐变,这些渐变与基本向量相乘、与原始法线组合、规格化然后被写回。
使用该着色器可生成受文件纹理驱动的凹凸效果。与 mib_bump_map 着色器不同,您可以设置“比例”(Scale)和“颜色”(Color)值。通过按照如下方法创建着色网络,可以使用该着色器为 mental ray 自定义着色器生成凹凸效果:
这些着色器可以捕捉离开场景的光线,类似于“环境”(Environment)纹理。
这些着色器从贴图到有限或无限距离的颜色纹理中返回颜色。可以将它们用于背景图版或前景图版。“环境”(Environments)必须用于环境着色器;叠加必须用于镜头着色器;纹理必须用于场景中平面或其他对象上的纹理或材质着色器。
CIE 天空模型是照明分析中使用的标准模型。它是无色(灰度)模型,因此不适用于创建产品级质量图像,但其优点是符合标准化(已知)的亮度分布。
该着色器与“mia_physicalsky”着色器有许多相同的参数。这些参数包括 on、rgb_unit_conversion、sun_direction 和 y_is_up。
灯光着色器可指定光源贡献给特定曲面点的光线量,指定时考虑光源的强度和方向属性。
灯光着色器连接到自身的 Maya 光源后,Maya 光源的所有设置(颜色、强度、阴影等)都将被忽略,但位置和方向除外(灯光着色器将从自身的 Maya 光源获得设置)。
该着色器使用灯光强度来平衡光子能量,方法是对所选的灯光强度分布进行数字化整合,以计算出正确的光子能量,并且还调整光子密度以适应强度分布。这完全是自动完成的。
若要使用该着色器,只需使用与光源的两个灯光和光子着色器都相同的着色器实例即可。光源必须具有原点(也就是说,该着色器对无限光源无效)。必须将光源设置为发射光子,并且必须为其指定非零能量值(虽然实际值将被着色器所覆盖,但非零的能量值是必需的;否则 mental ray for Maya 不会为该光源发射任何光子)。指数应始终为 2。如果光源是聚光灯,应使用扩散值。
使用该着色器可生成物理上精确的日光渲染。将该着色器与 mia_physicalsky 着色器结合使用。有关详细信息,请参见模拟太阳和天空。
有关该着色器的完整说明,请参见“mental ray for Maya 架构着色器”文档。
当使用“照明/着色 > 批烘焙 (mental ray)”(Lighting/Shading > Batch Bake (mental ray))选项将 mia_physicalsun 和 mia_physicalsky 效果烘焙到纹理时,烘焙结果显示与渲染不同的效果。产生此差异的原因是因为 mia_physicalsun 和 mia_physicalsky 生成 HDR 值,而 Maya 创建的渲染应用色调贴图来创建 8 位颜色数据。换句话说,最终渲染中的颜色与原始颜色数据差别很大。但是,烘焙不应用任何色调贴图。如果烘焙到浮点文件格式,则结果为原始数据。如果烘焙到某个不支持浮点的格式,颜色值将固定为 1.0。在上述任一种情况下,烘焙图像中显示的颜色与渲染中显示的颜色都将不同。
使用该着色器可创建一个入口,允许光线从明亮的外部泻射到更暗的内部。在 mental ray for Maya 渲染中,当在没有直接照明而所有灯光都是间接灯光的场景中使用最终聚集和/或光子时,由于插值不能被其他灯光淹没而清晰可见,可能会出现过度平滑的问题。
光照贴图照明采样着色器是一个简单的颜色着色器,用于对曲面灯光流入密度采样。该着色器可以聚集直接照明和(可选)间接照明。应将该着色器指定给 mib_lightmap_write 节点的输入参数而不是材质。
这些着色器决定光线离开摄影机时的弯曲方式,可用于模拟各种镜头效果,例如景深。
当前 UI 仅支持将单个镜头着色器连接到摄影机。通常,mental ray 渲染核心支持连续执行的一系列镜头着色器。
该着色器通过在摄影机上一般具备的控件提供色调贴图。“mia_exposure_simple”着色器只是添加膝盖压缩,而该着色器可将实际的光亮度转化为图像。
“mia_exposure_simple”着色器和“mia_exposure_photographic”着色器都可用作镜头着色器或输出着色器。
使用该着色器可以将大比例图像转化为标准图像,以适应显示设备的限制。该着色器将“膝盖”到“挤压”之间过亮的插值曲线添加到更易于管理的范围内。可将该着色器应用为镜头着色器或输出着色器。建议采用前一种,在渲染时实时对图像执行色调贴图。后一种着色器则在后期处理时对图像执行色调贴图。
使用该着色器可生成物理上精确的日光渲染。将该着色器与 mia_physicalsun 着色器结合使用。有关详细信息,请参见模拟太阳和天空。
当使用“照明/着色 > 批烘焙 (mental ray)”(Lighting/Shading > Batch Bake (mental ray))选项将 mia_physicalsun 和 mia_physicalsky 效果烘焙到纹理时,烘焙结果显示与渲染不同的效果。产生此差异的原因是因为 mia_physicalsun 和 mia_physicalsky 生成 HDR 值,而 Maya 创建的渲染应用色调贴图来创建 8 位颜色数据。换句话说,最终渲染中的颜色与原始颜色数据差别很大。但是,烘焙不应用任何色调贴图。如果烘焙到浮点文件格式,则结果为原始数据。如果烘焙到某个不支持浮点的格式,颜色值将固定为 1.0。在上述任一种情况下,烘焙图像中显示的颜色与渲染中显示的颜色都将不同。
几何体着色器连接到变换节点,这些节点用于确定几何体的位置和方向。
该着色器返回输入对象的副本,该副本必须是自由形式曲面类型。该着色器将循环处理所有面,并将 1 度的 Bézier 纹理曲面作为最后一个纹理曲面添加到每个面。此外,这些参数还控制纹理曲面点,以使三角形顶点的纹理坐标是三角形顶点位置的 UV 坐标。
采样几何体着色器,可与 mib_geo_add_uv_texsurf 结合使用。
该着色器生成一个以 Z 轴为中心轴的多边形圆锥体,其中顶点和底面分别位于 Z=0 和 Z=-1 位置。该圆锥体的底面半径为 1,高度为 1。圆锥体底面圆盘细分为多个“u_subdiv”子部分,即“v_subdiv”子部分沿 Z 轴方向的圆锥体侧面。
采样几何体着色器,可与 mib_geo_add_uv_texsurf 结合使用。
该着色器生成一个以 Z 轴为中心轴的多边形圆柱体,其中底面和顶面分别位于 Z=-1 和 Z=0 位置。圆柱体的半径为 1,高度为 1。两个圆柱体圆盘细分为多个“u_subdiv”子部分,即“v_subdiv”子部分沿 Z 轴方向的各个侧面。
该着色器构建一个几何体着色器的实例,用于平移、缩放和旋转几何体,并返回仅包含源几何体成员实例的组。如果结果为非零值,则由于基础着色器也出现在列表中,因此不会创建新组,而是将该实例添加到结果组中。
该着色器与 mib_geo_instance 基本相同,只是它接受材质阵列;如果材质阵列有多个成员,则会转化为新实例中的材质列表。如果为实例化对象设置了标记,则材质列表非常有用,这意味着该对象的多边形或曲面包含作为材质阵列中索引的整数。
这些着色器可用于生成类似卡通效果的渲染。在轮廓对比度着色器决定绘制轮廓的位置之后,轮廓着色器决定轮廓颜色和宽度,并根据需要决定运动、法线、材质标记和标签。
该着色器是 depthfade、layerthinner 和 widthfromlight 轮廓着色器的组合。
轮廓宽度将渐变融入到(从“near_width”到“far_width”)背景中,颜色从“near_color”渐变为“far_color”。轮廓宽度和颜色随着“near_z”与“far_z”距离之间的渐变函数而变化。对于光线透射的每个层,用宽度乘以一个因子。如果未指定因子,则宽度与层无关。如果已指定光源,则宽度还取决于相对于光源方向的曲面法线。
如果两条法线处于几乎相反的方向,则轮廓的宽度接近于这两条法线之间的“max_width”值。如果法线之间的角度减小,则轮廓的宽度也逐渐减小,接近于“min_width”值。(宽度永远都不会完全达到“min_width”,因为轮廓对比度函数不会创建任何曲面曲率小于 N 增量度数的轮廓,而且如果不获取所有对象内部的轮廓,也不能将 N 增量设置为零。)
该着色器可绘制其颜色和宽度以线性方式取决于帧编号的轮廓。会指定两个帧编号、颜色和宽度。如果帧编号小于第一个帧编号,则使用第一个颜色和宽度。如果帧编号大于最后一个帧编号,则使用最后一个颜色和宽度。如果帧编号介于两者之间,则使用两种颜色和宽度的线性插值。
使用该轮廓着色器,轮廓宽度将随其上面的材质层数而变化。如果材质位于顶部,将由参数指定其轮廓宽度。对于其上面的每种材质,轮廓宽度将按因子(也可以通过参数控制)减小。
使用“contour_shader_widthfromcolor”轮廓着色器,材质将获得厚度取决于材质颜色的轮廓。厚度取决于红色、绿色和蓝色色带中的最大值(如果大于 1,则将其限制为 1)。如果颜色明亮,则轮廓不可见;如果颜色较暗,则轮廓变宽。最小宽度用于明亮颜色,最大宽度用于黑色。
该着色器将生成以颜色帧缓冲区中指定的背景色显示的轮廓图像,放弃渲染的颜色图像。请参见“渲染设置: mental ray”选项卡的“功能”选项卡上“轮廓”(Contours)部分中的“隐藏源”(Hide Source)。
投射具有给定颜色的反射光线,并将结果与输入颜色合并。使用该着色器可将反射效果添加到提供照明的基础着色器中,通常与其他基础着色器添加的折射或透明效果相结合。如果不能投射反射光线(因为已超出跟踪深度、反射光线导致着色器调用失败或 notrace 参数已设定),请对环境(如果有)进行采样。
以某一折射率投射具有给定颜色的折射光线,然后将结果与输入颜色合并。可以使用另一个基础着色器(例如“mib_refraction_index”)算折射率,该值还会存储回相应的状态变量。使用该着色器可将折射效果添加到提供照明的基础着色器中。
将颜色转化为 RGBA 灰度,方法是提取 Alpha 分量、求 RGB 平均值或者根据突出绿色、弱化红色的生理色模型计算 RGB 权重。生成的灰度值也可用作标量。返回的 R、G、B 和 A 分量都具有相同值。
针对使用相同材质或着色图表(每个元素的参数稍有不同)的大量场景元素的常见问题,该着色器提供了解决方案。为了仅调整一个参数,在所有元素之间共享具有其输入参数(受在当前场景元素上定义的属性动态影响)的一个材质,而不是为每个场景元素创建整个材质的副本。
这些着色器与多重渲染过程结合使用。有关过程的详细信息,请参见多重渲染过程。
将“writeToColorBuffer”、“writeToDepthBuffer”、“writeToVectorBuffer”和“writeToLabelBuffer”着色器添加到着色网络,以便向帧缓冲区中写入数据。选择适当的着色器,具体取决于您的输入和帧缓冲区类型。例如,“writeToColorBuffer”接受颜色作为输入,并写入自定义颜色类型的帧缓冲区。
有关这些着色器的详细信息,请参见 mental ray 渲染过程工具着色器。
该着色器是基于物理方式的材质着色器,可用于模拟诸如玻璃、水和其他液体等电介质。
该着色器对电介质界面使用菲涅尔公式。这意味着大多数光在穿过表面的时候会形成垂直入射方向的角;而多数光在经过表面反射时,会形成掠射角,模拟真实的电介质行为。
该着色器还使用比尔定律吸收穿过介质的光。这意味着光在两个电介质材质表面之间透射时会发生指数衰减。
支持以下两种类型的电介质界面:电解质-空气模拟电介质材质与空气(如玻璃-空气)之间的界面;电介质-电介质模拟两种电介质材质(如玻璃-水)之间的界面。若要实现物理上正确的模拟,请务必使用正确的曲面界面。
执行“Blinn”照明,<hbreak/>类似于“Cook-Torrance”照明(请参见 mib_illum_cooktorr),但没有角度色移。它只需要值为 1 的折射率。
根据给定的环境、漫反射和有光泽的 RGB 颜色、两个光泽度参数以及两个方向向量执行“Ward”照明(基于纹理)。用于生成各向异性效果。请参见 mib_illum_ward_deriv。