本教程向朋友們介紹MAYA節點連接問題的處理方法,這篇教程將討論怎樣不用 instance 來關聯復制,在討論一些混合變形的一些問題,希望對朋友們有所幫助!
這有幾個問題
1 , 我們需要創建一些形狀差不多得物體,當我們改變主物體的時候,復制體也反映出這些變化,但是我們也能自由得改變復制物體,而這時候,主物體不發生形變。
2 , 如果我們關聯復制 instance ,如果選擇著一些物體(主物體和這些復制物體)中得一個改變她的組分,其他得都跟著變化,這是很討厭得
3 ,當我們創建混合變形( blend shape )的時候,我們就不能改變著模型了,只要我們一動混合變形得滑條,剛才我們在模型上得組分變形就全沒了,我們現在需要改變模型,同時那些混合變形的目標體也跟著變形。其實第一個問題,在 max 里面有這種復制方式

我們就根據這幾個問題來進行我門的教程
先看看關聯復制是怎么樣得
打開 Edit-%26gt;Duplicate 得選項框,選 instance 關聯復制。
但是如果打開 outliner, 右鍵 show shapes ,你將會看到所有的復制得物體都具有相同的 shape node

再來看看 hypergraph, 選擇 pCube1, pCube2 and pCube3 ,展開上下游節點。
僅有一個形態接點顯示出來,但是顏色不是白色,灰色,而是粉色,雙擊箭頭,打開連接編輯器,你將看到 InstObjGroup 到 DagSetMembers 之間的連接,

因為現在只有一個形態節點( shape node ) , 所以所有的變形節點都使用這個形態節點,所以你變形任何一個關聯復制體,其他的都將產生相同的變化,同樣的,當你選擇一個物體的組分的時候,其它的的也會別選擇。

使用關聯復制,不能解決我們前面問題 1 和問題 2 ,我們不能只變形關聯復制體而是其他的不變形。所以我們需要其他的辦法
幸好, maya 是基于節點的應用程序,用戶可以在這些接點之間定義自己的數據流動。
我們做個例子
創建一個 polygon 的球和方盒,重命名為 box 和 ball, 把他們排列一下,使得你能清楚地看到他們倆。

打開 Hypergraph ,選在 box 和 ball, 顯示他們的上下游節點。
BoxShape 節點是 box 的形態節點,同樣的, BallShape 是 ball 的形態節點,
現在我們想要 Box 跟隨 Sphere 的形態,所以他現在不應該是個方盒,而應該是個球。
在 hypergraph 里面托拽 BallShape (主)節點到 BoxShape (從) , 出現的菜單選擇 Other...
連接編輯器 Connection Editor 就會打開, BallShape 在 Outputs , BoxShape 在 Inputs ,在 Outputs 里面找到 "outMesh" ,在 Inputs 里面找到 "inMesh" ,你會發現在 Inputs 里面的 "inMesh" 是灰色的 , 這顯示了已經有一個 input 連接了,沒關系,我們覆蓋它以前的連接就可以了。
在 Outputs ,選擇 outMesh ,在 Inputs. 選擇 inMesh 。

現在你可以看到,原來的方盒現在變成了圓球了,在 Hypergraph 里面可以看到,從 BallShape to BoxShape 粉紅的箭頭 , BoxShape 不再從 polyCube1 輸入連接了

現在我們來檢查一下效果,
1 ,我們改變 BallShape , BoxShape 會跟著變化嗎?(就是改變球的形狀,以前是方盒,現在是球的那個物體會跟著變化嗎?)
2 ,我們改變 BoxShape , BallShape 會跟著變化嗎?
如果滿足了條件,那么我們就完成了的 3 個問題的前兩個。

下面來看這片教程最開始提出第 3 個問題,關于 blendshape 的問題
在一些其它的軟件中,使用類似于 blendshape 的工具的時候,如果你變化主物體,則其他的目標體也會自動得產生變化,舉一個例子,如果你做了 30 個目標體,已經設置好了 Blendshape, 這時候導演對你說, Bob ,顴骨太高了,我想要低一些,前額太小了,變大一些,下顎太方了,變得圓一些。這時候,如果你能只改變主物體,那些目標體都能跟著變化就好了。
先叫我們看一下 blendshape 在 Hypergraph 里面是怎樣工作的。
在這個例子里面我們就用跟簡單的多邊形物體吧,建一個 2*2*2 的方盒,做 3 個目標體,
target1, target2, target3 ,把他們在稍變形一下,如下圖
創建了混合變形后,在 Hypergraph 里面注意,將會涉及到一些節點,一個中間物體(通常在它名字里面帶有 Orig )一個 tweak 節點,當然還有一個 blendshape 節點。

現在把主物體變形一下

下面我們再找一個更好的辦法,如果變形主物體,而這個變形也會執行到其他的目標物體上就好了
這種情況我們還是使用前面的討論,但是我們需要連接合適的節點得合適的屬性才可以。
連接 tweak 節點得 outputs 到 targetShape 的 inMesh 。

把所有的目標體都這樣連上,這時候如果你變形主物體,就會發現,變形也會影響到其他的目標體,主物體和目標體都會產生相同的變化,
好了現在我們在這篇教程最開始的 3 個條件都滿足了。
(完)
教程結束,MAYA節點連接問題的處理方法介紹,希望能對大家有所幫助!