アルゴンUE4/UE5開発日記

UE4/UE5の機能やプラグインを紹介します。初心者や中級者向けになってます!!

【UE5】EnhancedInputのトリガー周りの設定

引き続き入力周りの設定をやります。

今回はトリガーの設定やモディファイヤについて、
解説していけたらと思います。
※前回は基礎や他設定などを下記記事で記載してます。

※UE5.4.4で検証しています。
※書き間違え等あればコメントください!

トリガー設定について

トリガー設定というのはインプットアクション側か、

入力インプットコンテキスト側で設定できる、

入力動作の動きを変更できる設定になります。

◆インプットアクション側での設定

インプットアクション側の設定

◆入力コンテキスト側での設定

入力コンテキスト側での設定

今回は下記EnhancedInputのアクションノードごとの動作の流れで説明します。

※前回のEnhancedInputアクションノードに合わせて説明します。

アクション動作のノード

まずは何も設定していないNoneの状態からです。
基本的な入力動作という形になっていて長押しも対応してます。
特徴としてはOngoingとCanceledは活用しないので注意です。

何も設定していない場合の動作

・Triggerd → 押し続けている最中に動作
・Started → 押したタイミングで1回動作
・Ongoing → こちらは動作しない。
・Canceled → こちらは動作しない。
・Completed → 離した時に1回動作。

タップになりますが押した瞬間のみ動作するものになります。

タップの設定

◎設定項目
・TapReleasedTimeThreshold:押して離すまでの判定
・Affected by TimeDilation:ワールド時間に合わせて入力判定が動作するか
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → タップして離したタイミングで1回動作
・Started → 押したタイミングで1回動作
・Ongoing → タップ判定待ち中押し続けている最中に動作
・Canceled → TapReleasedTimeThresholdを超えた時に動作
・Completed → Triggerd動作後に1回動作

ダウンになりますが押している間イベントが発生します。
設定した値が変化しないので注意です。

ダウンの設定

◎設定項目
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → 押し続けている最中に動作
・Started → 押したタイミングで1回だけ動作
・Ongoing → こちらは動作しない
・Canceled → こちらは動作しない
・Completed → 離した時に1回動作

パルスになりますがこちらはIntervalに指定した秒数事に、
Triggerd実行ピンが動作する仕組みになります。
実行されるピンは下記になります。

パルスの動作

◎設定項目
TriggerOnStart:オンの状態で入力時にStartedピンが動作
Interval:Trigger:イベントを発火する秒数
Trigger Limitte:入力中にイベントを何回発生させるか?(0の場合は無限)

◎入力時の動作

・Triggerd → パルスの間隔で動作
・Started → 押したタイミングで1回動作
・Ongoing → 長押し中のトリガー待ち状態時に動作
・Canceled → 離したタイミングで1回動作
・Completed → こちらは動作しない

リリース済みになりますがこちらは離した時にイベントを発生します。

リリースの設定

◎設定項目
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → 離したタイミングで1回動作
・Started → 開始したタイミング1回動作
・Ongoing → 押し続けている最中に動作
・Canceled → こちらは動作しない
・Completed → Triggerdの後に1回動作

押されるも同様にこちらは押した時にイベントを発生します。

押されるの設定

◎設定項目
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → 押してStartedの後に1回動作
・Started → 押したタイミング1回動作
・Ongoing → こちらは動作しない
・Canceled → こちらは動作しない
・Completed → 押した時にTriggerdの後に1回動作

長押しについては押し続けている間トリガーが発生します。

長押し動作

◎設定項目
・Hold Time Threshold:長押し判定までにかかる秒数
・Is One Shot:1回だけにするか押し続ける間発生するか
・Affected by TimeDilation:ワールド時間に合わせて入力判定が動作するか
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → Hold Time Thresholdの時間経過後に続けている時に動作
・Started → 押したタイミングで1回動作
・Ongoing → Hold Time Thresholdの時間経過前に押している時に動作 
・Canceled → 長押し判定前に離すと1回動作
・Completed → 長押し判定後に離した時に1回動作

長押しして離すについては押し続けて離すタイミングでトリガーが発生します。

長押しして離す

◎設定項目
・Hold Time Threshold:長押し判定までにかかる秒数
・Affected by TimeDilation:ワールド時間に合わせて入力判定が動作するか
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → Hold Time Thresholdの時間経過後に離したときに1回動作
・Started → 押したタイミングで1回動作
・Ongoing → 押し続けている最中に動作 
・Canceled → 長押し判定前に離すと発生
・Completed → Triggerdの後1回動作

ChoredActionになりますがこちらは、
指定したアクションと同時に動作させた際に動くアクションになります。
※注意点として同じ入力コンテキストに設定したアクションじゃないと動作しません。

今回はアクションを追加する必要があるのでIA_CustomBのアクションを追加します。

アクションの追加

同時押しの場合は同時押しする別のアクションと、
同時押しする側のアクションを作成する必要があります。

同時押し用のアクション

◎設定項目
・Chord Action:同時押しするものを設定
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → 同時押し続けている最中に動作
・Started → 同時押したタイミング1度だけ動作
・Ongoing → こちらは動作しない。
・Canceled → こちらは動作しない。
・Completed → 同時押しのどちらか片方離した時に1回動作。

コンボ入力になります。
こちらはまだベータ機能で指定のキー入力を設定した時に、
トリガー入力が動作するような入力になります。
追加でもう一つイベントを追加します。

アクションの追加

コンボ用に入力マッピングコンテキストの設定を変更する必要があります。
まずコンボ用に使うコンボ用のインプットアクションを設定して、
その後コンボのアクションを指定する形になるかと思います。

コンボ用の入力設定

◎設定項目
・Combo Actions:コンボ用のアクション設定
  Combo Step Action:次のコンボに繋げるために指定したアクション
  Combo Step Completion States:次のコンボをどのアクションでつなげるか
  Time to Press Key:入力受付時間
・Cancel Actions:コンボ用のアクション設定
  Cancel Action:別のアクションが動作した場合にキャンセルするアクション
  Cancellation States:キャンセルした際どのアクションでつなげるか
・ActionThreshold:入力したかどうかの判定

◎入力時の動作
・Triggerd → 次のコンボの入力が決まると実行される。
・Started → コンボの最初に指定したキーを押した時1回動作
・Ongoing → 次のコンボ入力待ち中に動作
・Canceled → Time to Presss Keyの設定時間内に入力がなかった場合1回動作
・Completed → コンボ入力が決まって離した時に1回動作

・目次に戻る

最後に

今回はトリガーの設定動作についてまとめさせていただきました。
EnhancedInputのモディファイアについては未定です。
また別で作ろうと思いますが需要というかほしいという声があれば、
作成しようと思いますのでもし要望があればコメント下さい。

・目次に戻る