実はMayaにはいろんなIKソルバがあります。
ですが、デフォルトではロードされていないものが多いんですよね。
以下はロードすれば使えるようになるIKソルバです。
・ik2Bsolver
・ikSpringSolver
また、ikMCsolverというものもあります。
こちらは以下のコマンドで作成することができます。
ただ、ひっそりしすぎなのであまり使われていないっぽいですよね。
ということで、ヘルプにも書かれているMayaで最速のIKソルバと言われるik2Bsolverを試してみました。
ik2Bsolverについて
2ボーン限定ということです。
要するに以下のようなものにIKを適用したい場合はik2Bsolverを利用した方が効果的です。
この状況って体の部位では結構ありますよね。脚とか腕とか。
そのまんまRotate-Planeソルバーを利用するよりかはこちらに切り替えた方がいいかもしれません。
実際の速度について
ikRPsolver(Rotate-Plane)とik2Bsolverの速度差を試してみました。
1000フレームIKハンドルを動かしかつ、ツイストさせた結果は以下となりました。
ik2Bsolver
Real time in compute : 0.0139862 sec
ikRPsolver
Real time in compute : 0.0141115 sec
シンプルなテストではありながらik2Bsolverの方が高速というのが確かめられました。
テストによってはもろもろ変わるかもしれませんが私がいろいろ試した結果、
全てのパターンでik2Bsolverの方が早さは出ました。
ソルバーの変更方法
ですが表示されない時もありました。
その時は直接コネクトします。
ikHandleの持つikSolverアトリビュートにコネクトします。
例えば、以下の画像だと
ik2Bsolver1.message -> ikHandle1.ikSolver
というコネクションがされています。
このようにソルバを取り換えるだけでいいのでお手軽ですね。
まとめ
といった具合にMayaにはひっそりノードが結構あります。
あとDevkitに入っていて便利なプラグインもあります。
そういうのを時間があれば取り上げていきたいな~と思います。
それでは。
売り上げランキング: 1
コメント