アビリティ タスク

アビリティ タスク クラスの概要

アビリティ タスク (C++ クラス UAbilityTask) は、一般的なゲームプレイ タスク クラスを、ゲームプレイ アビリティと動作させるために特化させたものです。ゲームプレイ アビリティ システム を使用するゲームには、通常、ユニークなゲームプレイの特徴を実装する様々なカスタム アビリティ タスクがあります。ゲームプレイ アビリティの実行中、非同期な処理を行い (C++ ネイティブコード中の) デリゲート を呼び出すか、 1 つ以上の (ブループリントの) 出力実行ピンを移動することにより、実行フローを変更することができます。これによりアビリティは、複数フレームにまたがった実行と、同一フレーム内でいくつかの異なる関数を実行することができます。大部分のアビリティ タスクには即時開始する実行ピンがあり、タスク開始後にブループリントの実行を継続させることができます。くわえて、遅延の後や、ある特定のイベント発生の有無に応じて開始するタスク特有のピンもしばしば存在します。

アビリティ タスクは EndTask 関数を呼び出すことで自己終了できます。または、アビリティ タスクを実行したゲームプレイ アビリティの終了時に自動的に終了するまで待たせることができます。これにより、実在しないプロセスが CPU サイクルとメモリを浪費することを効率よく防ぎます。たとえば、あるアビリティ タスク が魔法をかけるアニメーションを見せる一方でもう 1 つのタスクがプレイヤーのエイムポイントで照準を合わせているとします。ゲームプレイ アビリティは、プレイヤーが魔法をかけるコンファーム インプットをヒットするか、魔法の確認をすることなくアニメーションが終わるのを待ってから終了することができます。アビリティ タスクはいつでも自己終了できますが、最低でもメインのアビリティの終了時にアビリティ タスクが終了することを保証します。

アビリティタスクはネットワーク越しに互いを直接更新し合うことはありませんが、ネットワーク環境でも非ネットワーク環境でも使用できるように設計されています。アビリティ タスクは、間接的に同期を維持します。(レプリケートを行う) ゲームプレイ アビリティによって生成され、プレイヤー入力やネットワーク化した変数などのレプリケートされた情報を使用して実行フローを決定するためです。

SampleAbilityTaskBP.png

ブループリントで実装した近接戦のゲームプレイ アビリティ中央の「 Play Montage and Wait for Event 」アビリティ タスクはこのアクション RPG サンプルの一部です。

UE4 プロジェクトでの設定方法については 「 ARPG での接近戦アビリティ」 をご確認ください。

このページは Unreal Engine の前のバージョン用です。現在リリースされている Unreal Engine 5.3 に対して更新は行われていません。
Unreal Engine のドキュメントを改善するために協力をお願いします!どのような改善を望んでいるかご意見をお聞かせください。
調査に参加する
キャンセル