0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[UE5]StateTreeを勉強する クイックスタートガイドを見る(3)

Posted at

https://dev.epicgames.com/documentation/ja-jp/unreal-engine/statetree-quick-start-guide
前回(6項まで)は止まった的が壊せるだけだったが、周回するコースを設定して動く的に変えるのが今回の目的である。

スプラインパスの準備と設置

image.png
書いてある通りにやればよく、補足するような内容もないので割愛する。ちなみに、地面や壁にめり込むようなパスも設定しても問題なく動くようだ。

State Tree Evaluator

Evaluatorは評価者の意。 State Tree Evaluatorはステートツリーで使うパラメータを登録する用途で使う。今回は設置したスプラインパスを探してStateTree側から参照できるようにする。
image.png
STE_GetSplineのOutputに探してきたSplineActorを置く。設定の仕方はContextと同じ。

ST_ShootingTargetのEvaluatorsに設定することでタスクでSplineActorを取得できる。
image.png
image.png
ここでセットしたStateTreeEvaluatorはStateTreeが動いている最中は常駐しているため、Tick処理に重い処理を書かないようにしたい。(このサンプルはStateTree起動時イベントのみ記述があるため問題ない)

MoveAlongSplineタスクの内容

Evaluatorsから受け取ったスプラインパスに沿ってActorを動かすのがこのタスク。ガイドには何にも説明がないので補足しておく。
image.png
Distanceはスプラインパスに沿って動いた距離、MovementSpeedは動かす速度を指定している。

image.png
処理冒頭はスプラインパスの起点からDistance分進んだ座標にActorを移動している。Get Location at Distance Along SplineのCoodinate SpaceがLocalになっていると意図した動作にならないため注意。

image.png
この後はDistanceがスプラインパスの全長を超えていないかを確認。このタスクは1周すると完了扱いになる。

image.png
完了しない場合はMovementSpeed分Distanceを加算する。よってMovementSpeedはフレームごとに進む距離を指す。fpsの変動があるとActorの動く速度に変動がでる。(つまり、あんまりいい作りではない)
完了する場合はDistanceをリセットしてタスクを終わらせる。

これでクイックスタートガイドは完了になる。今後も他の公式ガイドについても触れつつ、StateTreeを深堀していく。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?