キャラクター間でアニメーションを共有したい

  • UE5でキャラクター間のアニメーションを共有した時のまとめです。
     ※ゲームメーカーズさんの記事を参考に箇条書きに直しました

  • この文章内では、アニメーションを持っているモデルをA、共有させる側のモデルをBとしてます。

  • 目次から必要な項目に飛んでください。



共有する方法は2つある

●互換スケルトンを使う
●IKリターゲッタを使う
※互換スケルトンは「モデルのサイズ、ボーンの名前と構造が同じ場合のみ」共有可能


互換スケルトンを使うための手順

  1. スケルタルメッシュBのスケルトンをWクリックして開く

  2. 上メニューから「ウィンドウ」→「アセット詳細」をクリック

  3. 「Compatible Skeltons」の欄の+ボタンを押してメニューを追加

  4. ドロップダウンメニューからAのスケルトンを選択


IKリターゲッタを使うための5つの準備

  1. IKリグを作成する

  2. リターゲットチェーンを設定する

  3. ソルバを作成する

  4. IK目標を設定する

  5. IKリターゲッタを作る+アニメーションの共有


IKリグを作成する

  1. コンテンツドロワーの何もないところで右クリック。「アニメーション」→「IKリグ」をクリック

  2. 表示されたスケルタルメッシュの一覧から「スケルタルメッシュA(共有したいアニメーションを持っているモデル側)」を選択



リターゲットチェーンの設定

  1.   IKリグをWクリックして開く

  2. 左の階層パネルから「Pelvis」(もしくは同じ位置のボーン)を右クリック

  3. 「リターゲッティングルートの設定」をクリック

  4. 左側のウィンドウ「階層パネル」から主要な関節ごとで、Ctrlキーを押しながらボーンを複数選択して 、右クリック。

  5. 「選択ボーンからリターゲティングチェーンを新規作成」をクリック(Spine , RightArm , LeftArm , Neck , Head , RightLeg , LeftLeg の7種類作成。選択するボーンの詳細はホームページ参照))


ソルバの作成

  1.   IKリグウィンドウ左下の「ソルバスタック」タブから「新規ソルバを追加」をクリック

  2. フルボディIKを追加しクリック

  3. 「フルボディIK」が選択されている状態で、階層のPelvisを右クリック

  4. 「選択されているソルバにルートボーンを設定」をクリック


IK目標の設定

  1. リターゲットチェーンで設定したRightArm , LeftArm , LeftLeg , RightLeg の先端のボーン(終了ボーン)でそれぞれ右クリック

  2. 「IK目標の新規作成」をクリック(プレビューされてるモデルのボーンの位置に黄色い四角ができる)

  3. 右パネルのIKリターゲティングで右端のドロップダウンメニューからIK目標を設定
    ※【IK目標→ソルバの作成】の順番で行った場合は、階層の作成したIK目標を右クリックして、「選択されているソルバに目標をつなぐ」をクリック

  4. プレビュー画面の黄色い四角を動かして体が引っ張られるかチェック


IKリターゲットを作る+アニメーションの共有

  1. コンテンツドロワーの何もないところで右クリック。「アニメーション」→「IKリターゲッタ」をクリック

  2. 選択ウィンドウからAのIKリグを選択(=共有したいアニメーションを持つモデルのIKリグ)

  3. 作成したIKリターゲッタをWクリックで開く

  4. 右側詳細ウィンドウで「Target IKRig Asset」にBのIKリグをセット(共有するモデルが同じIKリグの場合は同じIKリグを設定)

  5. 「Target Preview Mesh」にBのスケルタルメッシュを選択(プレビュー画面でAとBのモデルが横並びに表示される)

  6. 上のメニュー画面から「ポーズの編集」をクリック。AとBのモデルが同じポーズになるように修正し。「ポーズの編集」をクリックして解除

  7. 右下のアセットブラウザで共有したいアニメーションをWクリックして再生。同じ動きをしてるかチェック

  8. 動きがおかしい、モデルがバラバラになる場合は右下「チェーンマッピング」タブをクリックして、ターゲットチェーンとソースチェーンが正しいか確認。設定してないものはNoneに設定。

  9. アセットブラウザの「選択したアニメーションをエクスポート」をクリック

  10. アニメーションを保存したいフォルダを選択してOKをクリック


この記事が気に入ったらサポートをしてみませんか?