UE4.8.1

ビヘイビアツリー

はじめに

ビヘイビアツリー内で、処理を分岐したりする。

Selector

  • 子ノードが「FinishExecute」ノードで「Success」でtrueを返すと評価終了。子ノードの評価はそこで終了する。「Selector」ノード自体はtrueを返す。
  • falseを返すと、次の子ノードの評価に遷移する。
  • 子ノード全てがfalseを返すと、「Selector」ノード自体がfalseを返す。
  • 「or」演算なイメージ

ue4-behavior_composites_selector_01.png

  • 処理順(ノード右下の赤字番号)
    1 - Root



    3 - falseを返す。次の兄弟ノードに移動する。



    5 - trueを返す。trueなのでここで評価終了。兄弟ノードには移動しない。

    (4:子ノードがtrueを返してきたので、4の「Selector」はtrueを返す)

    1の「Root」に戻る。

Sequence

  • 子ノードが「FinishExecute」ノードで「Success」でtrueを返すと、次のコードに評価が移る。
  • falseを返すと子ノードの評価を終了する。Sequenceノード自体はfalseを返す。
  • 子ノード全てがtrueを返すと、Sequenceノード自体はtrueを返す。
  • 「and」演算なイメージ

ue4-behavior_composites_sequence_01.png

  • 処理順(ノード右下の赤字番号)
    1 - Root



    3 - trueを返す。次の兄弟ノードに移動する。



    5 - falseを返す。falseなのでここで評価終了。兄弟ノードには移動しない。

    (4:子ノード(5)がfalseを返してきたので、4の「Sequence」はfalseを返す子ノードの評価終了)

    (2:子ノード(4)がfalseを返してきたので、2の「Sequence」はfalseを返す。子ノードの評価終了)

    1の「Root」に戻る。

例題

ue4-behavior_composites_ex_01.png

  • 処理順(ノード右下の赤字番号)
    1 - Root





    4 - trueを返す。trueなので兄弟ノードに移動。

    5 - falseを返す。falseなので兄弟の評価終了。

    (3:子ノードがfalseを返して来たので、3の「Sequence」はfalseを返す)

    (2:子ノード(3)がfalseを返して来たので、2の「Selector」は次の子ノードを評価する)



    1の「Root」に戻る。

ue4-behavior_composites_ex_02.png

  • 処理順(ノード右下の赤字番号)
    1 - Root





    4 - trueを返す。trueなので兄弟ノードに移動。

    5 - trueを返す。trueなので兄弟ノードに移動するが弟が居ないので評価終了。

    (3:子ノードが全部trueを返して来たので、3の「Sequence」はtrueを返す)

    (2:子ノード(3)がtrueを返して来たので、2の「Selector」は評価終了、trueを返す。子ノードの6は評価されない)

    1の「Root」に戻る。

    ホーム 一覧 単語検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS