2013年3月16日土曜日

FK/IK Switch ブレンドカラーを使う方法

今回は前回に引き続きFK/IK Switchの方法についてです。

前回の記事の『ここまでは2つの方法とも一緒です』までは同じです。
ではそこからのお話を。

そういえば、前回詳しく書かなかったのですが
今回の行っている切り替えとは”回転”のことです。
移動やスケールは関係ありません。
回転の値が切り替わればOKなのです。

以上を頭に入れたうえでどぞ。


とりあえずまず、完成形をお見せします。


こんな感じにできればOKです。

何じゃこの画面?という方もいると思いますが
これは、ハイパーシェードの作業領域の部分で
何かオブジェクトを選択して

こんなボタンがハイパーシェードの上のとこにあると思うのですが
真ん中とかをおすと右下に出てくるこれです。


これは何を表示しているかというとノード同士が
どうやって繋がっているのかを表しています。

Maya2013にはこれをもっと見やすくしたノードエディタというものが導入されていますが
今回はハイパーシェードで説明します。

この図のハイライトになっている赤と青のぐるぐるがブレンドカラーです。
これは、ハイパーシェードのユーティリティの中に入っています。

どんな機能があるのかというと、AとBの異なるテクスチャ同士を混ぜ合わせることができ
更に混ざる割合をコントロールすることができます。
詳しくは、Mayaのオンラインヘルプを見てください。


色の管理というのはR、G、Bと3つの値で管理されています。
今回行いたい回転の値というのもX、Y、Zの3つの値で制御されています。
奇遇にも同じ数なのでうまく利用しましょう。




さて、このブレンドカラーはボタンを押せばノードが出来上がるのですが
どうやって使うのかってとこですよね。

このブレンドカラーでコントロールできる値は大きく分けて3つ
1、1つ目のカラー(値は↑の通り3つ入る)
2、2つ目のカラー(値は↑の通り3つ入る)
3、ブレンダー

3は1と2を切り替えるスライダーで0と1で切り替えます。



つまり今回の場合

1、FKのジョイントの回転値
2、IKのジョイントの回転値
3、FK、IK切り替える用のコントローラーの値

となれば良い訳です。


それではまずハイパーシェードの作業領域に
FK用のボーン、IK用のボーン、バインド用のボーン
を表示させます。

表示のさせ方は選択して上のボタンでも良いのですが
ごちゃごちゃしてしまうこともあるので

アウトライナかハイパーグラフのどちらかで表示させ
中ボタンドラック&ドロップで作業領域に表示させましょう。



表示できたらまずはFK用のボーンを中ボタンドラック&ドロップで
ブレンドカラーの上までもっていって下さい。

こんなのが表示されますのでその他を選択してください。
すると、コネクションエディタが開きます。

左がボーン、右がブレンドカラーになっているので
ボーンのrotateとcolor1をそれぞれ選択します。
これでノード同士がコネクションされました。

次にIK用のボーンを選択し今度はコネクションエディタの上の
左側のロードを選択してください。
FK用のボーンからIK用のボーンへノードの表示が変わります。

今度はrotateとcolor2を繋ぎます。

更に、左側にFK、IK切り替える用のコントローラーを表示させ
アトリビュートをblenderと繋ぎます。

アトリビュートは移動値等でも良いですが
私の場合は追加のアトリビュートで0から1のfloatにしています。
理由は上記の通り、ブレンドカラーのblenderは0と1でコントロールされる為です。


そして最後に、今度はブレンドカラーを左側に表示させ
右側にバインド用のボーンを表示させます。

そして、outputからrotateに繋ぎます。


これで完成です!!
(他のジョイントにも同じ動作をしてあげて下さい)




今回の場合はfloatで綺麗に補間されるので、
アニメーションの最中での切り替えが可能になります。


ただ今回書いた内容がすべてではないので
これを応用させ自分の一番使いやすいrigを作ってみてください!!

2 件のコメント:

  1. この方法でスイッチを作ってみたのですけれども、IKで動かした後に、IKとFKを切り替えたら、動かした後の形からではなく、動かす前の形に戻って、切り替えがされたのですけどこれであってるのですか?
    違うのなら対処法を教えてほしいです。
    よろしくお願いします。

    返信削除
    返信
    1. Takayuki Yanagisawa2013年9月11日 22:11

      参考にして頂いてありがとうございます。

      この方法はFK⇔IKのrigを補間するため方法の一つなので
      FKはFKで、IKはIKでポーズが残っているのでれば
      たぶん合っていると思います。

      mayaで完全に補間するという方法は私は見たことないです(・へ・)
      ※プラグイン等は除きます

      削除