Maya教程:使用nCloth打造氣球爆炸的過程(2)
這就是我解算完成的氣球的初始狀態(tài)。(圖06)
圖06
當完成tearable Constraint以后,我們要考慮一件事情,什么時候tearableConstraint會發(fā)生作用。
當我們施加了T.Cnstraints以后,在解算的第一幀,Maya便完成模型的分割,根據(jù)glueStrength的數(shù)值來決定布料對于外界施加力的“靈敏度”,glueStrength數(shù)值為0時,布料一旦開始解算就會分裂,相反為1時,布料不會分裂(glueStrengthScale==1)。所以,我們可以用兩種方法:
A:通過多次解算,嘗試出一個數(shù)值,使布料在某一時刻點破碎,或某一次碰撞強度下破碎。
B:直接在glueStrength上加關鍵幀動畫,在需要布料破碎的那一個點上,把數(shù)值打到0,這樣布料就瞬間破碎了。
對于氣球的爆破,B方法最合適不過了。
決定了爆破的方法,下面的事情就很簡單,讓氣球充氣變大,上浮,爆破(glueStrength=0)。
因為這里使用Manual,只有兩個屬性,Pressure就是Pressure,沒什么多解釋的,數(shù)值大內壓高,模型就鼓起來,負值就是內壓逃逸了。(圖07)
圖07
需要關心的是下面這三個數(shù)值,是布料行為的最重要的三個屬性,在syflex中,也有對應的屬性名稱。分別是抗延展,抗收縮,和抗彎折,這三個屬性對應的是布料的link和edge的行為。(圖08)
圖08
在這里,就是氣球對內部壓力的“抵抗”。好在Maya為我們預置了很多不同的屬性組合產(chǎn)生不同的效果,我們可以在nClothShape節(jié)點的presets里面選擇一個適合的start point,比如Solid Rubber (固體橡皮),把stretchRes調低,或者最中性的Tshirt,調高一點damp,減小摩擦就可以得到想要的效果。
下面是我的設置。(圖09)
圖09
至于布料的漂浮,方法不下四五種,還可以互相組合,最簡單、最直接的就是將重力方向反一下,氣球就會上舉,根據(jù)氣球充氣變大的速度,加上動畫即可。(圖10)
圖10
最后的收尾工作
在完成以上的步驟以后,反復調試數(shù)值組合,我們要收拾一下氣球破裂以后的殘局。
雖然氣球破碎了,但是,所有的相關屬性和節(jié)點都還在起作用,包括pressure,所有的Constraints,還有布料本身的自碰撞,如果不關閉這些屬性,那么氣球破裂以后,那些碎片會上下翻飛最后扭做一團!
處理的方法也很簡單,直接在一些boolean值上K動畫,在爆破后關閉所有的約束和自碰撞以及preesure,只留下和地面以及其他passiveObjects的碰撞,貼上一些例子,注意這些Tangents都是stepped的。(圖11、圖12)
圖11
圖12