maya建模教程:談談鏈條的制作方法
近來難得有空,給大伙門編個教程。教大家怎樣在Maya里做出真實感的鏈條出來。希望我的Maya培訓教程能給大家?guī)硪欢▍⒖甲饔谩?/p>
開始我們從最簡單的開始做起,慢慢,我就會跟大家逐步深入去探討更復雜的制作方法,實現(xiàn)更復雜的效果。
首先,我做的是最基本的動畫片效果--------用時間來驅動鏈條的轉動
準備如下的場景。制作單節(jié)的鏈頭。
假如我們設計的這條鏈子是由60個鏈頭絞合在一起組成的,那么我們首先就必須要知道這條鏈子的長度。用Shift+D復制鏈頭和絞頭59次。
從鏈條的尾端至頭端劃一條直線。
在Maya的命令輸入欄里輸入如下命令:
createNode curveInfo
Maya會創(chuàng)建一個叫curveInfo的節(jié)點,該節(jié)點主要就是用于測量曲線長度的。
打開connection Editor,點擊connection Editor 右邊的Reload。然后選擇剛才的直線的Shape節(jié)點,Reload進connection Editor的左邊。連接直線的World Space到 curveInfo的Input Curve上面。
選擇直線,打開屬性編輯器,如下圖。
里面的Arc Length就是這條直線的長度了,沒錯,就是51.318
我已經(jīng)寫了一個Mel,只要選擇了曲線,運行這個Mel就可以得出曲線的長度,并且顯示在通道欄上了。
string $sel[]=`ls -sl`;
string $arcLength=`createNode curveInfo`;
eval ("connectAttr -f "+$sel[0]+".worldSpace[0] "+$arcLength+".inputCurve");
eval ("addAttr -ln arcLength -at double |"+$sel[0]);
eval ("setAttr -e -keyable true |"+$sel[0]+".arcLength");
eval ("connectAttr -f "+$arcLength+".arcLength "+$sel[0]+".arcLength");
select -r $sel[0];
現(xiàn)在劃如下的曲線。
想要60個鏈頭剛好配合在這條曲線上,那么這條曲線的長度就必須為51.318,選擇曲線,執(zhí)行剛才的Mel,我們就可以看著通道欄,縮放這條曲線,知道它的長度差不多為51.318為止,其實這樣子縮放是很難精確的,但大小0.1都沒所謂的。
選擇一個鏈頭,Shift選這條曲線,執(zhí)行如下的Mel:
string $sel[]=`ls -sl`;
string $obj=$sel[0];
string $cur=$sel[1];
float $ib=0;
for ($i=1;$i<=60;$i++)
{
select -r $obj;
string $tempOje[]=`duplicate`;
select -tgl $cur;
string $pathProd=`pathAnimation -fractionMode 1 -follow 1 -followAxis x -upAxis y -worldUpType "object" -worldUpObject locator1`;
selectKey -add -k $pathProd;
cutKey -animation keys -clear;
float $ic=$ib/60;
string $id=$ic;
expression -s ("uValue=fmod(time+"+$id+",1);") -o $pathProd;
$ib=$ib+1;
}
得到
同樣的方法作用到絞頭上。
更多動畫制作教程,請關注http://sxxtsj.com/。