Maya教程:使用nCloth打造气球爆炸的过程
导言:
本教程讲解了使用nCloth打造气球爆炸的过程,请大家忽略气球以外的东西,我们主要关心气球的初始状态,鼓起,悬浮,爆炸这样一个过程。
下面教程开始
要建立一个球体的模型,但是我发现如果用一个简单的poly Sphere并不能得到很好的动画效果,它两头各有一个极点,最好的模型是完美的四边形镶嵌。我们可以通过Subdiv的Sphere转成Polygon得到,就是下图中间一个球体。(图01)
图01
下一步就是一点建模工作,做出一个气口,我做的很丑,大家应该整的比我好。(图02)
图02
建模完成以后,先让它解算一下,看一下大概的结果,注意,这里只是检查一下模型,在真正解算之前还有很多工作要做。(图03)
图03
这一步就是建立tearable Constraint,通过选择Vertex点来指定碎裂的路径。
真实的气球爆炸不是像我画的那样,但为了好看,我就多画了几道。nCloth的约束有一点不方便的地方就是所有的约束做出来都是一个名字:dynamicConstraint,所以我们最好根据不同的类型重命名一下。(图04)
图04
我将Tearable Constraint的Glue Strength打到了1,代表点之间会牢牢的粘在一起,不会分开。需要注意的是,Glue属性是和场景中物体的大小关联的,如果Glue值打到1,布料还是会分裂,或者相反布料无法分裂,就需要调节一下Glue Strength Scale的值。
在Glue Strength的数值为1的情况下,我才能继续解算布料的Initial State。
在做完这一步以后,有一点需要注意:如果需要在Tearable以后进行诸如添加新的nCloth约束,绘制VertexMap等操作,必须在InputMesh上进行。
我希望气球瘪气的时候是成长条状伏在地面上 (这里的“地面”,我使用了Nucleus节点下的Ground Plane虚拟了一个高度为0的地面),办法有很多,如果你的机器性能较好,可以使用Interactive Playback实时地拖拽布料直到满意,我用的方法是做一个模子,帮助布料塑形。一旦对初始状态满意,记得使用Edit nCloth-> initial state -> set from Current保存当前状态。(图05)
图05