ActionBehaviourのカスタマイズ


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

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

ActionBehaviourのスクリプトを作成し、行いたい処理を記述することでオリジナルのアクションを追加できます。

ActionBehaviourスクリプトファイルの作成

  • Projectウィンドウから作成したい場所で右クリック。
  • 右クリックメニューから、「Create > Arbor > BehaviourTree > ActionBehaviour C# Script」を選択。
  • ファイル名を入力して決定

呼び出される関数

作成したActionBehaviourをBehaviourTreeグラフに追加すると、スクリプトの各関数が呼びだされるようになります。

  • OnAwake
    初めてアクションノードがアクティブになった時に呼ばれます。
  • OnStart
    アクションノードがアクティブになった時に呼ばれます。
  • OnExecute
    アクションノードが実行される時に呼ばれます。
    実行タイミングについては、BehaviourTreeのUpdateSettingsとExecutionSettingsを参照してください。
    http://arbor-docs.caitsithware.com/ja/components/behaviourtree.html
  • OnAbort
    ノードがDecoratorにより中断する時に呼ばれます。
  • OnEnd
    アクションノードが終了するときに呼ばれます。

呼び出し順

  • OnEnableとOnDisable以外のMonoBehaviourのコールバックメソッドも使用できますが、Start()はOnExecute()の後に呼ばれてしまうため注意してください。

変数の宣言

作成したスクリプトにpublicもしくはSerializedField属性をつけたフィールドを宣言することでArbor Editorで編集可能になります。

using UnityEngine;
using System.Collections;
using System.Collections.Generic;
using Arbor;
using Arbor.BehaviourTree;

[AddComponentMenu("")]
public class TestActionBehaviour : ActionBehaviour {
	public string myName;
	// 略
}

また、StateBehaviourと同様にCalculatorSlotやFlexibleクラスも使用できます。

実行の終了

OnExecuteメソッド内でFinishExecute(bool result)を呼び出すことで終了させられます。

if (Input.GetKey(KeyCode.Space) )
{
	FinishExecute(true);
}