Arbor 3.2.0 release


FEATURES

Active node live tracking

Added the function to automatically track the active node being played.

GIF

By tracking live hierarchies, you can also track selection graphs.

GIF

Insert Behaviour

You can now add behaviour to that position by pressing the “Insert Behaviour” button.

GIF

Drag movement of behaviour

You can now move to another node by dragging the behaviour.

GIF

In addition, it is a copy by dropping while holding down the Ctrl (Win) / option (Mac).

GIF

Replacing BehaviourTree’s behaviour

You can now replace the behaviour of existing composites and actions.

GIF

Update contents

ADDITION

ArborEditor

  • Added “Edit Script” to the right-click menu of the Calculator.
  • Added color change of group node.
  • Added “Settings” in the right-click menu of the transition line.
  • Added drag-and-drop behavior to the Inspector.
  • Added drag-and-drop behavior to another node.
    • Copy with Ctrl + Drop (Option + Drop on Mac).
  • Added insert behavior button.
  • Added expansion and collapse of behavior within the node.
    • Node right click menu
    • Graph right click menu (Selection nodes)
    • Toolbar (All nodes)
  • Added active node tracking during play.
    • Switch with the “Live Tracking” toggle on the toolbar.
  • Added setting items of ArborEditor
    • Docking Open : Set whether to dock with SceneView when the ArborEditor window is opened
    • Mouse Wheel Mode : Set whether to zoom or scroll (Unity 2017.3 or later)
    • Live Tracking Hierarchy : When “Live Tracking” is done, it is set whether to switch automatically to a child graph
  • Added display of the area to be automatically scrolled when mouse over occurs during dragging.

Behaviour Tree

  • Added “Replace Composite” to the right-click menu of the composite node.
  • Added “Replace Action” to the right-click menu of the action node.

Parameter Container

  • Added constructor and type conversion of FlexibleField to Variable script template.

Built-in Behaviour

  • Added a movement mode from the current value to the value specified for Tween behavior.
    (Along with this, change Relative field to TweenMoveType field)

    • TweenPosition
    • TweenRotation
    • TweenScale
    • TweenRigidbodyPosition
    • TweenRigidbodyRotation
    • TweenRigidbody2DPosition
    • TweenRigidbody2DRotation
    • TweenTextureOffset
    • TweenCanvasGroupAlpha
    • UITweenPosition
    • UITweenSize
  • Added TweenColorSimple.
  • Added UITweenColorSimple.
  • Added TweenTextureScale.
  • Added TweenMaterialFloat.
  • Added TweenMaterialVector2.
  • Added TweenTimeScale.
  • Added TweenBlendShapeWeight.

Built-in Calculator

  • Added Random.Value.
  • Added Random.InsideUnitCircle.
  • Added Random.InsideUnitSphere.
  • Added Random.OnUnitSphere.
  • Added Random.Rotation.
  • Added Random.RotationUniform.
  • Added Random.RangeInt.
  • Added Random.RangeFloat.
  • Added Random.Bool.
  • Added Random.RangeVector2.
  • Added Random.RangeVector3.
  • Added Random.RangeQuaternion.
  • Added Random.RangeColor.
  • Added Random.RangeColorSimple.
  • Added Random.SelectString.
  • Added Random.SelectGameObject.
  • Added Random.SelectComponent.

Built-in CompositeBehaviour

  • Added RandomExecutor.
  • Added RandomSelector.
  • Added RandomSequencer.

Built-in Variable

  • Added Gradient.
  • Added AnimationCurve.

Scripts

  • Added classes that can use ClassTypeConstraint attribute.
    • AnyParameterReference
    • ComponentParameterReference
    • InputSlotComponent
    • InputSlotUnityObject
    • InputSlotAny
    • FlexibleComponent
  • Added ClassGenericArgumentAttribute.
  • Added TryGetInt method etc. to ParameterContainer.
  • Added a GetInt method etc. that can specify the default value when there is no parameter to ParameterContainer.
  • Added EulerAnglesAtribute to enable Quaternion to be edited at Euler angles.
    • Added to Quaternion of Parameter.
    • Added to FlexibleQuaternion.
  • Added AddVariableMenu attribute to specify additional menu name of Variable.
  • Added State.IndexOfBehaviour method.
  • Added NodeBehaviourList.IndexOf method.
  • Added FlexiblePrimitiveBase class as the base class of the class that uses FlexiblePrimitiveType.
  • Added ConstantRangeAttribute (FlexibleField version of Range attribute)
    • FlexibleInt, FlexibleFloat.
  • Added HideSlotFields attribute to hide each DataSlot specific field
    • It is mainly used to hide the Type field of OutputSlotComponent and OutputSlotUnitObject.
  • Added property to get / set access to each field on AgentController.
    • agent
    • animator
    • movingParameter
    • movingSpeedThreshold
    • speedParameter
    • isDivAgentSpeed
    • speedDampTime
    • movementType
    • movementDivValue
    • movementXParameter
    • movementXDampTime
    • movementYParameter
    • movementYDampTime
    • movementZParameter
    • movementZDampTime
    • turnParameter
    • turnType
    • turnDampTime
  • Added Methods to CompositeBehaviouor
    • GetBeginIndex
    • GetNextIndex
    • GetInterruptIndex
  • Added isRevaluation property to Decorator.

CHANGES

ArborEditor

  • When creating a state rerouting node, it changed to inherit the color of the line.
  • Calculator using FlexiblePrimitiveType.Random has been changed to always recalculate.
  • Changed to auto-scroll behavior while dragging.

Behaviour Tree

  • Change the position of the decorator above the main behavior.

Parameter Container

  • Changed to show value label.

AgentController

  • When Animator is none, change the parameter name so that it can be edited with TextField.
    • (AnimatorParameterReference is changed as well)

Built-in Behaviour

  • Changed some built-in behavior fields to 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 changed behavior to use MaterialPropertyBlock.
    • TweenColor
    • TweenTextureOffset
  • Changed each field of Tween behavior to cache at state start.

Built-in Calculator

  • Changed the title name to match AddBehaviorMenu.

Built-in Decorator

  • Changed to show the time progress bar only when reevaluating.
    • Cooldown
    • TimeLimit

Scripts

  • Changed ComponentParameterReference so that it can specify component parameters other than Parameter.Type.Component.
  • Rename CalculatorSlot to DataSlot.
  • Rename CalculatorBranch to DataBranch.
  • Rename CalculatorBranchRerouteNode to DataBranchRerouteNode.
  • Rename FlexibleType.Calculator to DataSlot.
  • Rename FlexiblePrimitiveType.Calculator to DataSlot.
  • Rename DataBranch.isVisible to showDataValue.

OBSOLETES

Scripts

  • Obsolete the creation of scripts by boo and javascript.
  • Obsolete InputSlotAny(System.Type) constructor.
  • Obsolete OutputSlotAny(System.Type) constructor.
  • Obsolete AnyParameterReference.parameterType.
  • Obsolete AnyParameterReference(System.Type).
  • Obsolete ParameterContainer’s old GetInt method etc.

FIXES

ArborEditor

  • When Behavior Tree was selected, a separator was added at the bottom of the debug menu on the tool bar.
  • Fixed wording of switching menu of show data value.
  • Fixed that abstract class of behavior is enumerated in behavior addition window.
  • Fix to update rectangle when automatic scrolling during rectangle selection drag.

Known bug

  • If you insert a behavior after dragging a behavior, it will be inserted one before.
  • Common menu items of Composite node and Action node of Behavior tree are not displayed.

Asset Store

Update procedure

Please follow the procedure below when updating Arbor.

  1. Please be sure to make a backup of the project before the update.
  2. If you are opening an existing scene, create a new scene from “File / New Scene” in the menu.
  3. If you are opening the Arbor Editor window, close it once.
  4. Already Removed Arbor folder that have been imported.
  5. Import a new version of Arbor.