Maya教程:使用nCloth打造氣球爆炸的過程
導言:
本教程講解了使用nCloth打造氣球爆炸的過程,請大家忽略氣球以外的東西,我們主要關(guān)心氣球的初始狀態(tài),鼓起,懸浮,爆炸這樣一個過程。
下面教程開始
要建立一個球體的模型,但是我發(fā)現(xiàn)如果用一個簡單的poly Sphere并不能得到很好的動畫效果,它兩頭各有一個極點,最好的模型是完美的四邊形鑲嵌。我們可以通過Subdiv的Sphere轉(zhuǎn)成Polygon得到,就是下圖中間一個球體。(圖01)
圖01
下一步就是一點建模工作,做出一個氣口,我做的很丑,大家應(yīng)該整的比我好。(圖02)
圖02
建模完成以后,先讓它解算一下,看一下大概的結(jié)果,注意,這里只是檢查一下模型,在真正解算之前還有很多工作要做。(圖03)
圖03
這一步就是建立tearable Constraint,通過選擇Vertex點來指定碎裂的路徑。
真實的氣球爆炸不是像我畫的那樣,但為了好看,我就多畫了幾道。nCloth的約束有一點不方便的地方就是所有的約束做出來都是一個名字:dynamicConstraint,所以我們最好根據(jù)不同的類型重命名一下。(圖04)
圖04
我將Tearable Constraint的Glue Strength打到了1,代表點之間會牢牢的粘在一起,不會分開。需要注意的是,Glue屬性是和場景中物體的大小關(guān)聯(lián)的,如果Glue值打到1,布料還是會分裂,或者相反布料無法分裂,就需要調(diào)節(jié)一下Glue Strength Scale的值。
在Glue Strength的數(shù)值為1的情況下,我才能繼續(xù)解算布料的Initial State。
在做完這一步以后,有一點需要注意:如果需要在Tearable以后進行諸如添加新的nCloth約束,繪制VertexMap等操作,必須在InputMesh上進行。
我希望氣球癟氣的時候是成長條狀伏在地面上 (這里的“地面”,我使用了Nucleus節(jié)點下的Ground Plane虛擬了一個高度為0的地面),辦法有很多,如果你的機器性能較好,可以使用Interactive Playback實時地拖拽布料直到滿意,我用的方法是做一個模子,幫助布料塑形。一旦對初始狀態(tài)滿意,記得使用Edit nCloth-> initial state -> set from Current保存當前狀態(tài)。(圖05)
圖05