當(dāng)前位置:首頁>軟件教程>maya教程>教程內(nèi)容

Maya教程:使用nCloth打造氣球爆炸的過程(3)

來源:網(wǎng)絡(luò) 作者:admin 學(xué)習(xí):16083人次

導(dǎo)言:

本教程講解了使用nCloth打造氣球爆炸的過程,請(qǐng)大家忽略氣球以外的東西,我們主要關(guān)心氣球的初始狀態(tài),鼓起,懸浮,爆炸這樣一個(gè)過程。

下面教程開始

要建立一個(gè)球體的模型,但是我發(fā)現(xiàn)如果用一個(gè)簡(jiǎn)單的poly Sphere并不能得到很好的動(dòng)畫效果,它兩頭各有一個(gè)極點(diǎn),最好的模型是完美的四邊形鑲嵌。我們可以通過Subdiv的Sphere轉(zhuǎn)成Polygon得到,就是下圖中間一個(gè)球體。(圖01)

圖01

 

下一步就是一點(diǎn)建模工作,做出一個(gè)氣口,我做的很丑,大家應(yīng)該整的比我好。(圖02)

 

圖02

 

 

建模完成以后,先讓它解算一下,看一下大概的結(jié)果,注意,這里只是檢查一下模型,在真正解算之前還有很多工作要做。(圖03)

 

圖03

 

這一步就是建立tearable Constraint,通過選擇Vertex點(diǎn)來指定碎裂的路徑。

 

真實(shí)的氣球爆炸不是像我畫的那樣,但為了好看,我就多畫了幾道。nCloth的約束有一點(diǎn)不方便的地方就是所有的約束做出來都是一個(gè)名字:dynamicConstraint,所以我們最好根據(jù)不同的類型重命名一下。(圖04)

 

圖04

 

我將Tearable Constraint的Glue Strength打到了1,代表點(diǎn)之間會(huì)牢牢的粘在一起,不會(huì)分開。需要注意的是,Glue屬性是和場(chǎng)景中物體的大小關(guān)聯(lián)的,如果Glue值打到1,布料還是會(huì)分裂,或者相反布料無法分裂,就需要調(diào)節(jié)一下Glue Strength Scale的值。

 

在Glue Strength的數(shù)值為1的情況下,我才能繼續(xù)解算布料的Initial State。

 

在做完這一步以后,有一點(diǎn)需要注意:如果需要在Tearable以后進(jìn)行諸如添加新的nCloth約束,繪制VertexMap等操作,必須在InputMesh上進(jìn)行。

 

我希望氣球癟氣的時(shí)候是成長條狀伏在地面上 (這里的“地面”,我使用了Nucleus節(jié)點(diǎn)下的Ground Plane虛擬了一個(gè)高度為0的地面),辦法有很多,如果你的機(jī)器性能較好,可以使用Interactive Playback實(shí)時(shí)地拖拽布料直到滿意,我用的方法是做一個(gè)模子,幫助布料塑形。一旦對(duì)初始狀態(tài)滿意,記得使用Edit nCloth-> initial state -> set from Current保存當(dāng)前狀態(tài)。(圖05)

 

圖05

 

 

這就是我解算完成的氣球的初始狀態(tài)。(圖06)

 

圖06

 

當(dāng)完成tearable Constraint以后,我們要考慮一件事情,什么時(shí)候tearableConstraint會(huì)發(fā)生作用。

 

當(dāng)我們施加了T.Cnstraints以后,在解算的第一幀,Maya便完成模型的分割,根據(jù)glueStrength的數(shù)值來決定布料對(duì)于外界施加力的“靈敏度”,glueStrength數(shù)值為0時(shí),布料一旦開始解算就會(huì)分裂,相反為1時(shí),布料不會(huì)分裂(glueStrengthScale==1)。所以,我們可以用兩種方法:

 

A:通過多次解算,嘗試出一個(gè)數(shù)值,使布料在某一時(shí)刻點(diǎn)破碎,或某一次碰撞強(qiáng)度下破碎。

B:直接在glueStrength上加關(guān)鍵幀動(dòng)畫,在需要布料破碎的那一個(gè)點(diǎn)上,把數(shù)值打到0,這樣布料就瞬間破碎了。

 

對(duì)于氣球的爆破,B方法最合適不過了。

 

決定了爆破的方法,下面的事情就很簡(jiǎn)單,讓氣球充氣變大,上浮,爆破(glueStrength=0)。

 

因?yàn)檫@里使用Manual,只有兩個(gè)屬性,Pressure就是Pressure,沒什么多解釋的,數(shù)值大內(nèi)壓高,模型就鼓起來,負(fù)值就是內(nèi)壓逃逸了。(圖07)

 

圖07

 

 

需要關(guān)心的是下面這三個(gè)數(shù)值,是布料行為的最重要的三個(gè)屬性,在syflex中,也有對(duì)應(yīng)的屬性名稱。分別是抗延展,抗收縮,和抗彎折,這三個(gè)屬性對(duì)應(yīng)的是布料的link和edge的行為。(圖08)

 

圖08

 

在這里,就是氣球?qū)?nèi)部壓力的“抵抗”。好在Maya為我們預(yù)置了很多不同的屬性組合產(chǎn)生不同的效果,我們可以在nClothShape節(jié)點(diǎn)的presets里面選擇一個(gè)適合的start point,比如Solid Rubber (固體橡皮),把stretchRes調(diào)低,或者最中性的Tshirt,調(diào)高一點(diǎn)damp,減小摩擦就可以得到想要的效果。

 

下面是我的設(shè)置。(圖09)

 

圖09

 

至于布料的漂浮,方法不下四五種,還可以互相組合,最簡(jiǎn)單、最直接的就是將重力方向反一下,氣球就會(huì)上舉,根據(jù)氣球充氣變大的速度,加上動(dòng)畫即可。(圖10)

 

圖10

 

 

最后的收尾工作

 

在完成以上的步驟以后,反復(fù)調(diào)試數(shù)值組合,我們要收拾一下氣球破裂以后的殘局。

 

雖然氣球破碎了,但是,所有的相關(guān)屬性和節(jié)點(diǎn)都還在起作用,包括pressure,所有的Constraints,還有布料本身的自碰撞,如果不關(guān)閉這些屬性,那么氣球破裂以后,那些碎片會(huì)上下翻飛最后扭做一團(tuán)!

 

處理的方法也很簡(jiǎn)單,直接在一些boolean值上K動(dòng)畫,在爆破后關(guān)閉所有的約束和自碰撞以及preesure,只留下和地面以及其他passiveObjects的碰撞,貼上一些例子,注意這些Tangents都是stepped的。(圖11、圖12)

 

圖11

圖12

學(xué)習(xí) · 提示

  • 一定要打開PS,跟著教程做一遍,做完的圖到這交作業(yè):提交作業(yè)
  • 建議練習(xí)時(shí),大家自己找素材,盡量不要用教程提供的素材。
  • 教程有看不懂的地方,可以到論壇發(fā)帖提問:新手求助
  • 加官方微信,隨時(shí)隨地,想學(xué)就能學(xué):ps_bbs,或掃右側(cè)二維碼!
  • 關(guān)注我們學(xué)更多,每天都有新教程:新浪微博 抖音視頻 微信小程序
- 發(fā)評(píng)論 | 交作業(yè) -
最新評(píng)論
暫無評(píng)論,交個(gè)作業(yè)支持一下吧~

關(guān)注大神微博加入>>

網(wǎng)友求助,請(qǐng)回答!