主な新機能
アクティブノードのライブ追跡
プレイ中のアクティブノードを自動追跡する機能を追加しました。
階層のライブ追跡により、子グラフが開始した場合に選択グラフを子グラフに自動的に変更できます。
挙動の挿入
「挙動挿入」ボタンを押すことで、その位置に挙動を追加できるようになりました。
挙動のドラッグ移動
挙動をドラッグして別ノードへ移動できるようになりました。
また、Ctrl(Win) / option(Mac)を押しながらドロップすることでコピーになります。
BehaviourTreeの挙動を置き換え
既存のコンポジットやアクションの挙動を置き換えられるようになりました。
更新内容
追加
ArborEditor
- Calculatorの右クリックメニューに「スクリプト編集」追加。
- グループノードの色変更追加。
- 遷移ラインの右クリックメニューに「設定」追加。
- 挙動をInspectorにドラッグ&ドロップできるように対応。
- 挙動を別ノードにドラッグ&ドロップできるように対応。
- Ctrl+ドロップ(Macではoption+ドロップ)でコピー。
- 挙動挿入ボタン追加。
- ノード内の挙動の展開と折りたたみ追加。
- ノードの右クリックメニュー
- グラフの右クリックメニュー(選択中ノードが対象)
- ツールバー(全てのノードが対象)
- プレイ中のアクティブノード追跡
- ツールバーの「ライブ追跡」トグルで切り替え
- ArborEditorの設定項目追加
- ドッキングして開く : ArborEditorウィンドウを開いたときにSceneViewとドッキングするか設定
- マウスホイールの挙動 : ズームするかスクロールするかを設定(Unity 2017.3以降)
- 階層のライブ追跡 : ライブ追跡をする際、子グラフに自動的に切り替わるか設定
- ドラッグ中にマウスオーバーすると自動スクロールするエリアの表示を追加。
Behaviour Tree
- コンポジットノードの右クリックメニューに「コンポジット置き換え」追加。
- アクションノードの右クリックメニューに「アクション置き換え」追加。
Parameter Container
- VariableスクリプトのテンプレートにFlexibleFieldのコンストラクタや型変換追加。
組み込み挙動
- Tween系挙動に現在値から指定した値までの変化モードを追加。
(これに伴い、RelativeフィールドをTweenMoveTypeフィールドに変更)- TweenPosition
- TweenRotation
- TweenScale
- TweenRigidbodyPosition
- TweenRigidbodyRotation
- TweenRigidbody2DPosition
- TweenRigidbody2DRotation
- TweenTextureOffset
- TweenCanvasGroupAlpha
- UITweenPosition
- UITweenSize
- TweenColorSimple追加。
- UITweenColorSimple追加。
- TweenTextureScale追加。
- TweenMaterialFloat追加。
- TweenMaterialVector2追加。
- TweenTimeScale追加。
- TweenBlendShapeWeight追加。
組み込み演算ノード
- Random.Value追加。
- Random.InsideUnitCircle追加。
- Random.InsideUnitSphere追加。
- Random.OnUnitSphere追加。
- Random.Rotation追加。
- Random.RotationUniform追加。
- Random.RangeInt追加。
- Random.RangeFloat追加。
- Random.Bool追加。
- Random.RangeVector2追加。
- Random.RangeVector3追加。
- Random.RangeQuaternion追加。
- Random.RangeColor追加。
- Random.RangeColorSimple追加。
- Random.SelectString追加。
- Random.SelectGameObject追加。
- Random.SelectComponent追加。
組み込みコンポジット
- RandomExecutor追加。
- RandomSelector追加。
- RandomSequencer追加。
組み込みVariable
- Gradient追加。
- AnimationCurve追加。
スクリプト
- ClassTypeConstraint属性を使用できるクラスを追加。
- AnyParameterReference
- ComponentParameterReference
- InputSlotComponent
- InputSlotUnityObject
- InputSlotAny
- FlexibleComponent
- ClassGenericArgumentAttribute追加。
- ParameterContainerにTryGetIntメソッドなどを追加。
- ParameterContainerにパラメータがない場合のデフォルト値を指定できるGetIntメソッドなどを追加。
- Quaternionをオイラー角で編集できるようにするEulerAnglesAtribute追加。
- ParameterのQuaternionをEulerAnglesに対応。
- FlexibleQuaternionをEulerAnglesに対応。
- Variableの追加メニュー名を指定するAddVariableMenu属性追加。
- State.IndexOfBehaviourメソッド追加。
- NodeBehaviourListにIndexOfメソッド追加。
- FlexiblePrimitiveTypeを使うクラスの基本クラスFlexiblePrimitiveBase追加。
- ConstantRangeAttribute追加(Range属性のFlexibleField版)
- FlexibleInt, FlexibleFloatに対応。
- 各DataSlot固有のフィールドを隠すHideSlotFields属性追加
- 主にOutputSlotComponent、OutputSlotUnitObjectのTypeフィールドを隠すのに使用する。
- AgentControllerに各フィールドにget/setアクセスするプロパティ追加。
- agent
- animator
- movingParameter
- movingSpeedThreshold
- speedParameter
- isDivAgentSpeed
- speedDampTime
- movementType
- movementDivValue
- movementXParameter
- movementXDampTime
- movementYParameter
- movementYDampTime
- movementZParameter
- movementZDampTime
- turnParameter
- turnType
- turnDampTime
- CompositeBehaviouorに拡張用メソッド追加
- GetBeginIndex
- GetNextIndex
- GetInterruptIndex
- DecoratorにisRevaluationプロパティ追加。
変更
ArborEditor
- ステートのリルートノードを作成した時、ラインの色を引き継ぐように変更。
- FlexiblePrimitiveType.Randomを使用しているCalculatorは常に再計算するように変更。
- 挙動をドラッグ中に自動スクロールするように変更。
Behaviour Tree
- デコレータの表示位置をメイン挙動の上に変更。
Parameter Container
- 値のラベルを表示するように変更。
AgentController
- Animatorを指定しない場合、パラメータ名をTextFieldで編集できるように変更。
- (AnimatorParameterReferenceも同様に対応)
組み込み挙動
- いくつかの組み込み挙動のフィールドをFlexibleFieldに変更。
- TweenBase : Duration, Curve, UseRealtime, RepeatUntilTransition
- TweenColor : Gradient
- TweenTextureOffset : PropertyName
- UITweenColor : Gradient
- LoadLevel : LevelName
- BroadcastTrigger : Message
- SendTrigger : Target, Message
- SendTriggerGameObject : Message
- SendTriggerUpwards : Message
- TriggerTransition : Message
- Material変更する挙動をMaterialPropertyBlockを使用する様に変更。
- TweenColor
- TweenTextureOffset
- Tween系の各フィールドをステート開始時にキャッシュするように変更。
組み込み演算ノード
- AddBehaviourMenuとタイトル名が一致するように変更。
組み込みデコレータ
- 時間経過プログレスバーを再評価対象の時のみ表示するように変更。
- Cooldown
- TimeLimit
スクリプト
- ComponentParameterReferenceにParameter.Type.Component以外のコンポーネントパラメータを指定できるように変更。
- CalculatorSlotをDataSlotにリネーム。
- CalculatorBranchをDataBranchにリネーム。
- CalculatorBranchRerouteNodeをDataBranchRerouteNodeにリネーム。
- FlexibleType.CalculatorをDataSlotにリネーム。
- FlexiblePrimitiveType.CalculatorをDataSlotにリネーム。
- DataBranch.isVisibleをshowDataValueにリネーム。
廃止
スクリプト
- booとjavascriptのスクリプト作成を廃止。
- InputSlotAny(System.Type)コンストラクタを廃止。
- OutputSlotAny(System.Type)コンストラクタを廃止。
- AnyParameterReference.parameterTypeを廃止。
- AnyParameterReference(System.Type)コンストラクタを廃止。
- ParameterContainerの古いGetIntメソッドなどを廃止。
修正
ArborEditor
- BehaviourTreeを選択している時、ツールバーのデバッグメニューの一番下にセパレータが表示されていたのを修正。
- データ値表示切替メニューの文言修正。
- abstractの挙動クラスが挙動追加ウィンドウに表示されてしまうのを修正。
- 矩形選択ドラッグ中に自動スクロールした時に、矩形を更新するように修正。
既知の不具合
- 挙動をドラッグした後に挙動挿入すると一つ前に挿入されてしまう。
- BehaviourTreeのコンポジットノードとアクションノードの共通メニュー項目が表示されない。
アセットストア
更新手順
Arborをアップデートする際は以下の手順に従ってください。
- 更新前に必ずプロジェクトのバックアップを取ってください。
- 既存のシーンを開いている場合は、メニューの「File / New Scene」からシーンを新規作成しておきます。
- Arbor Editorウィンドウを開いている場合は一旦閉じておきます。
- 既にインポートされているArborフォルダを削除。
- Arborの新バージョンをインポート。