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

# BehaviourTreeコンポーネントの追加

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

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

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

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

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

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

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

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

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

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

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

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

# アクションノードの作成

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

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

スクリプティング : ActionBehaviour

# ノードの接続

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

## 既存ノードへの接続

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

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

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

# ノードの接続を切断

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

# ノードの優先順位変更

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

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

# ノードの削除

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

# コンポジット置き換え

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

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

# アクション置き換え

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

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

# デコレータ追加

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

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

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

スクリプティング : Decorator

# デコレータ挿入

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

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

# デコレータ削除

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

# サービス追加

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

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

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

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

スクリプティング : Service

# サービス挿入

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

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

# サービス削除

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