maya头发完整教程.docx
- 文档编号:6995266
- 上传时间:2023-01-15
- 格式:DOCX
- 页数:24
- 大小:2.18MB
maya头发完整教程.docx
《maya头发完整教程.docx》由会员分享,可在线阅读,更多相关《maya头发完整教程.docx(24页珍藏版)》请在冰豆网上搜索。
maya头发完整教程
本例为MayaHair头发模块制作教程,教程将分为基本流程篇、生成篇、基本设置篇和动力学篇四个部分讲解,希望能给朋友们带来帮助~~
基本流程篇:
第一节先用最简单的方式说一下整个流程的大致情况,好有个整体性的认识。
下面几节会提到一些要点和我自己总结的经验,还有些我还没想明白的问题,希望大家一起想办法。
启动MAYA,按F4键进入动力学模块,菜单栏上就出现Hair菜单了。
建一个多边形的球,模仿头皮,可以删掉一些面。
选择这个球,使用Hair-CreateHair,在设置面板上可以设置头发的output方式是PaintEffects,这样渲染的时候就是以PaintEffects方式进行渲染的。
如图,生成了一些PaintEffects(以下简称PE)方式的头发。
图中棕色的就是头发,也就是PE效果。
附在球体上的红色的小圆圈代表毛囊物体,每个毛囊物体控制一束头发。
可以播放一下动画看看效果,也可以使用Solvers-InteractivePlayback交互式回放,使用交互式回放可以在播放的过程中用鼠标影响场景,比如拖动这个球体,可以看到头发跟随球体进行运动的情形。
原本直立的头发受内置的重力参数的控制弯垂下来。
为了后面的观察、操作方便,可以把时间条上的播放范围设得长一些,比如3000祯或5000祯,不用担心算不动,头发的计算是非常快的,负担很小。
再使用Hair-Display-StartPosition,这个Display栏目下面的各项用来控制视图里显示的成分。
使用显示StartPosition以后,视图中多了一些直立的蓝色线,这些都是NURBS曲线,每根线控制一束头发的大体动态。
蓝色线表示的是头发的起始状态,刚创建头发的时候头发是直立的,所以现在的StartPosition线就是直立的。
现在可以开始编辑发型了,在Hair菜单下有SetStartPosition和SetRestPosition,RestPosition是指头发静止时趋向的状态,与StartPosition有Start曲线一样,也有相应的RestPosition曲线可以利用,现在我们暂且先不创建Rest曲线。
在这两项下面有FromCurrent和FromRest(Start)这两项,其意义是“从当前动画播放所至的状态”或“从静止(起始)状态”决定起始(静止)时的状态。
大多数情况下,我们想要的是角色的头发从起始到静止时的动态一致,也就是有个固定的发型,所以我们可以先编辑Start曲线,然后使用SetRestPosition-FromStart,从Start状态得到Rest状态,让Rest曲线和Start曲线造型一致。
这样就有了个正常的固定发型了(当然头发本身还是会有动画而非静止的,只是在全局上有个发型造型约束着,就象现实里多数人都有固定的发型,但跑动的时候头发还是会飘动一样)。
当然如果有不同情况比如一开始想让头发处在一个特定的状态,Start曲线和Rest曲线就要设为不一样的。
编辑头发很简单,基本上就是编辑Start曲线了,可以全部手动拖点编辑……也可以使用一些辅助技巧来减轻劳动量,具体的技巧在下面的章节里叙述。
编辑完以后使用Hair-SetRestPosition-FromStart,就可以得到Rest曲线。
使用Hair-Display-CurrentandRest可以看到深红色的Rest曲线。
选择头发,按CTRL+A,打开属性面板,找到harisystemShape这一页,可以对头发的形态、动力、Shader等属性进行编辑。
大致的流程和使用方法就是如此,具体的技巧和参数解释请接着看下面的篇章。
生成篇
现在从头细细讲起,也还是不完全,只是一些我觉得要说明一下的地方,说到哪算哪……嘿嘿。
一部分是从帮助文件里学来的,一部分是自己摸索总结出来的经验之谈,自以为都是比较有用的东西,注意到这些重点以后对提高最终质量有事半功倍之效。
一些简单易懂的或是不太重要的设置我就不提了,大家自己试试就明白了。
头发可以用PaintEffects方式生成,如图,这上面我觉得一个比较有用的设置是Randomization,也就是毛囊分布的随机度。
如果按默认为零,毛囊物体在模型上的分布是比较规则的,这样做出来的头发自然度不够。
即使后面去编辑控制曲线也不易做出自然感,所以对于自然感比较强的一般发型,推荐加大Randomization。
另一个是Equalize,控制毛囊分布的密度是否随UV的密集程度而定,可以减轻一些后面的编辑工作量。
另外两种生成方式是纯NURBS曲线和NURBS与PE的混合,生成纯NURBS可以供其他可以直接渲染NURBS曲线的渲染器使用,或者是由NURBS曲线放样成面片,做面片+贴图的头发。
NURBS与PE的混合方式我觉得比较有利的一点是可以比较方便地将PaintEffects画笔里的头发样式与Hair模块共同使用——将NURBS曲线作为Stroke曲线,Hair的PE作为画笔PE的控制曲线。
当然这样做的话画笔PE的参数要设置得巧妙些才有正常效果。
MAYA6.0的Hair模块输出PE方式是头发只提供Thinline细线渲染方式,这种笔触方式优点在于速度极快,缺点是质感比较差,特别是近距离观察的时候。
由于只有一种渲染方式,所以质感表现也比较单一,缺乏变化,大家可以看看画笔样式里的那些头发,其中有些质感就是Hair模块的PE方式无法表现的,如图所示的这类。
当需要更多质感特点的头发时,其中一种选择就是使用画笔里的头发样式结合Hair模块。
假如下个版本Hair自身的PE方式就能选择Paint方式渲染,那质感表现力就可以大大提升了,我非常期待。
在Hair菜单下有可以看到两个修改工具:
PaintHairTool和ScaleHairTool.选中一部分头发使用ScaleHairTool可以对头发长度进行缩放,很好使。
PaintHairTool和编辑FUR的部分一样,有很多属性可以涂画编辑,其中要提的一点是CreateFollicles。
在一开始创建头发的时候,毛囊分布的必然不合心意。
得在需要头发比较密的部分增加毛囊从而增加发束,在不需要的地方删除毛囊以去除发束,就可以使用PaintHairTool来增加或删除毛囊。
删除毛囊很简单,就不多说了,增加毛囊的时候要注意一下,最好把面板上的FollicleDensityU和FollicleDensityV(也就是按UV分布的密度)值加大,如果值比较小,按UV分布来增加毛囊的话,往往无法准确的把毛囊放到真正想要的部位,因为这个UV密度值太低,只能放在规律的某些部位。
而把UV密度值加得比较大,那么就可以相对比较自由准确地在任意部位增加毛囊了。
简单来说,就好比以捕捉网格点的方式在网格面上画曲线的时候,网格比较密的话就可以比较自由地画想要的形状,网格比较疏的话就无法自如地画出想要的形状。
可以用MentalRay或其他渲染器渲染PE方式的头发,当然就得要事先转成多边形模型了。
可能有的人会担心转成多边形以后,是不是就固定不动了,那动画怎么办。
其实……转成多边形以后照样可以做动画,和转换之前几乎没有什么两样,甚至再调节属性里的动力学设置都还是有效的,原因只有一个——历史纪录一直开着。
一旦此时删除历史纪录,就真的不能动了。
当然这有个问题就是目前的硬件还不够强大,转太多头发的话机器很难跑得动,不过这算不了什么了,硬件的发展是很快的,而且对于头发的动画计算本身,是不会因为转成多边形而变慢的。
基本设置篇
选择头发,按CTRL+A,打开属性面板,找到harisystemShape这一页,我们可以对头发的一些属性进行设置。
DisplayQuality控制视图显示的头发数量和质量,当制作正式作品头发比较多的时候,动画播放比较慢,可以降低显示质量加快速度。
HairsPerclump控制每束头发的数量,视你的需要和机器配置而定了,在降低显示质量的情况下,一般100以下带来的负担都还是可以接受的。
经验表明,很多时候,相对来说头发细一些,数量多一些的时候质感表现力要好一些。
SubSegments设置头发的段数,段数越高头发越平滑,一般可以设到10左右。
默认生成的头发,每一束中的头发均长度相当,如图中的对比,加大Thinning以后头发长度就有了变化,发束末端会变得比较尖。
HairWidht头发的宽度,比默认值再减小一些质量似乎更好一点。
下面的一些设置是根据从发根至发稍的属性变化,都是比较好懂的。
HairWidthScale一般设置末端数值较低,使头发末端看上去更尖,效果会更好一些。
ClumpFlatness是个比较特殊的设置,使每束头发都变得扁平,如图中对比,该什么时候用就什么时候用吧……可以起到一定的易定发型(部分规则的)和减少毛囊减轻负荷的作用。
Dynamics下面的LengthFlex控制头发是否在动画中有弹性拉伸,因为现实里头发几乎是没有长度伸缩的,所以一般设为零,如果用来做其他有弹性的东西,可以加高数值。
StiffnessScale中的曲线设置头发的硬度变化,比较有用,和上面的Dynamics下的Stiffness共同控制硬度效果,如图所示的,左边是修改硬度变化后的效果,右边是默认状态。
Damp设置阻尼值,当头发在动画时有些异常不太稳定的跳动时,适当加高这个数值有助于稳定头发的动态。
Collisions下的SelfCollide,顾名思义当打开时就计算头发的自碰撞。
Turbulence设置头发在动画时的紊乱,使动画更加自然,也可以用来模拟微风吹拂的效果。
Shading下面的设置当然就是头发的材质设置了,但是很奇怪的是虽然右边有贴图按钮,但是赋予纹理后,不论是文件纹理还是程序纹理,都不能正常地起作用,个人以为应该是Thinline方式本身就不支持很好地正常地体现纹理。
但就不明白为什么还要把不能正常使用的贴图按钮做出来。
如果谁会用,请贴效果示意图不吝赐教,多谢了。
HairColor和下面的HairColorScale共同对头发的颜色起作用,一般利用下面的HairColorScale使发根的颜色更暗一些,会比较真实。
由于没有可以用于设置发梢末端透明度变化的设置,所以也利用HairColorScale把末端颜色设浅一些来得到稍好一点的效果。
下个版本如果有透明度的变化就好了。
要做卷发或添加一点自然卷曲的话,可以用Displacements下的参数,调一调就有效果了,很简单的。
MultiStreaks是个很有用的功能,可以用更短的时间和更少的代价得到更多的头发,如图所示的对比,渲染时间不差多少,但是左边的头发数量比右边多了数倍——将MultiStreaks设为6的结果,其他参数与右边的一致。
但是MultiStreaks也有缺点,如图所示,在发梢末端的表现比直接提高HairsPerclump的结果要差得多,如果表现的是发梢不太引人注目的发型,就大胆使用好了,可以大大减轻负担,如果不是,还是掂量掂量吧。
以上这些参数都不复杂,但是要有好的效果就必须多多尝试,才能找出合适的搭配。
MAYA的Hair以PE方式出的话,表现颜色较深的头发效果很不错,浅发就不太如人意了。
扎麻花辫是一件容易的事,只要选中想要扎成辫子那束头发的毛囊,在属性设置里把Braid项设为ON,就自动扎起来了,可以把该毛囊属性里的DensityMult的默认值1设为更高的数量,使这束头发的数量更多,辫子看上去就更结实。
做辫子也可以新建新的头发系统专门用来制作辫子,这样就可以如图用ClumpWidthScale曲线配合Thin参数调节,使默认的辫子的难看末端有些改善。
Shading下的Colorrandomization设置Diffuse、高光、颜色的随机度,使这几方面都有些变化而不是单调一致的,这样有利于质感的加强,可以极大的提高真实度。
在属性设置的pfxHairShape这一页有个Seed的设置,当我们设置好一种满意的发型并准备给多个角色应用时,不要忘了不同的角色给个不同的Seed以免每个发型都太一致缺乏变化。
动力学篇
本来是想写渲染设置的,不过可能很多人更关心动力学设置的,比如约束、碰撞、加动力场等等,就先写这部分好了。
给头发加力场只要选择hairSystem,给hairSystem添加动力场就可以了,也就是视图里当前选中的这个小小的圆形标记。
对这个物体可以进行与其他物体一样的动力场关联设置。
毛囊设置属性里默认都是主动方式,如果把它设为被动方式,就以插值方式从周围的发束取得运动信息进行运动,在大量计算时有助于减轻负担。
也可以在编辑头发的时候先把部分毛囊设为被动方式以方便编辑发型,然后再改回来。
基本上也没有太大的作用……
Hair-Modifycurves下有多种修改曲线的方式,这部分在EditNURBS下也可以找到,对NURBS曲线都有效。
这里面各项都起什么作用基本上大家一看名字就都明白了,也就不多说了。
只有比较特别的一个是LockLength,这一项是很特别而又很有用的。
一般来说可以把控制线全部设为LockLength的方式,就是锁定长度不变,现实里头发也就是基本上没有长度的拉伸。
当把控制线设为锁定长度以后,可以试试看拖动控制线的CV点,会发现拖动时的现象和普通NURBS是很不一样的,很有意思,有点类似铰链的感觉。
我觉得可以利用的一点是在调整发型的时候,拖动控制线末端的一个或几个CV点,其他CV点也会跟着有一定程度的移动。
大家多试试就能体会它的用处了。
Hair-CreateConstraint下面有多个约束设置和两个碰撞物体。
想观察各个约束物体的效果,只要观察图中显示的这些由约束物体带来的虚线在动画中的特点就可以了,这些虚线表示力的作用。
几种约束物体的不同之处大多在于虚线在动画中的表现不同,也就是力的作用表现有所不同。
RubberBand与橡皮筋的作用一样,当被约束的头发离约束物体距离变远时就产生拉力,而变近时没有影响。
Transform很容易用也很好用,在建立以后,可以通过拖动Transform物体,使虚线在控制线的CV上移动,移动到需要的部位。
然后可以使用Solvers-InterativePlayback进行交互式回放,在回放过程中,用缩放工具缩小Transform物体,可以把头发绑在一起,象扎个马尾辫一样。
官方网站上的flash演示教程里就有使用演示,可以去看看。
Stick当被约束点离约束物体距离变远时,象RubberBand一样产生拉力,而不同的是当距离变近时,也会产生向外的推力,所以虚线长度不变,约束物体始终离被约束点有一定的距离。
HairtoHair的作用与Stick相似,虚线长度不变,不同的是这是发束彼此之间的约束,虚线连在发束之间而不是头发与约束物体之间。
可以用来固定发型,以免在头发动画中抖散(比如麻花辫)。
HairBunch有点奇怪,可能我理解的不是很正确。
这一项是和HairtoHair有点象,但是会产生类似轻微碰撞的现象,可以在动画中用来模拟某种发型的头发在运动中的碰撞效果。
两个碰撞物体设置虚拟碰撞物,也可以设置其他模型物体与头发进行碰撞,但是很多情况下不如用这两种虚拟碰撞物好用。
Hair系统默认碰撞计算的teration叠代值为零,为了计算精确可以适当提高这个值,但是没必要提高太多。
个人意见是建立头发的时候,毛囊就不能设得过密,初始状态后只要根据不同部分的实际情况按需合理添加即可。
设得太高一来是没必要,想增加头发密度完全可以用其他方法来达到,不必一心只想增加毛囊数量;二来是动力学计算负担重,效果又差,三是渲染也慢。
只要合理地安排毛囊的分布,可以在达到同样的效果时大大减轻计算负担。
Iteration没必要加得太高,要知道每加上1就意味着叠代计算多来一回,是很不合算的,其实有更好的方法来做。
比如留足余量设置多重碰撞等等。
这些手段一般都只是线性增加负担,也可以满足绝大多数要求了(除非是做电影吧……一般电视级的完全够了)。
就好比在看CG动画的时候,没有人会去关心、注意角色的脚底各个部分是否都与地面完好相抵还是局部有0.001的穿插或踏空的。
合理使用这些优化方法,哪怕是一些特写镜头都可以满足。
使用Hair-Makecollusion可以使头发与几何体模型产生碰撞。
但还是不推荐使用,尽量使用上述两种碰撞物为好。
使用几何体,精确度和计算速度等一些方面不如使用碰撞物,而且碰撞物可以选择为对哪几束头发起作用,而几何体碰撞是对全部头发都起作用的。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- maya 头发 完整 教程