2011年7月11日 星期一
Spline IK 伸縮 手動架法
Spline IK 伸縮功能可以說是骨架設定裡一個很重要的元素。相信要設定這個功能不只有一種作法,我在這就分享一種算是"比較間單"的方法吧:
1. 建立骨架結構
2. 綁上 Spline IK
4. arclen 這指令會生出一個 curveInfo node (在此稱為 curveInfo1 ) , 目的是為了量測曲線長度。
5. 在 script editor 執行
createNode multiplyDivide;
執行後會出現一個 multiplyDivide node (在此稱為 multiplyDivide1)。
6. 打開 connection editor, 然後把 curveInfo1 的 arcLength 屬性 連結到 multiplyDivide1 的 input1X.
7. 在屬性編輯室窗(attribute editor)裡把 multiplyDivide1 的 Operation 設為 Divide, 然後把 Input1X 的 數值 複製到 Input2X 上。
8. 再執行 createNode multiplyDivide , 把另一個 multiplyDivide node 產生出來 (在此稱為 multiplyDivide2)。
9. 把 multiplyDivide1 的 outputX 連結到 multiplyDivide2 的 input1X。
10 . 把最上層的joint (在此稱為 joint1) 的 translateX 數值複製到 multiplyDivide2 的 input2X 裡,並把 operation 設為 multiply 。
11 . 把 multiplyDivide2 的 outputX 連結到 joint1 的 translateX。
12. 對 spline ik 裡的所有 joint 重複執行 步驟 8 ~ 11。執行完的結果會類似以下的 hypergraph。 基本上到此 伸縮 spline IK 的 功能已經完成了。
13 .接下來我們可以使用 curve cluster 來控制 spline IK curve 的 行為。
當然還有一些其他要考慮的地方和多做的步驟,例如讓他可以一致的放大縮小。但如果先不考慮這部份的話,剩下來的問題就是看你要用什麼方式控制那些 cluster handle.
當然,因為這些步驟都有點繁瑣,所以當然會有很多人寫 mel / python 程式來自動產生這功能。 我若網路上有找到簡單又不錯用的程式,會在此跟大家分享。
訂閱:
張貼留言 (Atom)
很實用的一篇教學
回覆刪除改天我也來試看看
学习,并且膜拜一下....
回覆刪除感激不盡!!
回覆刪除我之前也是用這個方式做stretchIK,之後在Highend3D抓一個自動生成的script,方便又快速。那個script在Highend3D好像找不到了,不過看到不少類似的script,我想應該不難 :)
回覆刪除這個BLOG實在是太棒了啊啊啊
回覆刪除件內文你好,想請教您有關Maya的問題,我使用另一軟體建造模型,儲存成Obj檔,但卻不能匯入Maya中,我是用imput匯入,但畫面都沒有出現我做的模型,是不是哪裡出問題?
回覆刪除請問一致的放大縮小要怎麼做呢?謝謝
回覆刪除