IKとは、インバースキネマティクスの略。
詳しいことはボクはわからないのでパスw ググってw
前回、骨のローテーションで膝をまげたように動かしたのは、FK(フォワードキネマティクス)というやり方です。
ではIKやってみましょ~。
IKを設定するにはまず、末端の骨を選択します。
ジョイント3ですね。
骨というか、先端の球体っぽいやつですね。
ジョイント3を選択したら、タグをつけるメニューで、IKハンドルを選択します。
とりあえず、デフォルトの設定でIKがつきました。
紫色の線がみえるでしょうか?
この線がついていることで、IKの設定が入っていることがわかります。
IKの設定は、プロパティにあります。
IKのタグをつけたら、プロパティは、IKの内容に変わります。
色々設定がありますが、ほとんどデフォルトのままでも、大丈夫です。
変える点は、IKソルバー:の項目です。
図では、2Dになっていますが、
これをクリックで選択して、3Dに切り替えます。
なぜか、2Dの状態でIKを動かそうとすると、うまく動いてくれなくて・・・
設定がわるいのかなんなのか、時間があればつきとめたいw
上記までのじょうたいでもIKとしては機能するのですが、もう一個手順を踏みます。
プロパティの図の下の方に、「ターゲットの追加:」という項目と、OKボタンがあります。
このOKボタンをクリックして、ターゲットを追加してしまいましょう。
追加するとこんな感じです。
ターゲットは何かというと、
IKで骨を動かすときに、骨(ジョイント3)を直接トランスレートするのではなく、ターゲットをトランスレートすることで、骨を動かせるようにするものです。
ターゲットの居る方向に骨の向きが向くという感じでしょうか。
便利に使えるので、必ずつけておくのがいいと思います。
(今回の実験的なオブジェクトだと、恩恵を説明しきれないw 人間型モデルとかで改めて解説したいですね)
では、早速ターゲットをトランスレートして、骨と”肉”を動かします。
ターゲットを選択した状態で、トランスレートすると、膝が曲がります。
ターゲットを、腿に近づけるほど膝が深く曲がり、遠ざけるほど膝が伸びます。
この挙動はやっぱり楽しいですw
無意味にぐりぐりやってしまいます。
さて。
腿の上にちょこんとくっついているジョイント(親)なのですが、
なぜこれをつけたかというと、”膝の向き”を変えるためなのです。
MAYAや、Blenderだと、ポーラベクターとか、アップベクターとかいう設定で、膝の向きを変えられるのですが、Cheetah3Dの、3DのIKソルバだとなんでかうまくいかなかったのです。
IKのプロパティに、「ポールの追加」という項目があるのですが、これがポーラベクターの事なのだな? と思い設定してみたのですが、思惑通り行かなかった……。
何か設定が間違っているのか、根本的に勘違いしているのかもしれません。
このあたりも、探りたいところですね。
話を戻して。
ポーラベクターのような物がつかえないとなると、膝の向きを変えるための「何か」が必要なので、その「何か」の役割をさせるのが、ジョイント(親)です。
ジョイント(親)をローテーションさせることで、膝の向きを変えることができます。
こんな感じですね。
マニピュレーターが、ローテーション用になってるのがおわかりいただけるでしょうか。
図のは一本だけしかなくて、脚っぽくないですが、人型にすれば、がに股と内股が表現できるようになります。
アニメーションをつくるとき、ジョイント(親)は、トランスレーションさせたらダメです。
ローテーションだけキーを設定します。
膝を曲げるときは、ターゲットのトランスレーションだけに、キーを設定します。
ターゲットはローテーションさせてもあんまり意味は無いです。
IKの設定はこんな感じです。
めちゃくちゃ簡単ですよ。
コンストレイントとか駆使すれば、高度なリグとか構築できそうなのですが、
その辺は、まだ探れてないですね。
色々やっていきたいです。
0 件のコメント:
コメントを投稿