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

Maya教程:撲克波浪動畫特效解析(4)

來源:火星時代 作者:admin 學(xué)習(xí):10868人次

導(dǎo)言:
相信很多人看過相關(guān)特效的視頻:翻撲克波浪效果。也就是說當(dāng)我們翻動第一張撲克的時候,后面會有連帶翻滾的效果。這里我們選擇Maya這款三維軟件來制作,應(yīng)用簡單的MEL就可以做出這個特效,希望大家喜歡。

 

模型制作
雖然說撲克牌只是一張紙,但是如果在三維軟件中只用一個面片,會顯得很辣手,而且沒有厚度也不好看,所以我們選擇從一個方盒子開始制作,這樣會使撲克牌看起來比較有厚度。

 

1、創(chuàng)建一個多邊形的Cube,進行三個軸的擠壓操作后,得到下圖效果。(圖01)

 

圖01

 

2、對多邊形進行加線,這樣便于制作“倒角”效果。(圖02)

 

圖02

 

3、對模型進行UV平面投射處理。(圖03)

 

圖03

 

4、給撲克模型賜予新材質(zhì)lambert。(圖04)

 

圖04

 

5、對lambert的color貼圖,這里是貼圖文件。(圖05)

 

圖05

 

6、對2D坐標進行調(diào)整后。(圖06)

 

圖06

 

7、進行平滑處理,對模型執(zhí)行2次smooth命令。(圖07)

 

圖07

 

8、這一步很重要,把模型的軸吸附在模型“腳底”,并且在世界中心凍結(jié)屬性,這樣便于做動畫處理。(圖08)

 

圖08

 

進行場景搭建
1、選擇撲克模型,ctrl+d復(fù)制,向X方向平移1個單位。(圖09)

 

圖09

 

2、立即使用shift+d進行智能變換復(fù)制,復(fù)制50個。(圖10)

 

圖10

 

進行動畫設(shè)置
1、選擇所有撲克模型,在第1幀定義動畫rotateZ為-89.333。(圖11)

 

圖11

 

2、選擇所有撲克模型,在第24幀定義動畫rotateZ為89.333。

 

MEL提取
在這里我們的思路是做措關(guān)鍵幀處理。因為關(guān)鍵幀可以在DopeSheet列表中調(diào)整,但是50個或者100甚至1000個物體措關(guān)鍵幀的話,一個一個來做并不是明智之舉,所以在這里我們選擇使用MEL來處理這個問題。

 

1、首先打開DopeSheet菜單,我們會看到如下圖所示關(guān)鍵幀列表。(圖12)

 

圖12

 

2、我們需要提取2行MEL:一個是選擇關(guān)鍵幀的MEL,一個是移動關(guān)鍵幀的MEL。如果能得到這兩行MEL,操作一個模型,那么我們就可以操作n個模型。所以我們需要打開Script Editor觀察操作與執(zhí)行結(jié)果腳本。(圖13)

 

圖13

 

3、首先我們在DopeSheet中選擇2個關(guān)鍵幀,并觀察Script Editor中反饋信息。(圖14)

 

圖14

 

4、我們得到了三行腳本:
selectKey -add -k -t 1 -t 24 pCube2_rotateX ;
selectKey -add -k -t 1 -t 24 pCube2_rotateY ;
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;

 

5、我們在DopeSheet中移動關(guān)鍵幀,向右用鼠標中鍵移動關(guān)鍵幀1格,并觀察ScriptEditor反饋。(圖15)

 

圖15

 

6、我們又得到3行腳本:
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateX ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateY ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;

 

 

 

進行MEL篩選與編輯
雖然我們通過提取腳本行可以得到一些和移動關(guān)鍵幀相關(guān)的指令,但是有一些并不實用,所以我們要進行提取和精煉。

 

1、一下句子中X軸和Y軸雖然有動畫,但是并沒有用。有用的是我們的Z軸動畫:
selectKey -add -k -t 1 -t 24 pCube2_rotateX ;
selectKey -add -k -t 1 -t 24 pCube2_rotateY ;
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateX ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateY ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;

 

所以我們要對其進行精簡?梢跃啚椋
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;只保留這兩句即可。

 

2、selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;
通過腳本分析,我們可以看到,以上腳本只是對pCube2這個物體的旋轉(zhuǎn)Z軸進行操作,并沒有通用性,所以我們需要借助循環(huán)語法for來進行操作。
//For循環(huán)基本語法
int $i;
for($i=起始;$i<結(jié)束;$i++)
{做什么事;}

 

3、因為我們要對選擇物體操作,所以需要進行字符串?dāng)?shù)組控制語法
string $selections[]=`ls -sl`;
之后我們直接提取$selections[$i]變量就可以了。

 

4、進行整合就是
string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 pCube2_rotateZ ;
keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;
}

 

這樣雖然嵌套成功,但是并沒有讓pCube2這個物體變成變量操作,所以我們要對腳本進行修改.將pCube2_rotateZ變成通配屬性($selections[$i]+”_rotateZ”),這樣$i在循環(huán)1~50的同時對50個模型也就進行了操作。由于keyframe -e -iub true -r -o over -tc 1 pCube2_rotateZ ;中的1代表做1幀偏移,但是每往后推1個模型,幀數(shù)就需要累加1.所以這里就形成了一個n=n+1的狀態(tài),但是這并不難解決,我們把1套為$i就可以了,因為$i是變量,從1~50自動變化。經(jīng)過以上考慮,我們把腳本修改為:

string $selections[]=`ls -sl`;
int $i;
for($i=1;$i<50;$i++)
{
selectKey -add -k -t 1 -t 24 ($selections[$i]+”_rotateZ”) ;
keyframe -e -iub true -r -o over -tc ($i) ($selections[$i]+”_rotateZ”) ;
}

 

最終執(zhí)行
1、在大綱中順序選擇pCuble1到pCube50。

 

2、在Script Editor中輸入腳本,并且按ctrl+enter執(zhí)行。(圖16)

 

圖16

 

3、觀察時間條,50個撲克的關(guān)鍵幀就在一瞬間全部錯開。(圖17)

 

圖17

 

4、此時我們的動畫效果就完成了。(圖18)

 

圖18

 

 

 

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

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

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

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