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 上其它的点来绘制曲线。
得到 9-11 条 hair_control_curve (头发控制曲线),选择 hair_control_curve ,调整它们的 CV 点以避免不要和头部相交,并作出发型的形状出来。将曲线群组并复制到另一边,再做一些形状上的调整。根据 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 。打开 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 。 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 设为白色。然后选择一张图作为纹理,图案月不规则越好。
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 , 使两侧的头发共享同一个笔刷。 选择 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 相同。
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 值,为头发增添更多的随机变化。
头发的分布并不均匀。选择 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 侧头发的厚度,降级两端的点减少头发前后的厚度。 调整满意后,对 hair_side_stroke02 作同样的处理。