3C科技 娛樂遊戲 美食旅遊 時尚美妝 親子育兒 生活休閒 金融理財 健康運動 寰宇綜合

Zi 字媒體

2017-07-25T20:27:27+00:00
加入好友
 這是一個跟『個別joint依靠節點串接成FK』有關的方法,用說的有點複雜所以就有了這篇筆記。 總之,最終效果會是這樣,正中央的三個控制器因為有了geoAttach,所以跟著身體移動,而且雖然他們是三個獨立的控制器,彼此沒有層級關係,但是透過節點可以讓他們產生FK的效果! 這就是本篇筆記要記錄的!! 那麼首先,想要達成這樣的效果,必須先看過底下這篇geoAttach的教學: Advanced Skeleton GeoAttach的用法。 ----------------------------------------------------------------------------------------------------------------------------- 首先,在我們指定GeoAttach時,需要注意一點就是,要skin的模型不可以跟geoAttach模形同一個,不然控制器會亂飛! 如下圖,我把GeoAttach加在身體上,但是skin則是給在衣服上,這兩者千萬不可搞混! 而且控制器必須各自分開,不能使用FK階層,否則一樣會爆掉! 接下來,我們要再複製那三個控制器出來,姑且稱它們為DrvCtrl,讓等等會用它們的節點串接回去! 這幾個控制器的階層最好有3個以上,這樣比較方便節點串接。 第一層串接 先把原控制器(姑且稱為AnimCtrl)connect到DrvCtrl上,最底下的DrvCtrl-C不用是因為,這個方法下我們不用管到最後一個! 這個步驟是為了記錄AnimCtrl的數值變化,也就是說我們只需要控制器本身的數值紀錄,並不需要它們從上層constraint繼承過來的數值! 第二層串接 第二層串接使用的是parent constraint,這一個步驟是為了將剛剛connect的數值往下傳遞,所以我們將DrvCtrl-A constraint到DrvCtrl-B的上一層group上,然後再將DrvCtrl-B constraint到DrvCtrl-C的上一層group上! 這個步驟完成之後,只要我們移動AnimCtrl-A,數值就會藉由connect傳遞到Drv-A然後再藉著constraint傳遞到DrvCtrl-B上面,依此類推直到DrvCtrl-C上! 第三層串接 來到最後一個步驟,這裡我們要將DrvCtrl-B group connect到 AnimCtrl-B的上一層group上,同樣地我們也要將DrvCtrl-C group connect到 AnimCtrl-C的上一層group上,這是一個逆向工程,也有點燒腦,但是其實原理很簡單! 在第二層串接,我們使用constraint將上層的數值往下傳遞,然後,再將設些數值經由connect回到AnimCtrl上,也就是說整個邏輯是: AnimCtrl-A ----connect------> DrvCtrl-A-------constraint------> DrvCtrl-B group-----connect------> AnimCtrl-B group 最後就完成了整個FK結構! 如果覺得這篇文章有幫助你在動畫之路走得更長遠,可以使用 Google 或 Facebook 帳號快速登入,按Like五下,就可以幫助我從Likecoin得到回饋,完全不用任何費用! 一點點的鼓勵都會成為我寫作的動力,感激不盡!  

本文由skywalkerxbxblogspotcom提供 原文連結

寫了 5860316篇文章,獲得 23313次喜歡
精彩推薦