UnityでBehavior TreeをビジュアルスクリプティングできるAssetであるBehavior Designerをサクッと使ってみます。
Unity2018.3.9
Behavior Designerとは?
Behavior DesignerはUnityでBehavior Treeを使うためのアセットです。
本記事ではこのアセットの使い方を紹介します。
また、Behavior TreeのTaskについての基本的な考え方は下記の記事にまとめています。
本記事の内容はこのあたりを理解していることを前提としているので、必要に応じて参照してください。
インストール~ウィンドウを開く
インストール方法は他のAssetと同様です。
AssetStoreからダウンロードしてください。
インストールが完了するとTools > Behavior Designer > Editorからウィンドウが開けます。
こんな感じのウィンドウが開かれればOKです。
Behavior Treeを作成してログ出力する
それでは簡単なBehavior Treeを作ってみます。
まずBehavior Designerのウィンドウを開いた状態で適当なGameObjectを選択します。
次に右クリック > Add Behavior Treeを選択します。
これでBehavior TreeのコンポーネントがGameObjectにアタッチされました。
次にログ出力するTaskを追加します。
右クリック > Add Task > Actions > Logを選択します。
生成されたTaskを選択し、Behavior DesignerのInspectorからテキストを適当に入力します。
これでログ出力を行うシンプルなBehavior Treeができました。
再生確認するために、BehaviorタブのStart When Enabledにチェックが入っていることを確認します。
この状態で再生すると、ログ出力が行われることが確認できます。
もう少し複雑なTreeを作る
次にもう少し複雑なBehavior Treeを作ってみます。
先ほどのLog TaskはDeleteボタンで削除しておきます。
Add Task > Composites > Sequenceを追加し、Entryに接続します。
Sequenceは子タスクを順番に実行していきます。
子タスクのうちいずれかが失敗した場合にはその時点で失敗を返します。
次にこの子タスクとしてLog Taskを追加して適当に文字列を入れておきます。
また、Conditionals > Unity > Math > Bool Comparisonも追加します。
Bool Comparisonはbool値を比較してtrueならTaskを成功とするTaskです。
とりあえず二つのbool値に同じ値を入れて成功するようにしておきます。
次にDecorators > Repeaterを追加し、Countを3に設定します。
Repeaterは子タスクを指定回数だけ実行します。
そしてこの子タスクとしてLogを追加し、文字列を適当に入力します。
これを実行すると、すべて成功し次のような結果となります。
Bool Comparisonが失敗するようにして実行すると次のように「Log 1」だけが出力されます。