んー。問題発生。
いや、予期はしてたんだけど想像以上に根が深い。
キャラクターを動かす時には、もちろん、ジョイントを動かすわけですが、
ジョイントにアニメーションをつける方法には大きく分けて二つの方法があります。
FKと、IKです。
FKはジョイントを直接動かします。
IKはIKハンドルを移動で動かします。
たとえば、膝を上げる動作をする場合、
FKの時は、足の付け根のジョイントと膝のジョイントそれぞれを回転し、
膝を上げるアニメーションを入れますが、
この場合、2つのジョイントにキーを打たなければいけなくなり、
また、足の位置を意図した位置にするのが大変です。
これを、より直感的に配置しやすくしてくれるのがIKです。
IKハンドルは、始点と終点の間のジョイントを自動で屈伸してくれます。
これにより、キーをIKだけに入れればいいので、制御する場所が減ると同時に、
足の位置をより直感的に、意図した場所に配置できるようになります。
しかしながら、IKを設置するときには少しばかりクセがあります。
IKを設置する時は、間のジョイントの角度の小さい方に曲がります。(?)
下の図で。
図の上部は、あらかじめ膝に当たるジョイントをやや前に配置し、
IKを設置して曲げた時です。間のジョイント(膝)はきちんと前にむかって折れてます。
逆に、図下部では初期状態で膝が後にある状態でIKを上に動かしていますが、
後に折れてしまっています。
通常、キャラクターを作る場合、肘や膝などの曲がる箇所は、
あらかじめ曲がる方向に少しジョイントを出して設置するのが一般的です。
膝ならやや前に。肘ならやや後にといった具合です。
これは、IKを設置した時に、曲がる角度がフリップしないようにするためです。
んじゃ、お前どうなのよ?ってことです。
自分は今回、骨を作り、骨が心地よく曲がるようにジョイントの位置を関節と合致させています。
膝を真っ直ぐ伸ばしている状態のため、膝ジョイントはやや後方に配置してしまいました。
なので、IKを設置し、曲げてみたら膝は後に折れてしまいました。
ジョイントの位置を変えれば済む話ですが、これでは骨が気持ち悪く動きます。
これを防ぐために、ジョイントには「優先角度」を設定できます。
なので、「優先角度」を設定すればいいだろうと思ってたんですが、
・・・
・・・
・・・
ずれる。ずれるけど?
膝のジョイントにはあらかじめ、制限をつけ、前には曲がらないようにしていて、
なおかつ優先角度をつけて、IKを配置したんですが、
IKを設置した瞬間、上図のように位置がズレてしまいました。
これはちょっとまずいぞ・・・。
しかも、IKの難点の一つではあるんですが、膝などが伸ばしきれません。
長くなったので、問題解決は下に。
そこで、問題解決策を3点、考えてみました。
・≪あらかじめ膝を曲げておく。≫
膝を曲げている状態でIKを設置し、作業を進める。
通常はこの方法が一番の正統方なんでしょうけど・・・。
問題は、今後もまだモデリング作業が残っている今の状態で、
膝を曲げた状態でのモデリングはちと大変っつーこと。
あとは、今後足を伸ばしきったポーズを取らそうとするとやっぱり難しいということ。
・≪ジョイントの位置を前にずらす。≫
IKがフリップしない位置まで膝のジョイントを前に移動し、IKを設置。
骨のほうは、オリエントコンストレインか、ドリブンでも使って、曲げる。
ただこれの場合の問題は、ジョイントの位置が実際のモデルよりもずれてしまうこと。
マッスル機能を使う予定なので、ボーンは必ずしもモデルに沿っている必要は
ないかもしれないですが、気分的に気持ちが悪いです。
・≪IK用ボーンと、モデルに沿ったボーン2本を用意する。≫
上記と少し似ていますが、足の骨にきちんと沿ったボーンはそのままに、
もう一本、フリップしないIK用のボーンを用意し、
足の付け根と、足首の骨を同じ位置に配置、ポイントコンストレイン等をつかって、
骨用ジョイントをIK用ジョイントにそれぞれ固定。
問題点は、ムダにボーンが増える・・・。
う~ん、最初の方法はちょっと今後のこと考えるとないな・・・。
2番目の方法も足首の位置がズレそうだし・・・。
テストしないと分からないけど今のところ3番目の方法で行くつもり。
- 関連記事
-
追記を閉じる▲
そこで、問題解決策を3点、考えてみました。
・≪あらかじめ膝を曲げておく。≫
膝を曲げている状態でIKを設置し、作業を進める。
通常はこの方法が一番の正統方なんでしょうけど・・・。
問題は、今後もまだモデリング作業が残っている今の状態で、
膝を曲げた状態でのモデリングはちと大変っつーこと。
あとは、今後足を伸ばしきったポーズを取らそうとするとやっぱり難しいということ。
・≪ジョイントの位置を前にずらす。≫
IKがフリップしない位置まで膝のジョイントを前に移動し、IKを設置。
骨のほうは、オリエントコンストレインか、ドリブンでも使って、曲げる。
ただこれの場合の問題は、ジョイントの位置が実際のモデルよりもずれてしまうこと。
マッスル機能を使う予定なので、ボーンは必ずしもモデルに沿っている必要は
ないかもしれないですが、気分的に気持ちが悪いです。
・≪IK用ボーンと、モデルに沿ったボーン2本を用意する。≫
上記と少し似ていますが、足の骨にきちんと沿ったボーンはそのままに、
もう一本、フリップしないIK用のボーンを用意し、
足の付け根と、足首の骨を同じ位置に配置、ポイントコンストレイン等をつかって、
骨用ジョイントをIK用ジョイントにそれぞれ固定。
問題点は、ムダにボーンが増える・・・。
う~ん、最初の方法はちょっと今後のこと考えるとないな・・・。
2番目の方法も足首の位置がズレそうだし・・・。
テストしないと分からないけど今のところ3番目の方法で行くつもり。
- 関連記事
-