【Anton Parygin-Rigging in Maya | Quick Start Part One 】筆記

【Anton Parygin-Rigging in Maya | Quick Start Part One 】筆記

 



很前就有在IG上面看過這位Anton大大的教學,只是當時是用俄羅斯語講解所以沒機會學習,前陣子他們團隊推出了英文字幕以及配音的影片,終於可以好好觀摩一下!


有興趣可以來這邊買!



-----------------------------------------------------------------------------------------------------------------------------


好用的Maya attr順序重新排列外掛



這是一個可以重新排列attribute的工具,滿方便的!!






在Graph Editor中反轉key



輸入*=-1就可以fllip key。






Warning: Specified weight could not be set due to locked influences 解法以及成因!!!


這個在paint weight很常遇到! 常常會導致無法正常畫權重,但解法很簡單。

首先會造成這個warning的原因是由於我們在bind的時候,將Max Influences調成1,或是3之類的,但是,當我們想要smooth skin時,就會出現錯誤! 因為一個vertex已經被設定成,最多只能有1個joint來影響它!








解決方法就是到skin的面板,將Max Influence數值調高就可以了!










Reset Lattice變形


maya有一個內建功能可以將變形過後的lattice回復原始設定,非常方便!










Maya combine 模型時保留skin!



在rig有很多頭髮、或是鱗片物件時常常遇到一個狀況,就是物件的模型全部是合併在一起的,但是要skin的話會很麻煩,因為權重常常會互相影響,很難paint weight,這個時候可以先把model分離,然後skin上去,接著,再使用combine物件中的 Combine Skinning功能,就可以保留skin,最終,再把 copy skin回去原始一體的模型就可以省掉很多時間!




首先,我們把一體的模型複製出來,然後將他們所有物件detach之後加上ctrl以及skin。








現在,把原本是一體的model bind上 joint。

可以看到現在skin全部混成一團,要細修也非常麻煩。






現在,將原本是分散的model combine起來,然後要勾選 Combine Skinning,這樣合併之後物件還能保有原本的skin。

接著,再把這個合併後的model的skin copy回去原本一體的模型,就完成了!!


這是一個非常方便的方法來處理多物件的skin!!!







Maya MASH Break Out 功能


這是一個將MASH與控制器結合的方法,非常實用,在這種狀態下不只可以透過MASH節點來添加控制器動態,控制器本身的位置資訊也不會跑掉或出現多重位移的情況。


先來看看最後能達到什麼樣的效果,可以看到控制器的數值雖然沒有改變,但是,joint因為連接上MASH而有了動態,而且! 控制器還是保留了connection,也就是說這個RIG一方面可以透過MASH來做動態,另一方便也可以透過控制器!

而且數值完全不會互相衝突! 再加上MASH本身豐富的節點,可以製作出更多特別效果的RIG!







首先,第一步先確認model已經被skin好,控制器沒問題!
接著新增一個MASH Network,使用Instancer,Distribution Type選擇 Initial State。









現在,將所有的控制器,必須按照順序排列好,然後加入MASH Network,請注意這邊控制器的順序必須跟稍後的joint順序一致,不然在後續動態上會出現問題!

另一方面,在加入控制器到MASH之後,也必須修改Number Of Points的數量,讓它跟我們選中的控制器數量一致!











現在,在進入MASH節點之前,我們需要將所有joint上的constraint刪掉! 不然等等會出現問題!

也就是說,這個流程之下,控制器跟joint之間是依靠MASH來連接而不是一般常見的constraint!


然後我們在MASH 新增Break Out,接著把所有joint、按照順序丟進去!

然後會出現一個視窗,在這邊連接旋轉位移縮放!

最後,到MASH 新增signal節點,就可以看到跟開頭一樣的效果,除了signal之後我們也可以新增其他MASH節點!




將joint shape節點換成cv


這個用法滿酷的,就是直接將joint當成控制器,只是外型改成一般的CV樣式! 可以將joint type改成none,那個圓形圖示就會消失! 







現在,選擇想要使用的CV點,然後選擇joint,執行script就可以更換!

現在控制器跟joint就是同一個物件,算是滿特別的用法!


script:
import maya.cmds as cmds

##### Select CV first then object which you want to change shape node


SEL=cmds.ls(sl=1)


shape_node = cmds.listRelatives(SEL[0], shapes=True, fullPath=True)[0]

cmds.parent(shape_node, SEL[1], relative=True, shape=True)

cmds.delete(SEL[0]) #delete original transform node








Preserve Children 保持子層級位移



這是在Move Tool裡面有一個功能可以讓父層級物件位移時,子層級保持原位,在想要暫時移動控制器的時候滿實用的!










Lattice Squash 設定



這是一個常見的做法,就是擠壓lattice,透過簡單的設定就可以達成。


完成之後長這樣!





首先先準備好模型以及lattice,然後這邊使用的方法是將lattice bind 上joint,分別有上中下三個ctrl,以及一個main ctrl。


值得注意的是,mid ctrl是被上下兩個ctrl constraint,這樣才會永遠保持在中間,剩下的就是設定lattice vertex的skin 數值(在component editor裡面可以指定lattice vertex的weight)。








首先製作兩個locator,把它們分別放在上、下兩個ctrl的位置,然後使用控制器 point constraint兩個locator。









接下來把兩個locator的world matrix輸出到distance between節點。




使用distance between節點測量兩個locator距離。


將得到的距離數值輸出到multply節點上,並且在input1預先輸入這個數值。記得使用Divide模式!

最後接到Mid Ctrl上層group的Scale X Y或是任兩個軸向上,就完成了。







這個時候如果縮放main ctrl會出現問題,因為,上下兩個locator的距離因為縮放而改變了,但是實際上上下ctrl是沒有任何縮放的,因此,使用這個方法做擠壓還需要額外的節點來解決這個問題。









解決方法就是,將main ctrl任一個scale軸向接上mult節點的input2X(在這種情況下通常不會讓rig可以任意縮放其中一個軸向),然後,將上面的兩個locator 之間的距離數值輸入在input1X,使用multiply模式。

這樣一來,只要是main ctr有任何縮放,mid ctrl上層group的數值也會相對應變化,並且保持相同的比例!







完成之後就解決了!








制器跟隨Lattice卻不會雙重位移的方法!




這是一個算是折衷的方法吧,就是當mdoel被lattice給變形時,如果ctrl可以跟隨那就更方便了,教學裡面有提到這個技巧,不過它只是很簡單的讓ctrl的cv點跟隨lattice位移,實際上軸向還是停留在原始位置,不過也不失為一種可以試試的方法!



首先,需要將main ctrl parent +scale constraint到lattice Base上,注意是BASE不是lattice本身!





constraint完之後會發現,原本被lattice帶動的model反而不會移動了,但是lattice本身的影響還是在的!

這是因為lattice Base就相當於一種可以抵銷雙重位移的物件,這是maya 開發者最初設想的方式,讓lattice影響的物件能夠解決複雜的位移問題,但是當我們將constraint加入倒lattice base上,它就失效了!







要解決這個問題也很簡單,只要將main ctrl 也同樣parent+scale constraint到被lattice影響的model上就好了!   PS.只有純粹被lattice影響的model,如果本身有skin就可以略過這個步驟!





最後,打開deformer set editor,左邊選擇lattice節點,然後將想要跟隨lattice的ctrl的cv點選起來,按下紅色的+號就完成了!

可以看到Ctrl現在跟隨著lattice的變形,但是他們的軸心仍然在原始位置!!













如果覺得這篇文章有幫助你在動畫之路走得更長遠,可以使用 Google 或 Facebook 帳號快速登入,按Like五下,就可以幫助我從Likecoin得到回饋,完全不用任何費用! 一點點的鼓勵都會成為我寫作的動力,感激不盡! If you found this article helpful in your journey in animation, you can use your Google or Facebook account to quickly log in and click Like five times to help me earn rewards from Likecoin, without any cost! Your encouragement means a lot to me and will become the motivation behind my writing. Thank you so much!


 




張貼留言

0 留言