每次绘制一个笔划,“Paint Effects”都会创建新的笔刷,并将其附加到该笔划。模板笔刷设置定义该笔刷的初始设置。对模板笔刷设置所做的任何更改都会影响下一个笔划的外观,但不会影响任何先前绘制的笔划。
定义模板笔刷属性
选择希望下一个笔划所基于的笔刷预设。会将选定笔刷的设置复制到模板笔刷。如果不选择笔刷预设,则会使用默认笔刷设置。
若要打开“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口,请执行下列操作之一:
在场景视图中,选择Paint Effects > 模板笔刷设置(Paint Effects > Template Brush Settings)。
在“Paint Effects”面板中,单击工具栏上的“编辑模板笔刷”(Edit Template Brush)按钮 。
使用 Ctrl-B(Windows 和 Linux)或 Control-B (Mac OS X) 热键组合。
要定义所需的模板笔刷设置,请执行下列操作:
选择笔刷类型
设置全局比例
设定会创建和修改哪些通道
设定笔刷轮廓
设定细线多条纹
设定网格属性
设定着色属性
设定管着色属性
将纹理映射到颜色和不透明度
照明笔划绘制
创建阴影和着色
创建涂料辉光
创建管
定义生长行为
将值范围映射到管长度
使用 MEL 脚本应用自定义效果
在管中创建间距
设定流动画属性
选择笔刷类型
选择要使用其进行绘制的笔刷类型。所有笔刷类型都使用笔刷属性所定义的形状。例如,如果使用具有管的“模糊”(Blur)笔刷在某个笔划上绘制,则会在管跨过该绘制的位置进行模糊,而不是沿着“模糊”(Blur)笔划路径进行模糊。
有关详细信息,请参见“Paint Effects”工具设置,特别是笔刷类型。
注意
也可以使用纹理进行绘制。请参见纹理类型。
“细线”(ThinLine)笔刷类型
与“绘制”(Paint)笔刷类型相比,“细线”(ThinLine)笔刷渲染大量精细管的速度会快得多。它使用直接的抗锯齿线绘制,而不是使用一系列笔刷图章。使用该“笔刷类型”(Brush Type)时,还会提供一种新的“多条纹”(Multi Streak)方法。通过与“多条纹”(Multi Streak)方法结合使用,对于头发来说,“细线”(ThinLine)笔刷类型”的速度最快可以达到“绘制”(Paint)“笔刷类型”(Brush Type)的 100 倍,并可实现更好的线细节。此外,使用“多条纹”(Multi Streaks)(如湿的成束头发)有可能得到新的外观。
注意
当在“细线”(ThinLine)笔刷类型下使用较大的“管宽度”(Tube Width)值时,可能会导致出现瑕疵。
“网格”(Mesh)笔刷类型
“网格”(Mesh)类型的笔刷使用三角形化的管而不是笔刷图章渲染“Paint Effects”。这将产生精确的圆锥形几何体,该几何体具有正确地映射到曲面上的纹理。与使用“绘制”(Paint)“笔刷类型”(Brush Type)时相比,会更加精确地渲染平面。而表示软的、有绒毛的体积时,“绘制”(Paint)笔刷类型”(Brush Type)通常更好,“网格笔刷类型”(Mesh Brush Type)更适合于硬曲面。
使用“网格”(Mesh)“笔刷类型”(Brush Type)可以创建“Paint Effects”树和植物,这些树和植物不仅在离得较远时很逼真,而且在离得很近时也很逼真。还可以创建形状(如边缘清晰的几何体(建筑物)),并可以在网格上执行每像素照明(包括镜面反射高光)。笔刷上还有一个内置环境贴图,该贴图在模拟反射曲面时很有用(请参见设定网格环境反射)。我们已添加置换贴图和凹凸贴图以增强网格曲面的细节(请参见设定网格置换/凹凸贴图)。三角形不会保存在内存中,而是在渲染时生成。因此,可以使用许多三角形,而不会耗尽内存。
通过将管表示为三角形而可能实现的另一个功能是“Paint Effects 到多边形”(Paint Effects to polygons)的转化。有关详细信息,请参见将 Paint Effects 转化为多边形。
设置全局比例
使用“全局比例”(Global Scale)设置可按公用因子调整笔刷属性值。这样会均匀地缩放绘制效果,以便可以绘制相同的效果,但使用不同的大小。
提示
可以使用 b 热键以交互方式更改全局比例。有关其他“Paint Effects”热键的信息,请参见使用默认“Paint Effects”热键。
设定会创建和修改哪些通道
(颜色)渲染的图像中的每个像素都包括三个值或通道。三个通道中的每一个都表示图像中红色、绿色或蓝色的量。
某些图像文件还可以包含第四个或第五个信息通道。Alpha 通道(或遮罩通道)表示对象的存在和不透明。深度通道(或 Z 深度或 Z 缓冲区通道)表示对象与摄影机之间的距离。这两个通道是由合成软件(例如,Maya Composer 或 Maya Fusion)使用的。例如,可以使用图像的 Alpha 通道作为蒙版将一个对象(不包含其背景)与另一个图像合成,或者可以使用深度通道正确地在彼此上面合成多个透明对象。
默认情况下,“Paint Effects”会在场景中使用三个颜色通道和一个 Alpha 通道生成笔划的图像文件。可以指定“Paint Effects”是否保存深度信息(创建深度通道),以及是否使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“通道”(Channels)区域中的笔划信息更新个别通道。有关“通道”(Channel)选项的描述,请参见通道。
设定笔刷轮廓
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“笔刷轮廓”(Brush Profile)区域中的设置可定义笔刷轮廓。有关“笔刷轮廓”(Brush Profile)选项的描述,请参见笔刷轮廓。
设定“细线多条纹”(Thin Line Multi Streaks)
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“细线多条纹”(Thin Line Multi Streaks)区域中的设置可定义“细线多条纹”(Thin Line Multi Streaks)。有关“细线多条纹”(Thin Line Multi Streaks)选项的描述,请参见细线多条纹。
设定网格属性
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“网格”(Mesh)区域中的设置可定义网格笔刷。有关“网格”(Mesh)选项的描述,请参见网格。
设定网格刺属性
可能会从使用“网格”(Mesh)“笔刷类型”(Brush Type)时创建的三角形的曲面上生成大量刺。这些刺是使用与“细线”(ThinLine)“笔刷类型”(Brush Type)相关联的渲染方法绘制的,并快速地渲染。它们是单分段管,且不会显示在笔划的线框表示中。可以使用这些刺为植物添加刺和芒刺,或创建毛茸茸的或有绒毛的管。有关这些选项信息的描述,请参见网格上的刺。
注意
“网格上的刺”(Thorns on Mesh)仅在渲染时创建。
设定网格环境反射
可以将简单的基于渐变的环境与“网格”(Mesh)“笔刷类型”(Brush Type)一起使用。这可以用于创建诸如铬、水、玻璃、有光泽的油漆等外观。有关这些选项的描述,请参见网格环境反射。
设定网格置换/凹凸贴图
在“笔刷设置”窗口的“纹理”(Texturing)区域中,可以对使用“网格”(Mesh)“笔刷类型”(Brush Type)时创建的三角形应用置换。如果使用“逐像素着色”(Per Pixel Shading),那么会将凹凸贴图与三角形置换一起应用。
用于控制网格置换/凹凸贴图的选项有:“贴图置换”(Map Displacement)、“置换比例”(Displacement Scale)、“置换偏移”(Displacement Offset)、“凹凸强度”(Bump Intensity)、“凹凸模糊”(Bump Blur)和“使用亮度”(Use Luminance)。有关这些选项的描述,请参见纹理。
设定着色属性
使用“Paint Effects 笔刷设置”(Paint Effect Brush Settings)窗口的“着色”(Shading)区域中的设置可定义着色笔刷属性。对于简单的笔划,这些设置定义沿笔划路径应用的绘制的着色。对于包含管的笔划,这些设置定义应用到管根部的绘制的着色。有关这些属性的描述,请参见着色。
设定管着色属性
“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管着色”(Tube Shading)区域中的设置仅应用于包含管的笔刷。使用它们可定义应用于管尖端的绘制的着色。有关这些属性的描述,请参见管着色。
将纹理映射到颜色和不透明度
尽管在 Maya 中,通常可以在颜色框上单击鼠标右键,然后选择“创建新纹理”(Create New Texture)来将纹理映射到它,但这与在“Paint Effects”中的情形不同。若要将纹理映射到管“颜色”(Color)和“不透明度”(Opacity),必须使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“纹理”(Texturing)区域中的选项。有关这些属性的描述,请参见纹理。
照明笔划绘制
灯光照射在对象上时,它会照明对象的表面。没有灯光,就无法看到表面。笔划上的绘制的行为类似于表面,因此需要灯光才能看到它。
可以使用场景中的灯光来照明绘制(真实灯光),或者可以使用“Paint Effects”灯光,该灯光仅影响笔划绘制,而不会影响场景中的任何其他对象。
注意
如果使用的是“Paint Effects”灯光,请确保已在“Paint Effects 全局参数”(Paint Effects Globals)中禁用“强制真实灯光”(Force Real Lights)(Paint Effects > Paint Effects 全局参数(Paint Effects > Paint Effects Globals) > 场景(Scene))。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“照明”(Illumination)区域中的设置可定义如何照明绘制。有关这些属性的描述,请参见照明。
创建阴影和着色
灯光照射在曲面上时,会照明面向光源的曲面部分,而背向光源的曲面部分会显示着色。如果一个曲面位于第二个曲面与光源之间,那么第一个曲面会将阴影投射到第二个曲面上。默认情况下,“Paint Effects”笔划不会投射阴影或产生着色效果,但是可以创建它们。可以创建多种类型的阴影和着色:
虚设阴影(不是真实的阴影,但渲染得非常快)
背面阴影(着色对象的背面)和中心阴影(着色管的面片的中心区域)
管根部阴影(在根部着色管)
深度贴图阴影(笔划在曲面上投射阴影)
注意
可以同时使用深度贴图阴影和虚设阴影(请参见虚设阴影)。它们不会相互干扰。
笔划不会投射光线跟踪阴影,仅会投射深度贴图阴影。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“阴影效果”(Shadow Effects)区域中的选项可创建这些着色效果。有关这些属性的描述,请参见阴影效果。
虚设阴影
不使用深度贴图阴影在曲面上投射阴影,可以使用“虚设”阴影,虚设阴影渲染花费的时间较少,且在处于平面上的笔划上足够逼真。请参见虚设阴影。
背面着色和中心着色
这两种着色技术渲染都很快。请参见背面阴影和中心阴影。
管根部着色
管根部通常不会暴露在灯光下(想象草或毛发),这意味着会照明尖端,而根部会着色。
下列阴影选项通过着色根部模拟这种效果。对于着色植物茎,该着色技术特别有效。请参见深度阴影类型和深度阴影深度。
在对象上投射阴影(深度贴图阴影)
这是最逼真的阴影技术,但会花费较长的时间进行渲染。通过使用深度贴图阴影,笔划可以在其他曲面上投射阴影,但也可以在它自己的曲面上投射阴影(管可以在同一笔划中的其他管上投射阴影)。对象也可以在笔划上投射阴影。请参见投射阴影。
该技术仅适用于笔划使用“真实灯光”(Real Lights)时(请参见真实灯光)。
创建涂料辉光
可以向涂料添加两种类型的辉光效果:标准“辉光”(Glow)和“着色器辉光”(Shader Glow)。在“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“辉光”(Glow)区域中添加这些效果。有关这些属性的描述,请参见辉光。
创建管
使用管进行绘制时,“Paint Effects”会沿着笔划路径放置管。这些管可以增大到几乎无限种类的形状和形式,具体取决于在“创建”(Creation)、“生长”(Growth)、“行为”(Behavior)、“长度映射”(Length Mappings)和“用户 MEL 脚本”(User MEL Scripts)区域中定义的设置。管设置位于“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管”(Tubes)区域中。有关这些属性的描述,请参见管。
管创建属性
“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 创建”(Tubes > Creation)区域中的设置定义管最初是如何创建的。有关这些属性的描述,请参见创建。
设定生长属性
作为生长模拟的一部分,管可长出分支、细枝、叶、花和萌芽。尽管确实可以应用这些设置以模拟植物生长,但是也可以使用生长模式来创建其他有趣的效果。例如,可以使用分支实现湿淋淋的水彩效果。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 生长”(Tubes > Growth)区域中的选项可选择从管生长出什么。有关这些属性的描述,请参见生长。
设定分支属性
仅当在“管 > 生长”(Tubes > Growth)下启用“分支”(Branches)时,下列设置才可用(请参见设定生长属性)。它们定义管如何分割为分支。有关这些属性的描述,请参见分支。
设定细枝属性
仅当在“管 > 生长”(Tubes > Growth)下启用“细枝”(Twigs)时,下列设置才可用(请参见设定生长属性)。它们定义细枝如何从管或分支生长出来。有关这些属性的描述,请参见细枝。
设定叶属性
仅当在“管 > 生长”(Tubes > Growth)下启用“叶”(Leaves)时,下列选项才可用(请参见设定生长属性)。它们定义叶如何从管或分支生长出来。有关这些属性的描述,请参见叶。
设定花属性
仅当在“管 > 生长”(Tubes > Growth)下启用“花”(Flowers)时,下列设置才可用(请参见设定生长属性)。它们定义花如何从管或分支生长出来。有关这些属性的描述,请参见花。
设定萌芽属性
仅当在“管 > 生长”(Tubes > Growth)下启用“萌芽”(Buds)时,下列设置才可用(请参见设定生长属性)。它们定义萌芽的大小和颜色。有关这些属性的描述,请参见萌芽。
定义生长行为
通过以任意组合向管应用力和置换,可以使管生长成为更有趣的形状。
设定置换属性
应用置换时,可以置换笔划中完全生长成的管的最终位置,从而将它们扭曲到新的形状中。可以应用噪波、摆动和卷曲置换。也可以将湍流作为置换来应用。有关湍流的信息,请参见设定湍流属性。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 行为 > 置换”(Tubes > Behavior > Displacement)区域中的选项可置换管。有关这些属性的描述,请参见置换。
设定力属性
在生长周期中的每个步骤,可以在管生长时对其应用力。这些小的累积更改会以一种更系统的方式影响整个管的形状,从而产生不同种类的效果。可以应用螺旋力、重力、风、湍流以及阻止管穿过地面的排斥力。由于生长具有累积性,因此力往往会在管的尖端比在根部有更好的效果。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 行为 > 力”(Tubes > Behavior > Forces)区域中的设置可将力应用于笔划管。某些力(如“路径吸引”(Path Attract)和“路径跟随”(Path Follow))不应用于叶或花。有关这些属性的描述,请参见力。
设定湍流属性
湍流会在管的运动中导致不规则(或噪波)。使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 行为 > 湍流”(Tubes > Behavior > Turbulence)区域中的设置可定义应用于管的湍流力。可以作为力或置换应用湍流,具体取决于“湍流类型”(Turbulence Type)。有关这些属性的描述,请参见湍流。
设定螺旋属性
将管环绕笔划法线时会发生螺旋。使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 行为 > 螺旋”(Tubes > Behavior > Spiral)区域中的设置可创建螺旋效果。有关这些属性的描述,请参见螺旋。
设定弯曲属性
弯曲可以用于卷起叶和花,以及用于使整个分支在 U 方向上弯曲(沿长度方向)。可以创建自然外观的花瓣和植物,如卷牙蕨。如果不是零,则会自动在生长动画中设置它的动画。可以使用“卷曲”(Curl)属性在 V 方向上弯曲叶和花瓣(沿宽度方向)。使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 行为 > 弯曲”(Tubes > Behavior > Bend)区域中的设置可创建弯曲效果。有关这些属性的描述,请参见弯曲。
设置扭曲属性
如果管具有某些平坦度或纹理(请参见 Flatness1、Flatness2 和将纹理映射到颜色和不透明度),则可以扭曲它们以产生像扭曲的丝带那样的效果。使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“扭曲”(Twist)区域中的设置可创建扭曲效果。有关这些属性的描述,请参见扭曲。
将值范围映射到管长度
可以将管长度映射到颜色、透明度、白炽度、管宽度和分割长度值范围,以便每个管都使用整个范围,或仅最长的管使用整个范围。使用“Paint Effects 笔刷设置”(Paint Effects Brush settings)窗口的“管 > 长度映射”(Tubes > Length Mappings)区域中的设置可映射这些属性。有关这些属性的描述,请参见长度映射。
使用 MEL 脚本应用自定义效果
可以编写 MEL 脚本,这些脚本会在笔刷的生长模拟过程中应用效果。有两种类型的脚本:创建脚本和运行时脚本。
通常,将希望修改在 Maya 脚本目录中提供的样例脚本。若要进行修改,请执行下列操作:
从 Maya 脚本目录复制所需函数的 MEL 文件:
(Windows 和 Linux)mayapath/scripts/paintEffects
(Mac OS X) mayapath/Maya/Contents/scripts/paintEffects
将文件粘贴到本地脚本目录中,然后重命名它。
修改该函数。更改函数名称以与文件名前缀(例如 leafDroop)匹配。请勿修改函数的声明(其输入参数列表)。
创建脚本
创建脚本覆盖普通的管创建例程(并因此覆盖许多控件)。在 Maya 脚本目录中提供了以下样例创建脚本:
paintCreateFunc.mel ? 模拟普通的管创建。
运行时脚本
每次将新分段添加到管时,都会调用运行时脚本。通常,需要做的大多数事项会使用运行时脚本。在 Maya 脚本目录中提供了下列样例运行时脚本,该目录位于:
(Windows 和 Linux)mayapath/scripts/paintEffects
(Mac OS X) mayapath/Maya/Contents/scripts/paintEffects
paintRuntimeFunc.mel ? 在管的底部创建两片叶,并应用随机摆动。
paintCollideFunc.mel ? 使管与一个两单位球体碰撞,该球体位于 0, 1, 0。可以使用该函数来创建一个新函数,后者将球体的位置绑定到场景中的某个对象。
leafDroop.mel ? 使所有叶向下垂落。可以使树上的重力为负值,这样树会始终向上生长,但使叶向下生长(如果不生成次分支,该函数就是可用作新函数的模板的最简单函数)。
widthNoise.mel - 使宽度沿着管以随机的方式变化。它仅影响基础管和细枝,而不影响叶或花。
注意创建脚本不能用作运行时脚本,反之亦然。
使用运行时函数时,复杂对象的线框重画速度可能较慢,因为会为每个管分段调用该函数。
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“管 > 用户 MEL 脚本”(Tubes > User MEL Scripts)区域可使用脚本。有关这些属性的描述,请参见用户 MEL 脚本。
运行时回调
可以使用笔划或笔刷的名称,以基于该名称定制运行时过程。
使用回调函数的自定义“Paint Effects”笔刷必须在所有回调过程定义的结尾有两个参数:笔刷名称和笔划名称。通过这些参数可以知道笔刷的名称以及触发回调的笔划的名称。
这些回调参数显示在示例脚本中(例如 <maya_home>/scripts/paintEffects/leafDroop.mel)。
为了练习运行时回调,可以执行下列操作:
将 <maya_home>/scripts/paintEffects/leafDroop.mel 复制到 <maya_home>/scripts/startup。
在 leafDroop.mel 中回调内部的某个位置添加 print ("brushName="+$brushName+"") ; 语句。
在 Maya“渲染”(Rendering)菜单集中,选择Paint Effects > Paint Effects 工具(Paint Effects > Paint Effects Tool),然后选择 Paint Effects > 模板笔刷设置(Paint Effects > Template Brush Settings)。
在出现的窗口中,单击“管”(Tubes)。
选中“管”(Tubes)复选框。
单击“用户 MEL 脚本”(User MEL scripts)。
在“运行时脚本”(Runtime Script)文本区域中,键入 leafDroop。
在 Maya 场景视图中,绘制一些“Paint Effects”笔划,然后应该看到已调用 leafDroop 过程。
在管中创建间距
可以在管中创建间距,并使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“间隙”(Gaps)区域中的设置来设置管的动画。创建像火和降雨等效果时,这是很有用的。有关这些属性的描述,请参见间距。可能需要增加管分段以看到间距效果;请参见分段。
设定流动画属性
使用“Paint Effects 笔刷设置”(Paint Effects Brush Settings)窗口的“流动画”(Flow Animation)区域中的设置可设置管生长的动画以及间距、扭曲和纹理沿着每个管流动的动画。有关这些属性的描述,请参见流动画。