有些发型如长发,在曲线插值方式下比表面生长方式更加自然。基于曲线的毛发可以让我们直观地在3DsMAX中通过一些曲线来定制发型,当我们使用曲线物体作为头发的生长源时,毛发系统会根据曲线物体中的每根曲线产生一根导引线,然后用这些导引线作为毛发生长的框架,事实上是在使用一种三维的面片来定义发型。
要想成功地使用基于曲线的毛发,需要记住以下几点:
毛发将在连续的几根曲线这间插值产生,创建时最好先分开若干个曲线物体然后按照顺序结合在一起需要说明的是,结合的先后顺序就是头发生成的先后顺序。
两根曲线之间是通过线性插值的方式产生毛发,所以在创建曲线时分布要均匀。
曲线的第一个顶点将会作为发根,所以在创建曲线时,应该统一从头发的生长点开始创建。
在这个教程中,我们将创建两个不同的曲线物体,每个物体都由几根曲线组成,形成一个女式的发式,这个发型前部有刘海,两边前翘,后部是长的直发。
一、准备
1、单击此处下载spline.max文件,打开文件,在这个场景中有一个头部的模型和3个隐藏的产生阴影的聚光灯,我们将不使用头部模型产生头发,而是用基于曲线的轮廓来创建。
2、在头部模型上单击右键,在弹出的菜单中选择冻结选项。
3、在主工具栏中,右键单击吸附按钮SnapsToggle打开吸附对话框。
4、只勾选吸附到面Face的选项。
5、在GridandSnapSettings>OptionsPanel,勾选SnaptoFrozenObjects(吸附到冻结物体),如图1所示。

图1
6、关闭设置面板,点击吸附按钮打开吸附功能。
二、创建曲线发型框架
下面就是我们将要创建头发的曲线,首先要规划好发型的分界线,如下图2所示,头发将在红线两边流向头部两边。

图2
1、进入创建命令面板选择Splines(曲线)>Line(线段)。确认InitialType(初始类型)及DragType(拖拽类型)都设置为Smooth(平滑)。
2、在透视图中,按照下图所示方位画出一根曲线,右键结束操作。4个顶点的曲线不足以贴合头部外形,后面我们再作调整,按下F3键打开线框模式,如图3所示。

图3
3、继续添加曲线,参考下图,记住第一个顶点都要沿着发型分界线放置,如图1-4所示。

图4
三、调整曲线框架
1、进入显示命令面板,在Hide(隐藏)卷展栏,勾选HideFrozenObjects(隐藏冻结物体),这将隐藏头部模型,如图5所示。

图5
2、选择创建的第一根曲线:Line01,进入修改命令面板。
3、在Geometry(几何体)卷展栏,点击附加按钮Attach。
4、附加所有曲线,严格按照下图的顺序时针顺序附加,如图1-6所示。

图6
5、回到显示命令面板去掉HideFrozenObjects(隐藏冻结物体)的勾。
6、选择曲线框架,在修改命令面板下将其重新命名为Hair。
7、进入顶点Verter层级,从顶部观察头部,选择所有作为发根的第一个曲线顶带,如图7所示。

图7
8、按下Ctrl+I键反选。
9、在主工具栏,选择缩放工具,将缩放的轴心选为选择集的中心。
10、将所选的顶点集放大,曲线会更自然的包裹在头部,如图8所示。

图8
11、调节各顶点使其与头部保持一定间隔的同时贴合头部的形状并呈现出我们想要的发型。如有必要再添加一些顶点以增加细节,如图9所示。

图9
四、生成头发并调整设置
1、选择Hair物体,添加HairAndFur(WSM)毛发修改器。添加到曲线上的毛发修改器(DisplayHairs>Percentage增加到10让头发显示得完整些,如图10。

图10
2、设置以下参数:在GeneralParameters卷展栏下参数设置:
HairCount=600(头发的数量),HairSegments=25(头发的段数),HairPasses=4(头发传递),RootThick=0.6(发根粗细),TipThick=0.4(发尖粗细),以上这些参数控制了头发的数量、弯曲度和大小。
3、设置MaterialParameters卷展栏下的参数设置:OccludedAMB=0,TipColor=DarkBrownrgb[34,28,13](发尖颜色),RootColor=DarkBrown RGB[29,24,11](发根颜色),HUEVariation=15(色相变化),以上这些参数控制了头发的材质属性,如高光等。
4、设置FrizzParameters卷展栏下的参数:
FrizzRoot=80(发根卷曲度),这个参数为头发的根部加入一定的噪波效果,让它看起来浓密且自然。
5、MultiStrandParameters卷展栏下的参数设置:
Count=5(数量),RootSplay=0.85(根部分开),Randomize=15(随机量),以上这些参数是为头发加入一定的集束效果。上面的参数设置都是通过不停的试验得出的结论,在实际制作过程中,我们也可能通过不断的设置来找到适合的头发设置值,通过不停的对参数的修改直到你认为满意的效果。
6、下面我们从几个不同的角度对头发进行渲染,如果有必要的话修改曲线的顶点位置及设置。需要注意的是,在修改曲线的同时,其生成的插值头发也会实时地跟着改变,如图11所示为不同视图角度渲染的最终结果。

图11
五、使用预设置方案
1、我们现在可以将调整完成的发型发案进行保存以便以后再用。
2、选择Hair物体,进入修改命令面板中,单击打开Tools卷展栏。
3、在Presets区域,点击Save按钮。
4、在对话框中,将方案命名为Brown-Hair然后点击OK按钮。
5、点击Load按钮查看内置的一些方案,我们刚刚保存的方案会以一个名为Brown-Hair.shp的图标显示,如图1-12。

图12
6、下面通过双击Platnumblond.shp方案来加载它。
7、渲染场景查看效果,现在角色有一头金发,不过参数仍然需要不断的进行调节。说明一点:相对于一开始就胡乱调节来说,打开一个已有的相近的方案然后再进行调节就比较容易得多,如图13。

图13
8、修改PlatinumBlonde方案的参数,自由地调节。或使用下面的参数:
HairCount=2000(头发的数量),HairSegments=20(头发段数),HairPasses=3(头发传递),RootThick=0.7(发根粗细),TipThick=0.4(发尖粗细),FrizzRoot=50(发根卷曲度),FrozzTip=0(发尖卷曲度),MultiStrandCount=4(集束数量),RootSplay=0.2(根部发开)
9、渲染场景观看一下效果,如图14所示。

图14