ビヘイビアツリーの使い方


こちらはArbor 3.2.4以前のドキュメントです。

最新ドキュメントはArbor Documentationをご覧ください。

BehaviourTreeコンポーネントの追加

ビヘイビアツリーを使用するにはBehaviourTreeコンポーネントが必要です。

BehaviourTreeコンポーネントの追加には以下2つの方法があります。

BehaviourTreeコンポーネントが付いたGameObjectの作成

  • HierarchyウィンドウのCreateボタンをクリックするかウィンドウ内を右クリック
  • Arbor/BehaviourTreeを選択
GIF

既にあるGameObjectにBehaviourTreeコンポーネントを追加

  • HierarchyウィンドウでBehaviourTreeを付けたいGameObjectを選択
  • Inspectorウィンドウの”Add Component”ボタンをクリック
  • Arbor/BehaviourTreeを選択。
GIF

Arbor EditorウィンドウでBehaviourTreeグラフを開く

BehaviourTreeを編集するにはArbor EditorウィンドウでBehaviourTreeグラフを開く必要があります。

  • HierarchyウィンドウでBehaviourTreeコンポーネントが付いたGameObjectを選択。
  • InspectorウィンドウのBehaviourTreeコンポーネントエディタの”Open Editor”ボタンをクリック。
GIF

また、すでにArbor Editorウィンドウが開いている場合はHierarchyウィンドウでBehaviourTreeコンポーネントが付いたGameObjetを選択すると切り替わります。

コンポジットノードの作成

  • ノードを作成したいグラフの位置を右クリック
  • メニューの”コンポジット作成”を選択
  • コンポジット選択ウィンドウで作成したいコンポジットを選択。
GIF

アクションノードの作成

  • ノードを作成したいグラフの位置を右クリック
  • メニューの”アクション作成”を選択
  • アクション選択ウィンドウで作成したいアクションを選択。
GIF

アクションスクリプトの作成についてはこちら

ActionBehaviourのカスタマイズ

ノードの接続

ルートノードやコンポジットノード、アクションノードは親子関係を接続できます。

既存ノードへの接続

  • ノードの上部または下部にある接続スロットをドラッグ
  • 接続先のスロットへドロップ
GIF

ノードの新規作成して接続

  • ノードの上部または下部にある接続スロットをドラッグ
  • ノードを作成したいグラフ内の位置でドロップ
  • メニューの”コンポジット作成”か”アクション作成”を選択
  • 各種スクリプト選択メニューで作成したいスクリプトを選択
GIF

ノードの接続を切断

  • 接続を切断したい接続ライン上か接続スロットを右クリック
  • メニューの”切断”を選択
GIF

ノードの優先順位変更

同じ親を持つ兄弟同士のノードはノードの位置関係によって優先順位が決まります。

  • 優先順位を下げたい場合は、ノードをドラッグして右に移動
  • 優先順位を上げたい場合は、ノードをドラッグして左に移動
GIF

ノードの削除

  • 削除したいノードを選択
  • グラフ内の右クリックメニューから”削除”を選択、もしくはDeleteキーを押す
GIF

コンポジット置き換え

ノードの位置や接続状態などはそのままに、後からコンポジットだけ置き換えられます。

  • ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
  • 「コンポジット置き換え」を選択
  • コンポジット選択メニューからコンポジットを選択。
GIF

アクション置き換え

ノードの位置や接続状態などはそのままに、後からアクションだけ置き換えられます。

  • ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
  • 「アクション置き換え」を選択
  • アクション選択メニューからアクションを選択。
GIF

デコレータ追加

コンポジットノードかアクションノードにはデコレータが追加できます。

  • ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
  • 「デコレータ追加」を選択
  • デコレータ選択メニューから追加したいデコレータを選択。
GIF

デコレータスクリプトの作成についてはこちら

Decoratorのカスタマイズ

デコレータ挿入

任意の位置にデコレータを挿入できます。

  • ノードヘッダ部とメイン挙動の間、中央付近をマウスオーバー。
    または、挿入したい位置のデコレータ間のセパレータの中央付近をマウス―オーバー。
  • 「デコレータ挿入」ボタンをクリック
  • 「デコレータ追加」を選択
  • デコレータ選択メニューから追加したいデコレータを選択。
GIF

デコレータ削除

  • デコレータのタイトルバーの歯車アイコンをクリックするかタイトルバー部を右クリック
  • メニューの”削除”を選択
GIF

サービス追加

コンポジットノードかアクションノードにはサービスが追加できます。

  • ノードヘッダ部の歯車アイコンをクリックするかヘッダ部を右クリック
  • 「サービス追加」を選択
  • サービス選択メニューから追加したいサービスを選択。
GIF

なお、サービスには組み込みスクリプトがないため予めサービススクリプトを作成しておく必要があります。

サービススクリプトの作成についてはこちら

Serviceのカスタマイズ

サービス挿入

任意の位置にサービスを挿入できます。

  • メイン挙動とノード下部の間の中央付近をマウスオーバー。
    または、挿入したい位置のサービス間のセパレータの中央付近をマウス―オーバー。
  • 「サービス挿入」ボタンをクリック
  • 「サービス追加」を選択
  • サービス選択メニューから追加したいサービスを選択。
GIF

サービス削除

  • サービスのタイトルバーの歯車アイコンをクリックするかタイトルバー部を右クリック
  • メニューの”削除”を選択
GIF

各メニューについて

グラフのメニュー

グラフを右クリックするとメニューが表示されます。

項目 内容
コンポジット作成 コンポジットノードを作成します。
アクション作成 アクションノードを作成します。
演算ノード作成 演算ノードを作成します。
グループ作成 グループを作成します。
コメント作成 コメントを作成します。
切り取り 選択中のノードを切り取ります。
コピー 選択中のノードをコピーします。
貼り付け コピーしたノードを貼り付けます。
複製 選択中のノードを複製します。
削除 選択中のノードを削除します。
全て展開 選択中ノードの挙動を全て展開します。
全て折りたたみ 選択中ノードの挙動を全て折りたたみます。

コンポジットノードのメニュー

ノードのヘッダ部を右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
リネーム ノードの名前を変更します。
コメント表示 ノードコメント欄の表示を切り替えます。
コンポジット置き換え 他のコンポジットスクリプトに置き換えます。
デコレータ追加 デコレータを追加します。
サービス追加 サービスを追加します。
デコレータを新規貼り付け コピーしたデコレータを貼り付けます。
サービスを新規貼り付け コピーしたサービスを貼り付けます。
全て展開 ノードの挙動をすべて展開します。
全て折りたたみ ノードの挙動をすべて折りたたみます。
切り取り ノードを切り取ります。
コピー ノードをコピーします。
複製 ノードを複製します。
削除 ノードを削除します。

コンポジットのメニュー

タイトルバーを右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
コピー コンポジットをコピーします。
値を貼り付け コピーしたコンポジットの値で上書きします。
(同じ型のみ有効)
スクリプト編集 スクリプトエディタを開きます。

アクションノードのメニュー

ノードのヘッダ部を右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
リネーム ノードの名前を変更します。
コメント表示 ノードコメント欄の表示を切り替えます。
アクション置き換え 他のアクションスクリプトに置き換えます。
デコレータ追加 デコレータを追加します。
サービス追加 サービスを追加します。
デコレータを新規貼り付け コピーしたデコレータを貼り付けます。
サービスを新規貼り付け コピーしたサービスを貼り付けます。
全て展開 ノードの挙動をすべて展開します。
全て折りたたみ ノードの挙動をすべて折りたたみます。
切り取り ノードを切り取ります。
コピー ノードをコピーします。
複製 ノードを複製します。
削除 ノードを削除します。

アクションのメニュー

タイトルバーを右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
コピー コンポジットをコピーします。
値を貼り付け コピーしたコンポジットの値で上書きします。
(同じ型のみ有効)
スクリプト編集 スクリプトエディタを開きます。

デコレータのメニュー

タイトルバーを右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
上に移動 順番を上に移動します。
下に移動 順番を下に移動します。
コピー デコレータをコピーします。
値を貼り付け コピーしたデコレータの値で上書きします
(同じ型のみ有効)
削除 デコレータを削除します。
スクリプト編集 スクリプトエディタを開きます。

サービスのメニュー

タイトルバーを右クリックするか歯車アイコンをクリックするとメニューが表示されます。

項目 内容
上に移動 順番を上に移動します。
下に移動 順番を下に移動します。
コピー サービスをコピーします。
値を貼り付け コピーしたサービスの値で上書きします
(同じ型のみ有効)
削除 サービスを削除します。
スクリプト編集 スクリプトエディタを開きます。

接続ラインのメニュー

接続ライン上を右クリックすると、メニューが表示されます。

項目 内容
親ノードへ移動 親ノードの位置へスクロールします。
子ノードへ移動 子ノードの位置へスクロールします。
切断 切断します。

デバッグメニュー

ツールバーの「デバッグ」ボタンをクリックすると表示されます。

項目 内容
すべてのデータ値を表示 全てのデータラインの現在値を表示に変更します。
すべてのデータ値を非表示 全てのデータラインの現在値を非表示に変更します。