查看: 2088|回复: 3
打印 上一主题 下一主题

Maya PaintEffects 制作头发

[复制链接]

347

主题

1

听众

3111

积分

中级设计师

Rank: 5Rank: 5

纳金币
1147
精华
41

最佳新人 活跃会员 热心会员 灌水之王 突出贡献

跳转到指定楼层
楼主
发表于 2013-10-31 15:49:58 |只看该作者 |倒序浏览
maya PaintEffects 制作头发(1)
作者: Yinako Minako
前言:在 3D 中制作头发效果至今仍是个难点,最常用的方法就是使用面片加上头发的纹理贴图。但这种方法难以控制纹理贴图和摆放面片物体。 Maya给我们提供了很好的解决方法,这就是 Paint Effects :不用纹理贴图,设置简单,渲染快速,占用更少的内存。
  
ak_clip_image002.jpg
  
  1. 准备
  
首先要想好一个发型并准备一个多边形的角色头部,然后选择头部,执行 Modify->Make Live , Create->CVcurve tool 。如图从头的中后方向前绘制一条曲线,这条曲线决定头发从哪里开始分缝。执行 EditCurves->Rebuildcurve , Number of spans =9 , degree =3 ,显示曲线的 CV 点,将曲线命名为hair_split_curve01 。
  
ak_clip_image003.jpg
  
复制这条曲线,将第二条曲线命名为 hair_split_curve02,并如左下图所示与第一条曲线分开一点。如右下图所示在这两条曲线前端之间横向绘制一条短曲线,命名为 front_hair_split_curve,不用太精确, spans 为 2 。将这 3 条曲线调整降低到头皮的下方。
  
ak_clip_image005.jpg
  
  2. 头发控制曲线
  
我们将绘制一系列的曲线粗略的表示头发的生长方向。选择头部, Make Live , CV 曲线工具,从捕捉hair_split_curve01 前端的第一个点开始,向左绘制大约 4-6 个 CVs 。 CV点要保证足够的数量来控制一会儿生成的头发的形状(你可以在开始的时候多建几个点,然后再删除掉多余的)。继续捕捉hair_split_curve01 上其它的点来绘制曲线。
  
ak_clip_image007.jpg
  
最终根据你的 spans 数(本篇教程为 9 )你会得到 9-11 条 hair_control_curve (头发控制曲线),选择hair_control_curve ,调整它们的 CV 点以避免不要和头部相交,并作出发型的形状出来(这需要一定的耐心,大约要调 30分钟左右)。效果如下图所示。将曲线群组并复制到另一边,再做一些形状上的调整。现在根据 front_hair_split_curve绘制头发帘的控制曲线,绘制 3 条就行(注意这三条曲线的形状与左右的曲线形状要保持连续平滑的过渡)。
  
ak_clip_image008.jpg
  
ak_clip_image009.jpg
  
ak_clip_image011.jpg
  
ak_clip_image013.jpg
Maya PaintEffects 制作头发(2)
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 。
  
ak_clip_image015.jpg
  
在 outliner 中双击 stroke 打开属性面板,在笔刷页中,首先调整 Global Scale值,这个值的大小取决于你的头部模型的大小,我的角色总共 8cm 高,在这里将值设为 0.150 。如果你的角色高度为 160cm 的话,值应为3 。打开 Brush Profiles 找到 Brush Width ,这个值控制从曲线长出的头发的宽度,将值设为 0.8(不要将它设的太低,这样会使你的头发看上去非常薄)。其他的属性保持为默认。
  
ak_clip_image016.jpg
  
现在在 outliner 中再次选择 hair_side_stroke01 ,并通过 shift 同时选中所有位于头部一侧的hair_control_curve (左侧或右侧),执行 Paint Effects->Curve Utilities->SetStroke Control Curves ,打开 hair_side_brush 属性面板, tubes/Behavior/forces中,将 CurveFollow 设为 1 ,这样可使头发沿 hair_control_curve 生长。进入hair_side_stroke01 ,将显示质量设为 10 左右(加速显示更新速度)。
  
ak_clip_image017.jpg
  
  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(控制头发的圆滑度,这个值会影响渲染时间)。
  
ak_clip_image019.jpg
  
ak_clip_image021.jpg
  
  5. 材质
  
选择 hair_side_brush ,打开 Shading/tube shading ,将 color1 设为你头发根部的颜色,color2 为发梢的颜色。我将其保持为默认值。将 transparency2 设为灰色。 Tip Fade =0.2 (值越高头发越柔和)。
  
ak_clip_image023.jpg
  
在 texture 中,选中 map color , Texcolorscale=0 (使用纹理贴图的颜色)。 Texture type =File , Map method = tube3D ,将 Tex Color1 和 TexColor2设为白色。然后选择一张图作为纹理(如下图),图案月不规则越好(制作方法为 hairRed1.mel 笔刷在 2D 画布视图中绘制直线,导入到photoshop 中缩放涂抹)。
  
ak_clip_image020.jpg
  
ak_clip_image024.jpg
Maya PaintEffects 制作头发(3)
6. 完成
  
  现在我们将 stroke 效果添加到另一侧和前端的曲线。
选择 hair_split_curve02, PaintEffects->Curve Utilities->AttachBrush 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->AttachBrush to Strokes ,将新建的 stroke 命名为 hair_front_stoke 。选择hair_side_stroke01, PaintEffects->Get Setting from selected stroke,然后选择 hair_front_stroke ,执行 PaintEffects-> apply setting to selectedstrokes 。现在, hair_front_stroke 的笔刷和 hair_side_brush 相同。下图为它们在hypergraph 视图中的关系。另外你还可以为头发帘赋予一个不同的头发纹理。
  
ak_clip_image026.jpg
  
ak_clip_image027.jpg
  
  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 值,为头发增添更多的随机变化。
  
ak_clip_image028.jpg
  
因为我们会理发,所以头发的分布并不均匀(比如前面薄后面厚)。所以我们需要一个 pressure curve 告诉 Paintfx我们需要在哪里增加头发。选择 hair_side_stroke01 ,PaintEffects->CurveUtilities->makePressureCurves/ 选项盒, controlpoints=10 , offset scale=0.05 。如果 Pressure curve 离的太远或太近,你需要设置一个不同的offset Scale 。要删除它,打开 stroke 的 pressure Mapping 面板,右键点击 pressureMin3,删除表达式,然后删除 pressure curve 本身。
  
ak_clip_image029.jpg
  
ak_clip_image030.jpg
  
如果你得到了一条位于 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 作同样的处理。渲染效果如下图所示。
  
ak_clip_image031.jpg
  
ak_clip_image032.jpg
maya教程完。
分享到: QQ好友和群QQ好友和群 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
转播转播0 分享淘帖0 收藏收藏0 支持支持0 反对反对0
回复

使用道具 举报

1

主题

1

听众

1391

积分

助理设计师

Rank: 4

纳金币
5
精华
0
沙发
发表于 2013-12-14 16:32:10 |只看该作者
好教程,学习了
回复

使用道具 举报

0

主题

1

听众

102

积分

设计实习生

Rank: 2

纳金币
39
精华
0

最佳新人

板凳
发表于 2013-12-24 22:39:08 |只看该作者
学习了!谢谢了!
回复

使用道具 举报

1250    

1

主题

3

听众

449

积分

设计实习生

Rank: 2

纳金币
103
精华
0

最佳新人

地板
发表于 2014-2-28 10:38:04 |只看该作者
感谢分享!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

手机版|纳金网 ( 闽ICP备2021016425号-2/3

GMT+8, 2025-2-12 00:42 , Processed in 0.078542 second(s), 33 queries .

Powered by Discuz!-创意设计 X2.5

© 2008-2019 Narkii Inc.

回顶部