ON-BLOG

CGのこと、あれこれ書いてます。

膝パーツの組み方

よくある事例なんですが、いつも接続で?ってなるのでメモ。

画像みたいに、ひざにパーツがついてる時があります。
特にメカ系なんかに多いんですが…
f:id:tommy_on:20180529221831p:plain

これを足の骨だけでそのまま回すと
こうなるかと思います。
↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
f:id:tommy_on:20180529221849p:plain

このままだと、硬い物等で違和感が生じる為、骨を足して
処理を追加します。
※膝と同階層に
画像のように配置します。
f:id:tommy_on:20180529221900p:plain

ウェイトは繋がっていない限り、パーツに全振りします。
んで、この骨に対して接続を行います。
f:id:tommy_on:20180529221928p:plain

※デモの為、jointOrientをしていません汗・・・・
kneeの回転値Zを各【remapvalue】の【入力値】に接続し、出力値をnodeとしいう階層に接続してます。
この出力値は、追加した骨を拘束しており、ドリブンされています。
とりあえず、【TX】ノードの接続をみていきます。
f:id:tommy_on:20180529221941p:plain


基本的には画像の通り。
膝の回転値を変換して、最大は動かないように【0】にして最小の値を【-1】にしています。
このように他のチャンネルにも接続すると、

Knee_Rig from tommy_on on Vimeo.

このような挙動になります。
はじめはclampノードを使っていたんですが
clampだと、リミット時にカクッとなる為
代案を考えておりました。
いろんなデータを落としたりしてる中で、IKFKの切り替えで
【remapvalue】を使っている所を確認したので
試した所きれいにいったのでこれをつかってます。
先人達には感謝がつきませんね…



では…