HumanIKで動物をリターゲットする

Mayaで動物のアニメーションを別の動物キャラに移植したので、やり方を書いていきます。
骨格が異なるキャラへの移植なので、リターゲットもします。

リターゲット結果
黒猫のアニメーションをオレンジ猫に移植

リターゲットはMayaの標準機能である「HumanIK」でやります。
外部プラグインなどは使いません。Maya2027を使用。

人間キャラより上半身の精度がユルいですが、まあまあリターゲットできます。
あとでブラッシュアップする前提の移植には便利です。

動物のHumanIKを作成

ターゲットキャラクターを設定する

アニメーションを「移植される側」のキャラクター設定をします。

Mayaシーンを開いて
①右上のHumanIKボタンをクリックしてHumanIKを開く
②Create Character Definitionをクリック

新規Defintion

Definition(キャラクタ定義)のタブを開きます。

新規Defintion

この骨の図に4足動物のボーンを割り当てます。

①ボーンを選択
②対応するHumanIKの骨を右クリック
③Assign Selected Bone

ボーン割り当て
つま先などは▽ボタンを左クリックすると開きます。

この調子で全身のボーンを当てはめていきます。
手足のボーンは、人間がつま先立ちをしたような姿勢で割り当てます。

手足はつま先立ちの姿勢①
手足はつま先立ちの姿勢②

ルートや移動値のボーンも割り当てます。

HipsTranslation:腰の移動値だけのボーンがあるなら使う。無いなら使わなくてヨシ
Reference:ルートボーン(骨格の一番親)を割り当てる

ルートや移動値のボーンも割り当て

全部のボーンを割り当てたらこんな感じ。カギマークを押してロックします。

なんか黄色い骨があったり、右上に怪しいビックリマークがありますが、今回はスルーします。

これは「Tポーズじゃない骨がありますよ」っていうサインで、人間のキャラクターだったら調整した方がいいですが。
今回みたいに猫→猫にリターゲットする場合、Tポーズにしても結果に大差なかったのでここでは無視してます。いったんリターゲットして いまひとつだったら調整するようにしてます。

全部のボーンを割り当てたら、わかりやすい名前をつけておきます。
①HumanIKの青いアイコンを押す
②Rename Character

キャラクタ定義名

名前をOrangeCatにしました。

キャラクタ名

これでターゲットキャラクターの設定は完了!
このDefinition情報は保存しておくと他のシーンでも使えます。

Definition(キャラクタ定義)を保存

Defintionを保存

フロッピーのアイコンをクリック。名前をつけて保存します。
デフォルトの保存場所は
C:\Users\ユーザー名\AppData\Roaming\Autodesk\HIKCharacterizationTool6\template
ですが任意の場所にも保存できます。

保存したデータは、同じボーン構造のキャラクター共通で使えます。

ソースキャラクターを設定する

アニメーションを「提供する側」のキャラも設定します。
黒猫の歩きアニメーションFBXを、追加インポートします。

アニメーションをマージ
わかりやすくメッシュごとインポートしてますが、アニメーションだけあれば大丈夫です。

インポートのやり方は、まず
File > Import でアニメーションFBXを読み込んで。

インポートfbx

インポートオプションは
・Use Namespacesに✓入れる
・File Content:Add

黒猫がシーンに入ったら、黒猫にもHumanIKを入れます。
新規作成するため Character:None を選択。

Create Character Definitionをクリック。

新規キャラクタ定義

新しい設定画面が出ます。これに黒猫の名前をつけておきます。

BlackCatという名前をつけました。

黒猫を初期ポーズ(Tポーズ)にして、オレンジ猫と同じ方法で骨格を割り当てていきます。
すでにDefinitionデータがある場合はそれを読み込めばOK。

初期ポーズにする方法いろいろ
  • StudioLibraryで初期ポーズをロード
  • リギングメニュー > Skin > GoToBindPose
  • 全ボーンの回転を0

など。キャラモデルに合った方法で初期ポーズにしてください。

黒猫にも骨格を割り当てたらこんな感じ。

黒猫のDefintion

HumanIKでリターゲットする

Character:オレンジ猫
Source:黒猫
にします。

キャラクターソース

タイムラインを再生してみます。
黒猫とオレンジ猫が同じ動きをするようになります。

黒猫とオレンジ猫が一緒に動く

って耳や尻尾が動いてなーい!
これはHumanIKに無い骨なので、ふつうのコンストレイントで同じ動きをさせます。

黒猫の尻尾ボーン→オレンジ猫の尻尾ボーンの順番で複数選択して、
リギングメニュー > Constrain > Orient

回転をコンストレイント
耳・尻尾をコンストレイント

これで黒猫の動きがオレンジ猫に移植できました!

一見オレンジ猫がちゃんと動いてるように見えますが、実は黒猫を参照しているだけでアニメーションになってません。
黒猫が消えたらオレンジ猫も動かなくなる存在です。

なので動きをベイクして、アニメーションのキーとして焼き付けます。

リターゲット結果をベイク

オレンジ猫のボーン全選択して > Animationメニュー > Key > Bake Simulation

ベイクしたらオレンジ猫の動きが、アニメーションのキーに焼き付けられます。

リターゲット完了

黒猫は削除してもOK。

これでHumanIKを使った移植とリターゲットは完了。
お疲れさまでした!

PAGE TOP