Sub Anim Instance を使用する

他の Animation ブループリント内で Sub Animation ブループリントのインスタンスを使用する方法を説明します。

Choose your operating system:

Windows

macOS

Linux

キャラクター用にどんどん複雑な Animation ブループリントを作っていくと、他の Animation ブループリント内の Animation ブループリントの一部を再利用したくなることがあるでしょう。 ノードのネットワークを再作成する代わりに、そのネットワークを分割して独自の Animation ブループリントにして、 Sub Anim Instance を使って必要に応じてその Animation ブループリントにアクセスすることができます。

この操作ガイドでは、プレイ可能なキャラクターに影響を与えるロジックを持つ Animation ブループリントを作成し、テンプレートの Animation ブループリント内のSub Anim Instance を使ってそのロジックを呼び出す方法を説明します。

このガイドでは、 スターターコンテンツ を有効にした状態で Blueprint Third Person テンプレートを使用します。

ステップ

  1. 「Content/Mannequin/Animations」 フォルダで、 ThirdPerson_AnimBP 上で 右クリック して、 複製 し、 AltAnimBP と名前を付けます。

    SubAnimBP01.png

    この AltAnimBP は、ThirdPerson_AnimBP から呼び出される Sub Anim Instance として使用されます。

    Sub Anim Instance として使用する Animation ブループリントを作成する場合、それを組み込みたい Animmation ブループリントで使用されている Skeleton アセットと同じものを使用しなければなりません。 この例では、テンプレートの Animation ブループリントを複製しますが、 Animation ブループリントをゼロから作成する場合、スケルトンを選択する必要があります。

  2. AltAnimBP AnimGraph で、 右クリック し、 Sub-Graph Input ノードを追加します。

    SubAnimBP02.png

    これで Sub Anim Instance で In Pose が作成されて、外部ポーズ データをこの Animation ブループリントに渡すことができます。

  3. 再度 右クリック して、 FABRIK スケルタル コントロール ノードを追加します。

    SubAnimBP03.png

    この例では、IK を使ってゲームプレイ中に走るキャラクターの腕を上げます。

  4. [Details (詳細)] パネルで以下の設定を FABRIK ノードに割り当てます。

    • (As Pin) Effector Transform のチェックを外します。

    • Location 100, 0, 200 に設定します。

    • Tip Bone index_01_l に設定します。

    • Root Bone clavicale_l に設定します。

    SubAnimBP04.png

  5. グラフ内で FABRIK ノードをコピーし [Details] パネルで以下の変更を加えます。

    • Location -100, 0, 200 に設定します。

    • Tip Bone index_01_r に設定します。

    • Root Bone clavicale_r に設定します。

    SubAnimBP05.png

    これにより、左右両方のアームが確実に影響を受けるようになります。

  6. FABRIK ノードの Alpha ピン上で 右クリック し、 Effect Alpha という名前で 変数化 します。

    SubAnimBP05b.png

  7. 以下のようにノードのネットワークを再作成します ( Local to Component Component to Local のノードが自動的に作成されます)。

    SubAnimBP06.png

    Animation ブループリントを コンパイル すると、プレビュー ウィンドウ内のキャラクターが腕を上げます。

    CompliedBlueprint.png

  8. コンテンツ ブラウザ Content/Mannequin/Animations で、 ThirdPerson_AnimBP を開きます。

  9. AnimGraph で、 右クリック し、 Sub Anim Instance ノードを追加します。

    SubAnimBP07.png

    これは作成した Animation ブループリントにアクセスするために使用するノードです。

  10. Sub Anim Instance ノードの [Details] パネルで、 Instance Class AltAnimBP に設定します。

    SubAnimBP08.png

  11. EffectAlpha の隣にある Expose チェックボックスをクリックしてこのプロパティを公開します。

    SubAnimBP09.png

    プロパティをエクスポーズすることで、親の Animation ブループリントからのデータでこうしたプロパティを更新することができます。

  12. [MyBlueprint] パネルから Speed 変数をクリックしてそれを 600 で割ってから、それを Effect Alpha に代入します。

    SubAnimBP10.png

    ここではキャラクターの移動速度をある値で割って、適用するスケルタル コントロール量の間でブレンドします。

  13. コンパイル し、 エディタで再生 します。

最終結果

以下では、キャラクターの速度が増すにつれて、指定された量で割り、それを使用して Sub Anim Instance ネットワーク内で適用されるスケルタル コントロールの量を操作します。 この例では、 Sub-Graph 入力ノードを使って、結果のポーズ データを決定しますが、独自のステートマシンやロジックで Animation ブループリントを作成して、結果のポーズ データを生成することもできます。

Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
閉じる