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

Maya的粒子替換功能和高級(jí)的MEL命令colorAtPoint(2)

來(lái)源:火星時(shí)代 作者: 學(xué)習(xí):11077人次

選擇新創(chuàng)建的盒子,選擇Particles->Instancer(replacement)(粒子->粒子替換)后面的小方塊,打開(kāi)粒子替換選項(xiàng)盒,使用默認(rèn)設(shè)置,點(diǎn)擊Create,創(chuàng)建粒子替換。(圖10)

圖10

選擇小方盒子pCube1,按Ctrl+H將其隱藏。接下來(lái)是創(chuàng)建一個(gè)2D貼圖,可以是程序紋理,也可以是文件紋理,然后用MEL命令讀取貼圖的亮度,最后用這個(gè)亮度值控制粒子替換的縮放。選擇Windows->Rendering Editors->Hypershade(窗口->渲染編輯窗口->超級(jí)濾光器窗口)。(圖11)

圖11

創(chuàng)建一個(gè)noise程序紋理,設(shè)置noise1的Depth Max(最大深度)為1,F(xiàn)requence(頻率)為5,Noise Type(擾亂的類(lèi)型)為Perlin Noise。(圖12)

圖12

選擇粒子,打開(kāi)粒子屬性編輯窗口,在添加動(dòng)態(tài)屬性卷展欄(Add Dynamic Attributes)里,點(diǎn)擊General按鈕,打開(kāi)添加粒子動(dòng)態(tài)屬性窗口,在New粒子標(biāo)簽添加新屬性,名字:scl,數(shù)據(jù)類(lèi)型:Vector,屬性類(lèi)型:Perparticle(array)。(圖13)

圖13

點(diǎn)擊OK添加新屬性scl,在新屬性右邊的方框里點(diǎn)擊右鍵,在彈出菜單中選擇Runtime After Dynamics,打開(kāi)運(yùn)行時(shí)動(dòng)力場(chǎng)之后表達(dá)式編輯窗口,編寫(xiě)表達(dá)式:

float $u=goalU;
float $v=goalV;
float $c[]=`colorAtPoint -o A -u $u -v $v noise1`;
scl=<<1,1,(1+($c[0])*5)>>;(圖14)

圖14

應(yīng)用新屬性scl作為粒子替換的縮放控制屬性,在粒子的屬性編輯器里,找到Instancer(GeometryReplacement)粒子替換卷展欄,在Scale的控制選項(xiàng)里選擇自定義的屬性scl。(圖15)

圖15

這時(shí)的被表達(dá)式讀取的貼圖還只是個(gè)單幀圖片,并不是貼圖序列,所以還沒(méi)動(dòng)畫(huà)效果。(圖16)

圖16

可以給noise1程序紋理的time屬性寫(xiě)一個(gè)表達(dá)式,使其有動(dòng)畫(huà)效果,使粒子替換產(chǎn)生波浪般起伏效果。在Hypershade的textures貼圖標(biāo)簽里,選擇noise1節(jié)點(diǎn),在noise1的屬性編輯器里找到Time屬性,右鍵打開(kāi)表達(dá)式編輯窗口,為其寫(xiě)表達(dá)式:

noise1.time=time*0.5;(圖17)

圖17

這時(shí)播放,會(huì)看到動(dòng)畫(huà)效果。也可以使用貼圖序列來(lái)控制粒子替換的縮放。筆者這里準(zhǔn)備了一個(gè)貼圖序列,現(xiàn)在就把這個(gè)貼圖序列讀取到Maya中。在Hypershade里,創(chuàng)建一個(gè)文件紋理。(圖18)

圖18

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

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

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

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