UE5 「Gameplay Ability System」の「Gameplay Ability Blueprint」アセットを作成して実行する(GameplayAbility、Commit Ability、End Ability、Event Activate Ability、Event On End Ability)
「Gameplay Ability System」の「Gameplay Ability Blueprint」アセットを作成して実行する方法です。
基本的な使い方ですね。
「Gameplay Ability System」についてはこちらが参考になると思います。
・【UE4】Gameplay Ability System を使い始めたい人向けの情報
https://qiita.com/sentyaanko/items/314ee39feb62ce67b885
公式ドキュメントはこちら。
・ゲームプレイ アビリティ システム(Gameplay Ability System)
https://docs.unrealengine.com/4.27/ja/InteractiveExperiences/GameplayAbilitySystem/
今回については「Gameplay Ability」を実行できるようにするだけのシンプルな実装についてだったのですが
こちらのサイトがすごいわかりやすくシンプルな説明になっていたので参考にさせていただきました。
・【UE5】GamePlayAbilitySystemによるコンボ攻撃の実装とそれに利用する小ネタ 前編【GAS】
https://lunanelis.hatenablog.com/entry/2022/06/07/023141
まずは「Gameplay Ability Buleprint」アセットを作成します。
「ゲームプレイ(Gameplay)」の「Gameplay Ability ブループリント(Gameplay Ability Blueprint)」を選択します。

「Parent Class」は「Gameplay Ability」を選択します。

こんな感じで「Gameplay Ability Blueprint」アセットが作成されます。

作成された「Gameplay Ability Blueprint」アセットを開いてこんな感じでノードを作成します。

「Event Activate Ability」イベントに対して
「Commit Ability」「End Ability」ノードを画像のように繋ぎます。
「Commit Ability」と「End Ability」ノードについてはいまいち役割がわからないので調べ中です。
基本的に最初と最後にいれておく。ぐらいでいいのかなと思います。
「Event Activate Ability」

実行時に呼ばれるイベントです。
ここに処理を書くことになるかと思います。
「Event On End Ability」

終了時に呼ばれるイベントになります。
キャンセルされて終了した場合は「Was Cancelled」が「True」になるようです。
後始末の処理などに使うことになると思います。
「Commit Ability」

実行時の最初に呼ぶノード。
「Event Activate Ability」の直後に呼ぶことになると思います。
「End Ability」

アビリティの終了時に呼ぶノードになります。
このノードが実行されると「Event On End Ability」イベントが呼ばれます。
といった感じになります。
基本的な流れとしてはこんな感じになっていて
あとは作成したノードの「Commit Ability」と「End Ability」の間に実行したい処理を入れていくことになると思います。
■2022/11/17 追記
こういうツイートを見かけたので備忘録メモ。
基本的な使い方ですね。
「Gameplay Ability System」についてはこちらが参考になると思います。
・【UE4】Gameplay Ability System を使い始めたい人向けの情報
https://qiita.com/sentyaanko/items/314ee39feb62ce67b885
公式ドキュメントはこちら。
・ゲームプレイ アビリティ システム(Gameplay Ability System)
https://docs.unrealengine.com/4.27/ja/InteractiveExperiences/GameplayAbilitySystem/
今回については「Gameplay Ability」を実行できるようにするだけのシンプルな実装についてだったのですが
こちらのサイトがすごいわかりやすくシンプルな説明になっていたので参考にさせていただきました。
・【UE5】GamePlayAbilitySystemによるコンボ攻撃の実装とそれに利用する小ネタ 前編【GAS】
https://lunanelis.hatenablog.com/entry/2022/06/07/023141
まずは「Gameplay Ability Buleprint」アセットを作成します。
「ゲームプレイ(Gameplay)」の「Gameplay Ability ブループリント(Gameplay Ability Blueprint)」を選択します。

「Parent Class」は「Gameplay Ability」を選択します。

こんな感じで「Gameplay Ability Blueprint」アセットが作成されます。

作成された「Gameplay Ability Blueprint」アセットを開いてこんな感じでノードを作成します。

「Event Activate Ability」イベントに対して
「Commit Ability」「End Ability」ノードを画像のように繋ぎます。
「Commit Ability」と「End Ability」ノードについてはいまいち役割がわからないので調べ中です。
基本的に最初と最後にいれておく。ぐらいでいいのかなと思います。
「Event Activate Ability」

実行時に呼ばれるイベントです。
ここに処理を書くことになるかと思います。
「Event On End Ability」

終了時に呼ばれるイベントになります。
キャンセルされて終了した場合は「Was Cancelled」が「True」になるようです。
後始末の処理などに使うことになると思います。
「Commit Ability」

実行時の最初に呼ぶノード。
「Event Activate Ability」の直後に呼ぶことになると思います。
「End Ability」

アビリティの終了時に呼ぶノードになります。
このノードが実行されると「Event On End Ability」イベントが呼ばれます。
といった感じになります。
基本的な流れとしてはこんな感じになっていて
あとは作成したノードの「Commit Ability」と「End Ability」の間に実行したい処理を入れていくことになると思います。
■2022/11/17 追記
こういうツイートを見かけたので備忘録メモ。
何を継承するかは気をつけておきたいですね。#UE4Study
— 恒吉星光 (@seiko_dev) November 16, 2022
Gameplay AbilityのBPを作る時、普通にBlueprint Class作成でParentをGameplayAbilityにしても作れてしまう。
しかし専用メニューから作れば"Gameplay Ability Blueprint"という種別のAssetとなり、Asset Filterで指定できて良さげだ。
参考:https://t.co/XMPGSXulQP pic.twitter.com/AQAFYddY02
| UE5 | 10:00 | comments:0 | trackbacks:0 | TOP↑