完成了表情制作和骨骼绑定,接下来是制作布料的动力学特效。
教程思路
1.制作布料的初始形态。
2.Hair系统模拟布料。
3.nCloth系统。
4.约束的使用。
5.单位比例的设置。
6.布料碰撞层的使用。
7.骨骼蒙皮(smoothBind)和布料(nCloth)的关系。
8.布料吸附(InputMeshAttract)和布料刚性(Rigidity)的区别。
9.Maya2011新增加的约束功能PointOnPoly。
10.布料问题的解决。
11.创建布料缓存。
12.绑定动力学系统到角色骨骼。
1.制作布料的初始形态
制作服装上的蝴蝶结装饰时,我使用的是布料系统解算完成。首先,赋予模型nCloth属性,通过约束动画,将布料解算到一定程度后复制当前的模型,最后再删除原模型和布料系统。
#p#e#
2.Hair系统模拟布料
并不是所有的布料都用到nCloth系统,因为那样解算既慢又容易出错;碰撞效果并不明显的头戴、耳边挂饰、胸前蝴蝶结、鞋子后的蝴蝶结,我采用的是Hair系统+线性IK控制骨骼的方式。操作方法可参考:头发,尾巴的动力学制作--骨骼与动力学曲线的结合技术。
3.nCloth系统
选择角色身上的其他服装模型,转为动力学布料:nMesh->Create nCloth,选择预设的silk(丝绸);选择角色身体,执行nMesh->CreatePassiveCollider。
内核系统下的PassiveCollider被动碰撞体和刚体系统的被动刚体差不多,但它可以将已绑定的几何体作为被动刚体,范围相对较广。
4.约束的使用
选择裙子上部的点,执行nConstraint->Transform,创建一个变形约束,固定裙子上部。当裙子衣服的表面没有什么大的变化,使用Transform比Point toSurface执行效率高。
布料的约束是很灵活的,既可以用来固定布料,还可以用来模拟布料的碰撞和撕裂效果。裙子,袖口以及肩膀两侧的飘带,除了使用约束来固定一端,我还选择布料模型所有点以及角色身体,执行nConstraint->SlideOnSurface,通过约束来模拟碰撞。场景中,会出现布料点到被动物体之间的最近连线,表示约束的计算距离。
#p#e#
使用约束模拟布料碰撞,可以关闭布料节点的Collide功能,模拟速度很快;不过缺点是没有反弹,摩擦,粘性,推进力等参数可调节,适用于较为光滑的布料效果。
当完成了约束设置,为了不影响画面,我们可以去掉布料约束节点下的DisplayConnections的勾选,隐藏场景中的约束。
5.单位比例的设置
因为模型的场景比例是“模型:实物=1:10”,因此将内核系统节点的SpaceScale设置为0.1。而Substeps和MaxCollisionIterations可在稍后的模拟中适当提升数值。
6.布料碰撞层的使用
裙子上的饰物除了本身的运动,还会和裙子之间产生影响,这就为绑定增加一些难题。首先分析效果,排除一些可以忽略的因素。腰间挂带、裙子、裙子上的挂带都会受到风力的影响,彼此之间也会相互碰撞;从运动效果上,可以制作如下:腰间挂带、裙子、裙子上的挂带的碰撞层(CollisionLayer)数值为1,纽扣碰撞层为0,角色身体为0(因为角色身体直接是被动碰撞物体,因此不用刻意设置)。碰撞层的优先级从高到低的顺序,是根据碰撞层数值的从小到大排列的,如碰撞层为1会推开碰撞层为2的布料物体,而不会受到碰撞层为2的布料物体的反作用力影响;默认的nucleus内核节点下的CollisionLayerRange 设置为4,表示布料之间的碰撞层的差值小于4才可发生碰撞作用。
#p#e#
7.骨骼蒙皮(smoothBind)和布料(nCloth)的关系
布料系统的布料或被动碰撞物体可执行蒙皮操作,尽管它们在动画开始后将不会考虑蒙皮效果,但在第0帧的时候,可以通过蒙皮来进行布料初始形态的设置,这样就可以省下角色从绑定时的姿态运动到所需状态时的解算过程。如果先生成布料,然后对场景中的布料物体执行蒙皮,计算结果将是错误的。这是因为布料系统和柔体的Duplicate,makeCopySoft方式一样,会隐藏原始物体,将复制的物体执行动力学解算(也就是当赋予了模型布料属性,当前的模型并不是原始的模型)。我们可以选择布料物体,执行nMesh->DisplayInputMesh来查看原始物体。当最先创建布料,那么要进行蒙皮时,应该通过此方法,将原始物体和关节进行蒙皮操作。
内核节点默认是从第1帧开始解算,用户可根据需要改变,参数位于内核形节点下的TimeAttributes的StartFrame。
8.布料吸附(InputMeshAttract)和布料刚性(Rigidity)的区别
布料吸附和布料刚性看似效果一样,但布料吸附对蒙皮后的布料具有很重要的意义—保持布料和蒙皮效果的同步,而布料刚性只是保持布料在解算之前的初始形状的级别。当启用了InputMeshAttract(大于0时),不光是第0帧,执行动画时,骨骼蒙皮的效果都会直接作用于布料物体上,而吸附程度取决于InputMeshAttract的数值以及其对应的动力学属性贴图。尽管布料的InputMeshAttract可设置大于1的数值,但是取值不要大于2,因为这会导致解算异常缓慢。一旦开启了InputMeshAttract,需要配合一定的InputAttractDamp数值,因为阻尼是能量吸收的一个重要参数,要避免布料解算时产生的跳跃或穿插现象,需要一定的阻尼。
9.Maya2011新增加的约束功能PointOnPoly
使用物体上的点控制其他物体,可使用布料约束,柔体弹簧,或者一些MEL语句;不过Maya2011给我们提供了很大的便利,它增加了PointOnPoly(多边形点约束)这样一个实用的功能。因此制作衣服纽扣这样的特殊约束动画,除了使用布料约束,新约束也是个不错的方法。角色腰带的小球就是普通的几何体通过PointOnPoly被约束在布料物体上。
#p#e#
10.布料问题的解决
相对于头发,布料解算时出现的穿插现象是比较麻烦的,很难从根本上解决,只能根据需要适时提高解算精度或隐藏在镜头画面以外。执行解算前,模型之间的间隔一定要大于布料之间的碰撞厚度;如果出现一些模型穿透跳跃,可以启用布料节点下的TrappedCheck,检测碰撞异常并自动修复,但这会增加计算时间;使用滑动约束(slideOnSurface)模拟布料碰撞;对布料的smooth圆滑操作,应该是在布料创建了缓存后再进行;使用Maya2011新增加的碰撞强度(CollideStrength)贴图,对容易发生穿插的区域设置碰撞强度;结合布料多个属性,进行权重贴图绘制,如InputMeshAttract,Rigidity,StretchResistance等。
11.创建布料缓存
布料缓存单个文件最大不能超过2G,因此通常都会选择Onefile per frame的文件形式。
12.绑定动力学系统到角色骨骼
将所有动力学系统附加到骨骼系统中,使它们能跟随角色发生运动,操作如下:
毛发系统的毛囊节点,动力学曲线的输出曲线,柔体系统的原始几何体,布料系统的约束节点,将这些关键元素作为运动骨骼的子级即可(使用约束的方法也可以)。
【总结】
进行布料模拟,可以使用动力学曲线,柔体,nCloth来完成。
nCloth系统与模型的单位比例有很大的关系,因此在布料绑定前,一定要将模型缩放至合适的比例大小再进行。
nCloth系统的约束是布料效果的一个重要功能,它的作用往往要高于布料属性设置,所以要善于利用。
下一篇将介绍【Maya】原创卡通角色制作流程5—场景渲染合成篇 ,敬请期待……
上一篇 Maya教程:制作玻璃材质
热门课程
专业讲师指导 快速摆脱技能困惑相关文章
多种教程 总有一个适合自己专业问题咨询
你担心的问题,火星帮你解答学习游戏开发班可以帮助游戏爱好者从零基础成为游戏开发专家,掌握全面的游戏开发技能。
火星时代教育为您提供专业的界面设计实战班,在实践中掌握界面设计的核心技巧和最新趋势,成为优秀的UI设计师。
了解UI交互设计培训的最佳选择,比较不同培训机构的优势和特点。
火星时代教育为您推荐专业的学影视后期培训机构,提供高质量的培训内容及资深导师指导,助您成为优秀的影视后期剪辑师或合成师。
火星时代教育是一家专注于交互设计培训的机构,为学员提供专业的交互设计培训课程,并帮助他们成为优秀的交互设计师。
本文章将介绍关于UE5智慧城市专业学习的重要性和火星时代教育的资讯。
1. 打开微信扫一扫,扫描左侧二维码
2. 添加老师微信,马上领取免费课程资源
同学您好!