ABP内でのTransitionルール内のノードについて

アニメーションブループリント内のステートマシン、その中のトランジッションルールについて質問です。

画像を添付致しますので、こちらを見て頂けると幸いです。

質問1

ThirdPersonテンプレートのABP内の青いノードは何者なのか??
Relevantノードと何が違うのか?

質問2

こちらが本題なのですが、自前のABPだとRelevant nodeが検索で出ません。

なにか検索でヒットするには事前の条件か何かあるのでしょうか?

お手数ですがお助け頂けると幸いです。(特に質問2だけでも・・・!!!)

よろしくお願い致します。

初めまして。
実は私も同じ問題で以前大いに悩んだのですが…ThirdPersonテンプレートの仕様が古いため、過去にあったノードが出てくる、が正解ではないか?と思います。

この「Time Remaining~」系のノードはアニメーションの残り時間を遷移ルールにするためのものですが、テンプレにある(過去の)それは、アニメーションアセットそのものに紐付けられますので、アニメーションを入れ替えた場合には効力を失いエラーを引き起こしてしまいます。
そのため、現状の「Time RemainingRelevant~」系のノードでは「そのステートが再生されはじめてから」という定義に変更されていて、中身のアニメーションアセットを交換したとしてもエラーを引き起こさない汎用性を高めたものになっています。

私自身、まだUE4について深く習熟したわけではありませんので細かな間違いはあるかも知れませんが、多数のアニメーションBPを作成してみて、圧倒的にステートの再生時間を計ってくれるノードのほうが便利です。
ですので、質問者さんへのお答えとしては、今はもっと便利なノードができたので、昔のノードは検索しても出てこない、ということでよろしいのではないかと思います。

お初にお目にかかります。

ご返信ありがとうございます。
古いアセットデータに紐付けられたノードなんですね。

ただこの場合、バージョン4.13で、他に代用する方法はあるでしょうか?

色々ノードはくまなく探したのですが、、上手い方法が見当たりません。。。

やりたい事は、「アニメーションの再生が終了、または、ほぼ終了に近くまで再生したら、次のステートに移る」

というシンプルなものです。

このようなステートを想定しています。

歩くモーションstate(loop)に移行する前に、ワンクッション挨拶state(not loop)を入れたい、のようなステートです。

挨拶stateが再生終了により、自動で次のステートに移行したいと考えています。

何かヒント頂けるととても助かります。

ThirdPersonテンプレートにあるような「Jump」ステートのアニメーションが残り10%になったら次の「Jump Loop」に遷移、というようなトランジジョンでしたら、

↑上記UE4公式ドキュメントにあります
Get Relevant Anim Time Remaining Fraction(ステート名)
※この例だと「Jump」が指定されます。

これで、先にお答えしたとおり「そのステートの再生時間(率)」を取得できます。
過去のノードですと、これが特定のアニメーションに紐付けられるものだったのが、現状では中身のアニメーションに関わらす、そのステートの再生時間に応じて遷移させる、ということです。

ご返信ありがとうございます!

実際に試してみましたが、Get Relevant Anim Time Remaining Fraction(ステート名)で希望通りの動作がしました。

また個別のアニメよりもステートの残り時間の方が、メンテがとても楽だというのも理解できました!

ただ「質問2」の「Relevant nodeが出ない」件につきましては、「いつのまにか解決」してました。

正直を言って謎です。

特別な事をしたつもりは何も無いのですが、今日プロジェクトファイルを立ち上げてみると普通に検索ヒットしました。

もし同様にRelevant nodeが出ない方がいらっしゃいましたら、エディターやOSの再起動をオススメします。

原因は不明ですが、たまに表示されない現象があります。

英語のAnserHubにも「表示されないんだけど?」という質問がチラホラあったので、このあたりは根本的に不安定な挙動なのかもしれません。

自己レスします。

上記の「Relevant node」が出ない問題ですが、出現条件が判明しましたので共有致します。

条件はとてもシンプルです。

出したいアニメーションを、AnimBluePrintのFinalPoseに接続後に、コンパイルする、です。

つまりFinalPoseに接続しないで仮組をしようしていると、いつまで経ってもRelevantNodeは出ません。

そのため仮組であっても、常にFinalPoseへの接続を保つようにすると良いかと思います。

以上情報共有でした。