ワークフロー例: 非破壊リターゲッティング
 
 
 

このワークフロー例では、HumanIK とアニメーション レイヤを使用して、1 つのキャラクタから別のキャラクタに非破壊的にアニメーションをリターゲットしてから、確認のためのベイク処理を行わずにリターゲットされたアニメーションを編集する方法について説明します。このワークフローを Maya で試すには、バイザー(Visor)ウィンドウからサンプル ファイルをロードできます。

概要

  1. ソース キャラクタをセットアップする
  2. ターゲット キャラクタをセットアップする
  3. ソース キャラクタからターゲット キャラクタにリターゲットする
  4. アニメーション レイヤを使用してリターゲットされたアニメーションの上位にキー設定する
  5. リターゲットされたアニメーションを IK で変更する

ソース キャラクタをセットアップする

このワークフロー例では、バイザー(Visor)ウィンドウで使用可能なサンプル モーション キャプチャ ファイルの中の 1 つを使用します。

ソース キャラクタをセットアップするには

  1. ウィンドウ > 一般エディタ > バイザー(Window > General Editors > Visor)を選択してバイザーを開きます。
  2. バイザー(Visor)ウィンドウで、モーション キャプチャ サンプル(Mocap Examples)タブに切り替えます。
  3. dance1 サンプル ファイルをインポートします(ファイルをクリックし、表示されるメニューから Maya ファイルのインポート(Import Maya File)を選択します)。
  4. バイザー(Visor)ウィンドウを閉じ、必要に応じてズームアウトして dance1 キャラクタをシーンに表示します。
  5. キャラクタのスキンを選択し、バインド ポーズに戻します(メイン メニュー バーからスキン > バインド ポーズに移動(Skin > Go To Bind Pose)を選択します)。

    dance1 キャラクタがシーンの中心でバインド ポーズに移行します。このキャラクタでは、バインド ポーズは標準の T スタンスです。 キャラクタを HumanIK 用にセットアップする際にはこれが重要です。詳細については、既存のスケルトンを HumanIK 用に準備するを参照してください。

  6. キャラクタ化ツール(Characterization Tool)スケルトン > HumanIK > キャラクタ化ツール(Skeleton > HumanIK > Characterization Tool))で、をクリックして新しい HIK キャラクタを作成します。

    これにより、新しいキャラクタ(デフォルト名は Character1)が作成され、キャラクタの構造の定義に使用できます。キャラクタ化ツール(Characterization Tool)を使用してキャラクタをマップし、キャラクタの構造が Maya に認識されてそのアニメーションが他のキャラクタに正確にリターゲットされるようにします。

  7. > キャラクタ > 名前の変更(Character > Rename)を選択して、キャラクタの名前を DanceSource に変更します。
  8. 次のいずれかの操作を行い、キャラクタの構造のマッピングを開始します。
    • キャラクタ化ツール(Characterization Tool)からスケルトンに進みます。Figure ビューでセルをダブルクリックしてから(選択するとセルは青になる)、シーンの対応するボーンをクリックします。

      たとえば、Figure ビューで LeftUpLeg ノードをダブルクリックしてから、シーンの DanceSource キャラクタの l_thigh ボーンをクリックします。

      LeftUpLeg ノードが緑に変わり、マッピングが有効であることを示します。キャラクタ化ツール(Characterization Tool)ではミラー マッチング(Mirror Matching) がデフォルトでオンになっているため、RightUpLeg ノードもキャラクタのボディの左側と右側に対する標準の l_ と r_ のボーン命名規則に基づいて自動的にマップされます。

      ヒント:

      アウトライナ(Outliner)またはハイパーグラフ(Hypergraph)でジョイントを選択することもできます。

    • スケルトンからキャラクタ化ツール(Characterization Tool)に進みます。Figure でボーンを選択してから対応するセルを右クリックし、Assign Selected Bone を選択します。

      たとえば、root ジョイントを選択してから、Figure ビューで Hips ノードをクリックします。

      設定が完了すると、dance1 キャラクタのマッピングは次のようになります。

      ベース(必須)(Base(Required))ボーン dance1 キャラクタのジョイント
      Hips root
      LeftUpLeg l_thigh
      LeftLeg l_knee
      LeftFoot l_foot
      RightUpLeg r_thigh
      RightLeg r_knee
      RightFoot r_foot
      Spine spine1
      LeftArm l_shoulder
      LeftForeArm l_elbow
      LeftHand l_hand
      RightArm r_shoulder
      RightForeArm r_elbow
      RightHand r_hand
      Head head
    注:

    このキャラクタでは、Reference オブジェクトをマップしていませんが、通常は Reference オブジェクトをマップすることを強くお勧めします。

    必須ボーンをすべてマップしたら、Figure ビューの確認ステータス インジケータが緑に変わります(確認ステータスも参照)。

    ヒント:

    独自のキャラクタをセットアップするときに HIK の命名規則に従って名前を付けたジョイントを使用した場合は、名前のマッチング(Name Matching)アイコンをクリックして HIK 命名テンプレートを適用し、キャラクタ化ツール(Characterization Tool)でキャラクタのジョイントを自動的に一致させることができます。DanceSource キャラクタを選択して名前のマッチングをクリックした場合、ヘッド ジョイントのみが一致させられます。これはヘッドが命名規則に一致する唯一のジョイントであるためです。

  9. ロック アイコンをクリックします。

    これで、ベース(必須)ジョイントのマップが完了し、キャラクタ定義は有効と見なされ、ロック可能になります。

関連項目

ターゲット キャラクタをセットアップする

ターゲット キャラクタをセットアップするには

  1. スケルトン ジェネレータ(Skeleton Generator)ウィンドウ(スケルトン > HumanIK > スケルトン ジェネレータ(Skeleton > HumanIK > Skeleton Generator))を開きます。
  2. 新規アイコンをクリックして新しい HIK キャラクタ定義とデフォルト スケルトンを作成し、をクリックします。

    調整が不要なため、この新しいキャラクタ定義はただちにロックできます。このキャラクタが、リターゲットしたアニメーションを受信するターゲット キャラクタになります。

    スケルトンがシーンに表示されます。ハイパーグラフ(Hypergraph)に切り替えて HIK ジョイントのデフォルトの命名規則を確認することもできます。この例では、新しい HIK キャラクタには Character2 という名前が付けられます。

  3. > スケルトン > 名前の変更(Skeleton > Rename)を選択して、キャラクタの名前を DanceTarget に変更します。

    これで 2 番目の HIK キャラクタ セットアップが完了し、リターゲットされたアニメーションを受け入れる準備が整いました。

ソース キャラクタからターゲット キャラクタにリターゲットする

ソース キャラクタからターゲット キャラクタにリターゲットするには

  1. キャラクタ コントロール(Character Controls)スケルトン > HumanIK > キャラクタ コントロール(Skeleton > HumanIK > Character Controls))を開きます。
  2. カレント キャラクタ(Current character)メニューで、ターゲット キャラクタ(DanceTarget)を選択します。
  3. > ソース > DanceSource(Source > DanceSource)を選択します

    (シーンで使用可能なすべての HIK キャラクタがソース(Source)メニューに自動的に表示されます)。

    ターゲット キャラクタ(スケルトン)がソース キャラクタにスナップし、リターゲットされたアニメーションを含む新しいレイヤがアニメーション レイヤ エディタ(Animation Layer Editor)に追加されます。 このレイヤは、デフォルトでは RetargetLayer という名前になります。

  4. > コントロール リグ > 新しいアニメーション レイヤへ追加(Control Rig > Add to new anim layer)を選択して、ターゲット キャラクタのコントロール リグ オブジェクトを新しいアニメーション レイヤに追加します。
    注:コントロール リグを既存のアニメーション レイヤ(RetargetLayer など)に追加するには、アニメーション レイヤ エディタ(Animation Layer Editor)でレイヤを選択してから、キャラクタ コントロール(Character Controls) > コントロール リグ > アニメーション レイヤへ追加(Control Rig > Add to animLayer) <レイヤ名> を選択します。
  5. アニメーション レイヤ エディタ(Animation Layer Editor)で、新しいレイヤの名前を ControlRigLayer に変更します。
    注: アニメーション レイヤ エディタ(Animation Layer Editor)には、キャラクタ コントロール(Character Controls)の側面にあるタブを使用してアクセスできます。チャンネル ボックス/レイヤ エディタ(Channel Box/Layer Editor)パネルに切り替えて、下部のアニメーション(Anim)タブを選択します。
  6. シーンを再生して、ターゲット キャラクタに適用したリターゲットされたアニメーションを表示します。
注:

Maya のアニメーション レイヤの詳細については、アニメーション レイヤの概要レイヤ化されたアニメーションとはを参照してください。

リターゲットされたアニメーションの上位にキーを設定する

リターゲットされたアニメーションの上位にキーを設定するには

  1. 以下の手順用にコントロール リグを準備するには、キャラクタ コントロール(Character Controls)で左足首と右足首のエフェクタを選択し、移動達成度(Reach Translation)の値を 0 に設定します。

    デフォルトでは、エフェクタの達成度(Reach)はすべてオンになっていますが、この設定では次の手順で必要なポーズにすることができません。

  2. フレーム 32 に移動し、DanceTarget のコントロール リグのヒップ エフェクタを選択します。

    これはキャラクタがジャンプする直前のフレームです。

  3. ControlRigLayer レイヤがアニメーション レイヤ エディタ(Animation Layer Editor)で選択されていることを確認してから、S キーを押してキーを設定します。

    ControlRigLayer にキーが設定されます。

  4. キャラクタがジャンプの一番高い位置にあるフレーム 40 に進みます。ここで次の操作を行います。
    • DanceTarget キャラクタを Y 軸方向のより高い位置に移動します(ヒップのエフェクタを選択し、移動ツールを使用してキャラクタ全体を高い位置に移動します)。
    • キーを設定します。
  5. フレーム 50 に進み、アニメーション レイヤ エディタ(Animation Layer Editor)でゼロ キー(Zero Key)アイコンをクリックします。

    これにより、ヒップ エフェクタの移動値をソースアニメーションに合わせて 0 に設定し、キーが設定されます。

  6. アニメーションを再生します。

    DanceTarget キャラクタがフレーム 32 と 50 の間で高くジャンプするようになりました。

リターゲットされたアニメーションを IK で変更する

リターゲットされたアニメーションを IK エフェクタで調整するには

  1. フレーム 1 に進み、キャラクタ コントロール(Character Controls)で DanceTarget キャラクタの左手首エフェクタを選択します。
  2. HumanIK コントロール(HumanIK Controls) で、エフェクタの移動達成度(Reach Translation)の値を 1 に設定します。

    移動達成度を 1 に設定すると、エフェクタがフル IK ソルビングを使用するように設定されます。

  3. 手首エフェクタの位置を調整し、ソース キャラクタの手首からわずかにオフセットしてからキーを設定します。

    ダンス アニメーションを再生すると、ターゲット キャラクタはリターゲットしたアニメーションに追従し、手首がソース キャラクタからわずかにオフセットしています。

    同様の手順を、たとえばソース キャラクタとターゲット キャラクタのサイズの不一致により、リターゲットしたアニメーションの再生中にターゲット キャラクタの腕が胴体を貫通するような場合に使用できます。移動達成度(Reach Translation)を 1 に設定してから腕のエフェクタにキー設定すると、ソース キャラクタとターゲット キャラクタの腕のアニメーションアニメーション間にわずかなオフセットを作成できます。

関連項目