MayaのHIK(ヒューマンIK)を使ってリターゲット(違う骨から動きを移す)する方法をためして


Mayaで違うスケルトン構造から、自分で作ったスケルトンに動きを移したい...
って場面は多々あると思います。

今回はそんな場合に使える機能、HIKのリターゲットを試してみたので、備忘録がてらにまとめていこうと思います。

参考動画

24. アニメーション HumanIKリターゲット
今回はこちらの動画を参考に作業してみました。

この動画で
* キャラクター
* ソース
の概念が理解できました。

で、HIKで扱うには、キャラクタを定義してあげないといけない、
ってのもわかった。

キャラクタ定義っていうのは、HIKに
今からこいつを使うぜ
ってのを教えてあげる?設定してあげる?
みたいなイメージですかね。

HIKでモデルをどうこうしたい場合は、とにもかくにも、まずはキャラクタ定義
そこを念頭においておけば、色々と応用が効くと思います。

てかどうでもいいがこの参考動画の声、めっちゃかわいくない?
って思いながら聞いてました。

コンテンツブラウザからアセットを持ってきて、動きを適用させる

コンテンツブラウザには、
ウィンドウ>一般エディタ>コンテンツブラウザ

でアクセスできます。
コンテンツブラウザから、モデルとモーションを読み込みます。

  1. ウィンドウ>アニメーションエディタ>HumanIKでHIKのウィンドウを開く。
  2. HIKウィンドウのキャラクタが、読み込んだモデルの名前になってることを確認。
  3. ソースを読み込んだスケルトンに設定。
  4. キャラクタで定義されたモデルに、ソースのアニメーションが適用される。

HIKの基本的な考え方はこんな感じです。

ソースからキャラクタ

モーションキャプチャーの動きじゃなくても使える

参考動画では

モーションキャプチャーの動きをキャラクターへ流し込む

って言ってますが、読み込める動きはそれだけじゃないです。

上記でも触れてますが、HIKの基本はソースからキャラクタへ。

つまりキャラクタ定義さえやっちゃえば、キャプチャーデータじゃなくても動きを移すことが可能です。
まぁもちろん、100%完全再現は無理ですが…

骨の構造がだいたい同じなら、8〜9割の精度で持ってこれます。
残りの1〜2割は細かい修正は手動で直す。
ってワークフローの方が効率的かと思いますね。

【所感】成果の8割は2割の労力【パレートの法則】

パレートの法則ってのがありますし、クオリティの8割を決めるのは、2割の労力です。

違うスケルトン構造へ動きを移す(リターゲット)って場合で考えると、
* 8割の動きはHIKのリターゲット機能
* 残り2割は人力による手直し
って運用したほうが、出戻り少なく、コスパいいと思います。

雑でもいいから、とにかく必要なアセットを揃える。
そこからエンジンに実装するなり、レンダリングかけるなりで、全体を把握する。
微調整は後からやればいい。

ってのが私の考えですね〜。