maya painteffects 制作头发
作者: yinako minako
前言:在 3d 中制作头发效果至今仍是个难点,最常用的方法就是使用面片加上头发的纹理贴图。但这种方法难以控制纹理贴图和摆放面片物体。 maya 给我们提供了很好的解决方法,这就是 paint effects :不用纹理贴图,设置简单,渲染快速,占用更少的内存。
1. 准备
首先要想好一个发型并准备一个多边形的角色头部,然后选择头部,执行 modify-make live , create-cv curve tool 。如图从头的中后方向前绘制一条曲线,这条曲线决定头发从哪里开始分缝。执行 editcurves-rebuild curve , number of spans =9 , degree =3 ,显示曲线的 cv 点,将曲线命名为 hair_split_curve01 。
复制这条曲线,将第二条曲线命名为 hair_split_curve02 ,并如左下图所示与第一条曲线分开一点。如右下图所示在这两条曲线前端之间横向绘制一条短曲线,命名为 front_hair_split_curve ,不用太精确, spans 为 2 。将这 3 条曲线调整降低到头皮的下方。
2. 头发控制曲线
我们将绘制一系列的曲线粗略的表示头发的生长方向。选择头部, make live , cv 曲线工具,从捕捉 hair_split_curve01 前端的第一个点开始,向左绘制大约 4-6 个 cvs 。 cv 点要保证足够的数量来控制一会儿生成的头发的形状(你可以在开始的时候多建几个点,然后再删除掉多余的)。继续捕捉 hair_split_curve01 上其它的点来绘制曲线。
最终根据你的 spans 数(本篇教程为 9 )你会得到 9-11 条 hair_control_curve (头发控制曲线),选择 hair_control_curve ,调整它们的 cv 点以避免不要和头部相交,并作出发型的形状出来(这需要一定的耐心,大约要调 30 分钟左右)。效果如下图所示。将曲线群组并复制到另一边,再做一些形状上的调整。现在根据 front_hair_split_curve 绘制头发帘的控制曲线,绘制 3 条就行(注意这三条曲线的形状与左右的曲线形状要保持连续平滑的过渡)。
3.paint effects
下面我们将添加一些头发,执行 paint effects-get brush 进入 visor ,打开 brushes/hair/ 文件夹,选择 hairred1.mel (或其它你喜欢的样式)。选择 hair_control_curve01 , painteffects-curve utilities-attach brush to curves ,这样会为 hair_split_curve01 创建一个粗糙的毛发效果。在 outliner 中将新建的这个 stroke 命名为 hair_side_stroke01 ,新的笔刷命名为 hair_side_brush 。
在 outliner 中双击 stroke 打开属性面板,在笔刷页中,首先调整 global scale 值,这个值的大小取决于你的头部模型的大小,我的角色总共 8cm 高,在这里将值设为 0.150 。如果你的角色高度为 160cm 的话,值应为 3 。打开 brush profiles 找到 brush width ,这个值控制从曲线长出的头发的宽度,将值设为 0.8 (不要将它设的太低,这样会使你的头发看上去非常薄)。其他的属性保持为默认。
现在在 outliner 中再次选择 hair_side_stroke01 ,并通过 shift 同时选中所有位于头部一侧的 hair_control_curve (左侧或右侧),执行 paint effects-curve utilities-set stroke control curves ,打开 hair_side_brush 属性面板, tubes/behavior/forces 中,将 curvefollow 设为 1 ,这样可使头发沿 hair_control_curve 生长。进入 hair_side_stroke01 ,将显示质量设为 10 左右(加速显示更新速度)。
4. 调整 paint effects
我们还是从头发的一侧开始。在调整时因为视图观察并不准确,所以你将需要大量的渲染测试,我建议你将渲染分辨率调到 320x240 ,并隐藏除了 hair strokes 之外的所有物体来加快渲染速度。
打开 hair_side_brush 设置面板,将 tubes per step 设为 25 左右(控制头发的数量,不用很精确)。 length min=7 , length max=10 。 tube width1=0.3 , tube width2=0.1 (控制头发的粗细,如果你将头发设细,还要适当的增加 tubes per step 的值,来保持头发的丰满)。 segment=64 (控制头发的圆滑度,这个值会影响渲染时间)。
5. 材质
选择 hair_side_brush ,打开 shading/tube shading ,将 color1 设为你头发根部的颜色, color2 为发梢的颜色。我将其保持为默认值。将 transparency2 设为灰色。 tip fade =0.2 (值越高头发越柔和)。
在 texture 中,选中 map color , texcolorscale=0 (使用纹理贴图的颜色)。 texture type = file , map method = tube3d ,将 tex color1 和 texcolor2 设为白色。然后选择一张图作为纹理(如下图),图案月不规则越好(制作方法为 hairred1.mel 笔刷在 2d 画布视图中绘制直线,导入到 photoshop 中缩放涂抹)。
6. 完成
现在我们将 stroke 效果添加到另一侧和前端的曲线。
选择 hair_split_curve02, painteffects-curve utilities-attach brush to strokes ,当新的 stroke 选中后, shift 选择所有这一侧的 control_curve , painteffects-curve utilities- set stroke control curves 。然后选择新的 stroke 并 shift 选择 hair_side_stroke01 , painteffects-share one brush (使两侧的头发共享同一个笔刷)。
选择 front_hair_split_curve , painteffects-curve utilities-attach brush to strokes ,将新建的 stroke 命名为 hair_front_stoke 。选择 hair_side_stroke01, painteffects-get setting from selected stroke ,然后选择 hair_front_stroke ,执行 painteffects- apply setting to selected strokes 。现在, hair_front_stroke 的笔刷和 hair_side_brush 相同。下图为它们在 hypergraph 视图中的关系。另外你还可以为头发帘赋予一个不同的头发纹理。
7. 优化头发
现在头发的效果还不甚理想,我们将优化头发的两个笔刷使其不仅能够加快渲染速度,还能使头发更有立体感而不用通过提高 tubes per step 的值来增加头发的厚度。
选择 hair_front_brush ,打开属性面板,将 tubesperstep=10 调低一些,提高宽度值,降低 segments 到 24 。打开 behavior|forces 面板, curveattract = -0.041 (使头发与控制曲线的位置有一些偏离,而不是很多头发紧紧粘在一根控制曲线上)。选择 hair_side_brush ,将 curveattract 设为 -0.050 。现在你的头发看起来更自然了。另外在 stroke 调整 seed 值,在 brush/tubes/creation 调整 tube rand 值,为头发增添更多的随机变化。
因为我们会理发,所以头发的分布并不均匀(比如前面薄后面厚)。所以我们需要一个 pressure curve 告诉 paintfx 我们需要在哪里增加头发。选择 hair_side_stroke01 , painteffects-curveutilities-makepressurecurves/ 选项盒, control points=10 , offset scale=0.05 。如果 pressure curve 离的太远或太近,你需要设置一个不同的 offset scale 。要删除它,打开 stroke 的 pressure mapping 面板,右键点击 pressuremin3 ,删除表达式,然后删除 pressure curve 本身。
如果你得到了一条位于 hair_side_stroke01 附近的合适的 pressure curve ,那么打开 pressremapping 面板, pressuremapping1=tubes per step , pressure min1=0.1 , pressuremax1=1 。关闭其它的 pressuremapping 。现在你需要调整 pressurecurve 的 cvs ,提高中间的点增加 hair_side_stroke01 侧头发的厚度,降级两端的点减少头发前后的厚度(如果变化不明显则需调整 pressuremin1 )。
调整满意后,对 hair_side_stroke02 作同样的处理。渲染效果如下图所示。
(完)
好消息:纳金网开设网站专题,整合提供各种maya建模教程、maya软件、maya玻璃材质等专题,有需要的朋友可自行免费下载!
|