Arbor 3.7.0 リリース


アセットストア

更新内容

追加

Arbor Editor

  • 挙動のヘルプボタンで表示するURL指定にHelpURL属性も使えるように対応。
  • 挙動にObsolete属性がついている場合、タイトルバーにDeprecatedの文言を追加するように対応。
  • ClassTypeReferenceで参照した型が見つからなくなった場合に(Missing)の文言を表示するように対応。
  • プレイ中にグラフの再生状態をグラフラベル下に表示するように対応。
  • ロゴを常に表示するモード追加。
  • NodeBehaviourの追加メニューに各型のヘルプボタンを追加。
  • ウェルカムウィンドウを追加。
  • [Unity2018.1以降]挙動のプリセット対応。
  • [Unity2018.1以降]Arbor Editorの言語設定で、UnityEditor側の言語設定を参照するモードを追加。
  • [Unity2019.3以降]Enter Play Mode SettingsのReload Domainオフに対応(Reload Sceneオフは未対応)。

ArborFSM

  • StateLinkをグラフ上にドラッグ&ドロップした際のメニューに、接続先をノードリストで選択する項目追加。
  • ツールバーの「表示 > StateLink」にStateLinkの表示の設定項目追加。
  • プレイ中にグラフが無効になった場合に、保留中の遷移と遷移先ステートを紫色で視覚化。
  • プレイ中にグラフが無効になった場合に、アクティブにならなかったStateBehaviourは紫色で視覚化。

BehaviourTree

  • 親ノードをドラッグした際に子ノードも移動するモード追加(Win: Alt+ドラッグ、Mac: option+ドラッグ)

ParameterContainer

  • パラメータに以下のタイプを追加。
    • AssetObject
    • IntList
    • LongList
    • FloatList
    • BoolList
    • StringList
    • EnumList
    • Vector2List
    • Vector3List
    • QuaternionList
    • RectList
    • BoundsList
    • ColorList
    • GameObjectList
    • ComponentList
    • AssetObjectList
    • VariableList

DataFlow

  • ツールバーに「表示 > データスロット >フレキシブルに表示」追加。
    • スロットが接続中であればノード外に表示。
    • 接続中でない場合、ドラッグしているスロットが接続可能ならノード外に表示。
  • FlexibleComponentやFlexibleGameObjectのHierarchyTypeにParentGraph追加。

ArborEvent(InvokeMethod)

  • フィールドやプロパティに値を設定できるように追加。
  • Component以外の型も指定できるように追加。
  • staticクラスも指定できるように追加。
  • 型選択ポップアップに検索フィルター追加。
  • メンバー選択ポップアップに検索フィルター追加。

組み込みStateBehaviour

  • 終了処理を行うためにグラフ停止時に遷移するためのOnGraphStopTransition追加。
  • 配列を変更する挙動を追加。
    • List.AddElement
    • List.Clear
    • List.InsertElement
    • List.RemoveAtIndex
    • List.RemoveElement
    • List.SetElement
  • SendTrigger関連にSendTriggerFlags追加。
    • SendTrigger
    • SendTriggerUpwards
    • SendTriggerGameObject
    • BroadcastTrigger
  • SetParameterに値を直接設定できるフィールド追加。
  • InstantiateGameObjectに座標を直接指定するフィールドを追加。
  • CalculatorTransitionに判定を行うタイミングを指定するフィールド追加。
  • AnimatorCrossFadeにAnimatorが既に指定ステートに遷移処理中であれば遷移させないように設定するフィールド追加。
  • AnimatorCrossFadeにAnimator側のステートが遷移完了した際に、Arbor側も遷移するStateLink追加。
  • AnimatorCrossFadeにAnimator.CrossFadeInFixedTimeを使用するフラグを追加。
  • MoveOnWaypoint関連スクリプトへ再開時に目標ポイントをクリアするフラグを追加。
    • AgentMoveOnWaypoint
    • RigidbodyMoveOnWaypoint
    • Rigidbody2DMoveOnWaypoint
    • TransfomMoveOnWaypoint

組み込みActionBehaviour

  • InvokeMethod追加。
  • SetParameterに値を直接設定できるフィールド追加。
  • InstantiateGameObjectに座標を直接指定できるタイプを追加。
  • AnimatorCrossFadeにAnimatorが既に指定ステートに遷移処理中であれば遷移させないように設定するフィールド追加。
  • AnimatorCrossFadeにAnimator側のステートが遷移完了まで待つフィールド追加。
  • AnimatorCrossFadeにAnimator側のステートが遷移成功したかどうかをチェックするフィールド追加。
  • AnimatorCrossFadeにAnimator.CrossFadeInFixedTimeを使用するフラグを追加。
  • CalcParameter追加。
  • AgentMoveOnWaypointへ再開時に目標ポイントをクリアするフラグを追加。

組み込みCalculator

  • メンバーフィールドやプロパティの値を取得しデータフローに出力する演算ノードGetValueCalculator追加。
  • 配列に関連するCalculator追加
    • NewArrayList
    • List.Contains
    • List.Count
    • List.GetElement
    • List.IndexOf
    • List.LastIndexOf
    • List.ToArrayList

組み込みVariableList

  • GradientList追加
  • AnmationCurtveList追加

スクリプト

  • ClassTypeReference型フィールドに検索フィルタータイプを設定できるようにTypeFilterAttribute追加。
  • ClassTypeReferenceやArborEventでの参照が外れないようにリネームしたことを設定するRenamedFromAttribute追加。
  • NodeBehaviourのみを除外するClassNotNodeBehaviourAttribute追加
  • AssetObjectのみに制約するClassAssetObjectAttribute追加。
  • AssetObjectParameter追加。
  • FlexibleAssetObject追加。
  • 型選択ポップアップに型を表示しないようにするHideTypeAttrubute追加。
  • BehaviorTitleにuseNicifyNameフィールド追加。falseにすると指定したtitleNameがそのまま挙動のタイトルとして表示されるようになる。
  • ArborFSM.SendTriggerで常駐ステートに送らないようにするためにSendTriggerFlags追加。
  • [Unity2019.3以降]SerializeReference属性に対応。
  • Decorator.OnRepeatCheckにノードの結果を受け渡すバージョンのコールバックメソッドを追加。
  • FlexibleSceneObjectにtargetGraph追加。

変更

Arbor Editor

  • 型選択ポップアップの型がUnityオブジェクトの場合にスクリプトに設定しているアイコンを表示するように変更。
  • 型選択ポップアップに表示されるSystem.Int32などの基本型を、intなどのエイリアスで表示するように変更。
  • リルートノードが接続されていない時は、接続方向を表示するように変更。
  • ロゴ表示をFadeOutにしている場合、グラフが切り替わるたびにロゴがフェードアウトするように変更。
  • グラフキャプチャを行った際にロゴが前面に表示されるように変更。

ArborFSM

  • StateLinkの表示スタイルを変更。
  • 自分自身のグラフを無効にした場合に、再度有効にするまで遷移処理を保留するように変更。

BehaviourTree

  • NodeLinkの表示スタイルを変更。
  • 自分自身のグラフを無効にした場合に、再度有効になるまで遷移処理を保留するように変更。

ParameterContainer

  • SubStateMachineなどのサブグラフで指定するパラメータ設定で、Parameter.Typeのポップアップを見やすく整理するように変更。

DataFlow

  • データスロットの表示スタイルを変更。
  • InputSlotTypableなどで表示される型の指定フィールドの表示位置を変更。
  • NodeGraphを参照するFlexibleComponentでRootGraphやParentGraphを指定した場合に、直接グラフを参照するように変更。

組み込みStateBehaviour

  • InvokeMethodをEventsフォルダに移動。
  • AnimatorCrossFadeのNormalized TimeをTime Offsetにリネーム。
  • AnimatorCrossFadeのTransition DurationとTime OffsetをFlexibleFloat型に変更。

組み込みActionBehaviour

  • AnimatorCrossFadeのNormalized TimeをTime Offsetにリネーム。
  • AnimatorCrossFadeのTransition DurationとTime OffsetをFlexibleFloat型に変更。

スクリプト

  • IInputSlot
    • SetInputBranchをSetBranchにリネーム。
    • GetInputBranchをGetBranchにリネーム。
    • RemoveInputBranchをRemoveBranchにリネーム。
    • IsConnectedInputをIsConnectedにリネーム。
  • IOutputSLot
    • AddOutputBranchをAddBranchにリネーム。
    • GetOutputBranchをGetBranchにリネーム。
    • RemoveOutputBranchをRemoveBranchにリネーム。
    • IsConnectedOutputをIsConnectedにリネーム。
    • GetOutputBranchCountメソッドをbranchCountプロパティに変更。
  • ShowEventAttributeとHideEventAttributeをフィールドとプロパティにも設定できるように変更。
  • InputSlotAny、InputSlotTypableがボックス化された値を直接介していたのを値型のコピーを行うように変更。
  • 各InputSlotのGetValueで、取得した値がnullだった場合にfalseを返していたのを、値が格納されているか(DataBranch.isUsedがtrue)で判定するように変更。
  • EachFieldでinternfaceの列挙ができるように変更。
  • OnStateBegin()以降、ArborFSMInternal.nextTransitionStateがnullを返すように変更。
  • 組み込みCalculatorの名前空間をArbor.Calculatorsに変更。
  • ArborEditor関連の内部クラスをinternalに変更。
  • 継承が不要なクラスをsealedに変更。

その他

  • 各Arbor用コンポーネントスクリプトのアイコン変更。

改善

Arbor Editor

  • 型選択ポップアップを高速化。

組み込みStateBehaviour

  • GameObject.tagの比較にCompareTagを使うように改善。

スクリプト

  • フィールドを列挙する際にキャッシュすることで高速化。

負荷軽減

  • データフローから値を取得する際の負荷軽減。

修正

Arbor Editor

  • [Unity2017.3以降]グループノードのみをAlt+ドラッグで移動しようとしてもグラフのスクロールになってしまっていた不具合を修正。
  • [Unity2017.3以降]型選択ウィンドウにArbor関連の型が列挙されていなかった不具合を修正。
  • [Unity2018.1以降]以下コンポーネントでプリセットを使用しても正常に動作しないためプリセットから除外するように修正。
    • ArborFSM
    • BehaviourTree
    • ParameterContainer
    • SubStateMachine
    • SubBehaviourTree
  • DataSlotが無効表示の際に、ノード枠外のスロット枠が無効にならなかった不具合を修正。
  • EulerAnglesAttributeでの表示タイプを変更した際に他のフィールドの表示も変わっていた不具合を修正。
  • LanguagePathを別フォルダに移動した場合にエディタ再起動するまで読込先が切り替わらなくなっていた不具合を修正。

ArborEvent

  • 指定した型がUnity内の別モジュールに移動された場合に参照が切れてしまう不具合を修正。

組み込みStateBehaviour

  • MoveOnWaypointを行う際、初期位置とWaypointが一致していると移動開始されない不具合を修正。
  • RigidbodyMoveOnWaypoint、Rigidbody2DMoveOnWaypointをFixedUpdateで移動処理するように修正。
  • AgentLookAtPositionのAngular Speedフィールドが2重に表示されていた不具合を修正。

スクリプト

  • Arborの各コールバックメソッドを呼び出し時に発生した例外をcatchするように修正。
  • データスロットを自作した場合に追加したフィールドにHideInInspectorを指定してもフィールドが表示されていたのを修正。

アップデートガイド

更新手順

Arborをアップデートする際は以下の手順に従ってください。

  1. 更新前に必ずプロジェクトのバックアップを取ってください。
  2. 既存のシーンを開いている場合は、メニューの「File / New Scene」からシーンを新規作成しておきます。
  3. Arbor Editorウィンドウを開いている場合は一旦閉じておきます。
  4. 既にインポートされているArborフォルダを削除。
  5. Arborの新バージョンをインポート。

各バージョン更新ガイド

Arborの各バージョン別の更新ガイドは以下ページを参照してください。

マニュアル:アップデートガイド