【Animation】IKFK(ほぼ)変換方法【Maya】
はじめに
皆さん、こんにちは。涼海と申します。
今回は、私がアニメーション制作時に悩んだアニメーションのIKFK変換についてメモしていきたいと思います。
こちらは特にFKからIKへの変換方法について書かれております。
いつもの通り間違い等あるかもしれませんが、見つけたらそっと私のXにでもご連絡いただけたらと思います。
では、よろしくお願いいたします。
参考
毎度のことながらいつもありがとうございます。
アニメーションのIKFK変換
なぜこのような悩みが発生したのか
私がこのアニメーションのIKFK変換で悩んだのは、以下のようなワークフローでアニメーションをしようと考えたからでした。
FKでアニメーションをつける
手のFKをアニメーション維持したままIKに変換
手の位置がずれないようにアニメーション微調整
この時の2.の部分で、FKのアニメーションをIKに変換する必要がありました。
IKFK変換のワークフロー
では、まずは全体的なフローです。
Locatorを3つ作成
FKアニメーションをしたリグの手首と肘のコントローラーに1.で作成したLocatorをそれぞれMatch Transformする
LocatorをそれぞれのコントローラーにConstraintする
LocatorのアニメーションBakeをおこなう
リグのFKをIKに変更する
IKの手首と肘のポールベクターのコントローラーを4.でBakeしたLocatorにそれぞれConstraintする
IKの手首と肘のポールベクターのコントローラーのアニメーションBakeをおこなう
短く言うと「FKのアニメーションをWorldBakeしてIKに変換する」ということになりそうです。
次にひとつひとつの工程をより具体的に見ていきましょう。
このアニメーションはFKで作成してあります。
これをIKアニメーションに変換してみましょう。
まずは、上記1~3. の内容についてです。
以下画像のようにLocatorを作成して、それぞれにConstraintをおこないます。
Locatorは手首に1つ、肘には2つ作成します。
肘のLocator「PoleVector」は、Locator「elbow」の子になるように親子付けして、TZを30ほど動かしています。
これは、肘の位置にPoleVectorコントローラーを配置してしまうと、アニメーションがうまくいかない可能性があるためです。
Constraintを終えて、Locatorがリグに追従していることを確認したら、次に4.であるアニメーションBakeをおこないます。
Bakeが終わったら、LocatorについているConstraintを削除してください。
※私は最初、このBakeをAnimbot内のBake機能を用いておこないました。
普段であればちゃんと機能するのですが、この時はうまく機能しなかった
ため、Maya標準のBake機能を使用しました。
最後に5~7.についてです。
FKであったのをIKに切り替えます。
IKに切り替えたら手首の位置などが変わってしまうと思うので、これをLocatorの位置にMatch Transformします。
リグによるのですが、この時私の場合では2つ問題が起こりました。
一つ目はMatch Transformしても、手首の回転が合わない、というものです。
これは元々のFKのコントローラーの軸とIKのコントローラーの軸が180°ほど異なっていることが原因でした。
そのため、Match Transformをした後に手首を手動で180°回転し、そのあとLocatorにParentConstraintをしました。
ここが(ほぼ)である理由です。
そもそもちょうど180°違うのかどうかもわからないし、手動での回転となるため、(ほぼ)というようになっています。
2つ目は、PoleVectorコントローラーがParentConstraintでコンストレイントできなかったというものです。
これは、PoleVectorコントローラーのRotateにLockがかかっていたことが原因でした。
そのためParentConstraintではなく、PointConstraintをおこなうことで解決しました。
このようにそれぞれのLocatorにコントローラーを合わせてConstraintした後に、コントローラーをアニメーションBakeします。
これで、アニメーション(ほぼ)IKFK変換は終了となります。
さいごに
今回はアニメーションのIKFK変換についてメモをしました。
実は、今回の内容は私自身が全て調べたものではなく、とある知り合い(https://twitter.com/NekoNeco_Cat)に教えていただいた内容を、実際にやってみて、私なりに解釈したものとなります。
この場を借りて、お礼を申し上げたいと思います。
助かりました。ありがとうございました。
また、皆さんもここまで読んでくださり、ありがとうございました。
では、また逢う日まで。
この記事が気に入ったらサポートをしてみませんか?