默认情况下,当您创建描述时,Maya 将指定 XGen 头发现象着色器。此工作流程示例说明用于自定义着色器特性以生成逼真的渲染头发颜色的常用方式。
该工作流程说明还如何执行下列操作:
更改默认 XGen 头发现象着色器颜色。
添加“自定义着色器参数”(Custom Shader Parameters) 。
添加噪波表达式来改变根颜色。
设置 XGen 头发现象着色器的颜色值
需要在浏览器中启用Javascript 才能观看此视频。
在 XGen 窗口中,单击“预览/输出”(Preview/Output) 选项卡。
在“预览设置”(Preview Settings) 部分中,单击“基本体颜色”(Primitive Color) 旁边的 图标。
在显示的菜单中,选择“重置为滑块”(Reset to Slider) 。
将“基本体颜色”(Primitive Color) 设置为 0。
打开“Hypershade” (窗口 > 渲染编辑器 > Hypershade(Window > Rendering Editors > Hypershade) )。
在 Hypershade 的“材质”(Materials) 选项卡下,找到指定给要渲染的描述的 xgen_hair_phen 着色器。 提示:
如果在您的场景中有多个描述,您可以确定将哪个着色器实例指定给您要渲染的描述。若要执行此操作,请使用鼠标右键 ( ) 单击 xgen_hair_phen 样例,然后从显示的菜单中选择“选择具有材质选择的对象”(Select Objects With Material Selection) 。此描述将在“大纲视图”(Outliner) 中处于选中状态。
默认情况下将“xgen_hair_phen” 现象指定给描述进行渲染,而默认指定 Phong 着色器用于在 Viewport 2.0 中进行查看。但是,您可以使用喜欢的任何着色器自定义着色网络。例如,可以将 mib_illum_hair_x 着色器指定给要渲染的描述。
双击指定给描述的 xgen_hair_phen 着色器。 着色器属性将显示在“属性编辑器”(Attribute Editor) 中。
在“属性编辑器”(Attribute Editor) 中,单击“漫反射颜色”(Diffuse Color) 、“镜面反射颜色”(Specular Color) 和“后颜色”(Back Color) 的颜色样例可设置颜色。
头发渲染时使用这些颜色设置。
在 XGen 窗口的“预览/输出”(Preview/Output) 选项卡中,确保设置了以下“输出设置”(Output Settings) : “操作”(Operation) :“渲染”(Render)
“渲染器”(Renderer) :“mental ray” 。
在“mental ray 设置”(mental ray Settings) 部分中,将“设置 GeoShader”(Setup Geoshaders) 设置为“手动”(Manually) 。
单击“设置”(Setup) 。
将使用 mental ray 渲染描述。
添加“自定义着色器参数”(Custom Shader Parameters)
您可以添加“自定义着色器参数”(Custom Shader Parameters) 来更改头发进行渲染时的外观。“自定义着色器参数”(Custom Shader Parameters) 的效果在渲染的描述中可见,但在预览中不可见。
在此示例中,创建了名为 tip_color 和 root_color 的两个自定义着色参数,用于改变从根到梢的头发颜色。包含噪波函数的表达式被添加到自定义属性,用于控制根颜色与基础头发颜色的混合程度。
需要在浏览器中启用Javascript 才能观看此视频。
在“预览/输出”(Preview/Output) 选项卡的“自定义着色器参数”(Custom Shader Parameter) 部分中,执行下列操作: 在“名称”(Name) 旁边的空白处,键入 tip_color 。
从“名称”(Name) 旁边的下拉列表中,选择“颜色”(color) 。
单击 创建此参数。
tip_color 参数将显示在“自定义着色器参数”(Custom Shader Parameters) 中。
重复上述步骤,创建名为 root_color 的参数。 您可以使用表达式为梢和根颜色添加颜色。
单击参数旁边的此图标 ,打开“XGen 表达式编辑器”(XGen Expression Editor) 。
在“XGen 表达式编辑器”(XGen Expression Editor) 中,单击“采样数”(Samples) 选项卡。
单击“全局”(Global) 旁边的 + ,然后单击“UI” 旁边的 + 。
从显示的表达式列表中,单击一个颜色相关的表达式,例如 color_green 。
单击“接受”(Accept) 。 tip_color 参数现已设置为绿色。
(可选)若要更改颜色,请单击颜色样例并选择一种新颜色。
针对 root_color ,重复步骤 4 到步骤 8。
注: 这些颜色将显示在渲染的描述中,但不会显示在预览中。
在 mental ray 中渲染描述。
渲染的图像显示 XGen 头发现象着色器设置的头发基础颜色,并且将根和梢颜色混合到最终渲染的颜色中。
注: 如果您的“自定义着色器参数”(Custom Shader Parameters) 不影响渲染的描述,您可能需要删除描述 xgmr:geoshader 对象。若要执行此操作,请在“大纲视图”(Outliner) 中展开描述,直到显示 xgmr:geoshader 对象,然后将其删除。通过在“预览/输出”(Preview/Output) 选项卡的“mental ray 设置”(mental ray Settings) 中单击“设置”(Setup) ,重建着色网络。再次渲染描述。
添加噪波表达式以混合头发颜色
可以使用噪波表达式改变头发颜色。在此示例中,使用表达式将根颜色与由 XGen 头发现象着色器设置的头发基础颜色混合。
需要在浏览器中启用Javascript 才能观看此视频。
单击 root_color 参数旁边的此 图标。 在此示例中,噪波表达式将添加到 root_color 参数中。
在“XGen 表达式编辑器”(XGen Expression Editor) 中,单击“采样数”(Samples) 选项卡。
在“采样数”(Samples) 下,单击 + 以展开“全局”(Global) ,然后再次单击以展开“颜色”(Color) 。
从显示的表达式列表中,选择 noiseE 。 噪波表达式将显示在编辑器中。
在“XGen 表达式编辑器”(XGen Expression Editor) 的文本字段中,执行以下操作: 在行 10 中,键入:
$baseColor=[1.0,0.0,0.0]; #color
这指定 root_color 参数现在用作表达式的基础颜色属性。
在行 13 的 mix($Cs,$Cnew,$Strength) 后,键入 * $baseColor 。 基础颜色值会被添加到噪波计算中。
单击“XGen 表达式编辑器”(XGen Expression Editor) 中的样例来验证表达式。
(可选)在“属性编辑器”(Attribute Editor) 的“自定义着色器参数”(Custom Shader Parameters) 部分中,使用编辑器中的滑块在表达式中修改噪波图案。 例如,将 freq_fine 设置为 0.356,并将 freq_coarse 设置为 8。
单击“接受”(Accept) 。
渲染描述。