アセットストア
既知の問題
Unity不具合
Unity 2022.1以降、Arbor Editorの言語を日本語にすると例外が発生する
Unity側が修正されるまで、言語設定は英語にしてください。
Unityへバグレポート済み。
更新内容
追加
Arbor Editor
- Arbor EditorウィンドウをUIElementsに対応。
(ノード用スクリプトのカスタムエディタにおいて、CreateInspectorGUI()メソッドを実装するとUIElements対応エディタを実装できます) - ノードのブレークポイントで停止した際に、対象のノードをArbor Editorで開く機能を追加。
(ArborEditorウィンドウの設定メニューを開き、「ブレークポイント時にノードを開く」をオンにすることで有効化) - 挙動のタイトルバーの設定メニューに「スクリプトを強調表示」を追加。
- 挙動のタイトルバーの設定メニューに「Editorスクリプトを強調表示」を追加。
Hierarchy
- HierarchyのGameObjectにArbor関連コンポーネントアイコンを表示する機能を追加。
(ArborEditorウィンドウの設定メニューを開き、「Hierarchyにアイコン表示」をオンにすることで有効化)
ObjectPool
- プールに格納されたオブジェクトのライフタイム設定を追加。
Behaviour Tree
- 複数のDecoratorの判定結果を論理演算する機能を追加。
組み込みComponent
- AgentControllerに挙動を追加
詳細はエージェントの挙動制御を参照してください。- 障害物に隠れる位置に移動するHide
- 対象の移動速度を考慮して予測した位置に移動するPursuit
- 2つの対象の移動速度を考慮して間に割り込む位置に移動するInterpose
- 現在の進行方向に対してランダムに方向転換する位置に移動するWander
- 対象の移動速度を考慮して予測した位置から離れるように移動するEvade
- AgentControllerにOffMeshLink通過時の挙動制御追加。
詳細はAgentController#通過設定およびセットアップ例を参照してください。 - AgentController.StopにclearVelocity引数追加。
- AgentController.MoveToRandomPositionにcheckRaycast引数追加。
- 移動速度を考慮した移動先予測を行うためのコンポーネントMovingEntity追加
- OffMeshLinkSettings追加
- AnimationTriggerEventReceiver追加
組み込みStateBehaviour
- SetRendererColor追加
- SetRendererFloat追加
- SetRendererMaterial追加
- SetRendererTexture追加
- SetRendererTextureOffset追加
- SetRendererTextureScale追加
- SetRendererVector追加
- AnimatorPlay追加
- AddComponent追加
- DestroyComponent追加
- RestartScene追加
- PauseNodeGraph追加
- PlayNodeGraph追加
- ResumeNodeGraph追加
- StopNodeGraph追加
- AgentEscapeFromPosition追加
- AgentEvade追加
- AgentHideFromPosition追加
- AgentHideFromTransform追加
- AgentInterpose追加
- AgentPursuit追加
- AgentWander追加
- InstantiateGameObjectにプールのライフタイム設定(Life Time FlagsフィールドとLife Durationフィールド)追加。
- MouseButton**TransitionにIgnore UIフィールド追加。
関連するスクリプトは以下の通り: - AgentStopにClear Velocityフィールド追加。
- Agent系スクリプトにClear Velocity On Stopフィールド追加。
- Agent系スクリプトにCantMoveのStateLink追加。
- AgentMoveToRandomPositionにCheck Raycastフィールド追加。
- AgentMoveOnWaypointにRadiusフィールド追加。
- Renderer関連のTweenスクリプトにMaterialIndexフィールドを追加
関連するスクリプトは以下の通り:
組み込みActionBehaviour
- Idle追加
- PauseNodeGraph追加
- PlayNodeGraph追加
- ResumeNodeGraph追加
- StopNodeGraph追加
- AgentEvade追加
- AgentHideFromPosition追加
- AgentHideFromTransform追加
- AgentInterpose追加
- AgentPursuit追加
- AgentWander追加
- AgentStopにClear Velocityフィールド追加。
- AgentMove系スクリプトにClear Velocity On Stopフィールド追加。
- AgentLook系スクリプトにClear Velocity On Stopフィールド追加。
- AgentMoveToRandomPositionにCheck Raycastフィールド追加。
- AgentMoveOnWaypointにRadiusフィールド追加。
組み込みDecorator
組み込みCalculator
- Enum.Equals追加
- Enum.NotEquals追加
- Enum.ToInt追加
- Enum.ToString追加
- Enum.TryParse追加
- Int.ToEnum追加
- GetRendererColor追加
- GetRendererFloat追加
- GetRendererMaterial追加
- GetRendererTexture追加
- GetRendererTextureOffset追加
- GetRendererTextureScale追加
- GetRendererVector追加
- GetSprite追加
- Camera.ScreenPointToRay追加
- Camera.ScreenToViewportPoint追加
- Camera.ScreenToWorldPoint追加
- Camera.ViewportPointToRay追加
- Camera.ViewportToScreenPoint追加
- Camera.ViewportToWorldPoint追加
- Camera.WorldToScreenPoint追加
- Camera.WorldToViewportPoint追加
- Input.GetMousePosition追加
- Ray.Compose追加
- Ray.Decompose追加
- Ray.GetDirection追加
- Ray.GetOrigin追加
- Ray.GetPoint追加
- Ray.SetDirection追加
- Ray.SetOrigin追加
- Ray.ToString追加
組み込みスクリプト
- CalculatorConditionに複数の要素の判定結果を論理演算する機能を追加。
関連するスクリプトは以下の通り: - ParameterConditionに複数の要素の判定結果を論理演算する機能を追加。
関連するスクリプトは以下の通り:
スクリプト
- async/awaitに対応。
詳細はasync/awaitを参照してください。- PlayableBehaviour.Yieldメソッドで次のOnUpdate呼び出しまで待機。
- ActionBehaviour.WaitForExecuteメソッドで次のOnExecute呼び出しまで待機。
(WaitForExecuteメソッドで待機した場合は実質OnExecute内部での呼び出しと同等であるため、FinishExecuteメソッドが使用可能になります) - PlayableBehaviour.CancellationTokenOnEndプロパティ追加。
- UniTask対応。
UniTaskを導入している場合、Yield().ToUniTask()でUniTask化できます。
詳細はUniTaskの利用を参照してください。
- AnimatorParameterReference.nameHashプロパティ追加。
- Decotator.OnRevaluationEnterメソッド追加。
- Decorator.OnRevaluationExitメソッド追加。
Examples
- AgentControllerのOffMeshLink通過設定の例として、19(OffMeshLink)追加。
- ObjectPoolの例として、20(ObjectPool)追加。
変更
Arbor Editor
- 全ノードタイプのノード名変更に対応。
- 演算ノードに挙動のタイトルバーを表示するように変更。
Behaviour Tree
- Decoratorのカスタムエディタを実装していても、AbortFlagsフィールドや論理演算フィールドを自動表示するように変更。
- ActionBehaviour.OnExecuteのデフォルト挙動を「失敗を返す」から「なにもしない」に変更。
ObjectPool
- グラフがプールされたときに停止するように変更。
- グラフがプールから復帰したときにplayOnStartがtrueなら再生開始するように変更。
- RigidbodyがプールされたときにSleepするように変更。
- Rigidbodyがプールから復帰したときにWakeUpするように変更。
- Rigidbody2DがプールされたときにSleepするように変更。
- Rigidbody2Dがプールから復帰したときにWakeUpするように変更。
組み込みComponent
- AgentControllerのAddComponentメニューを「Arbor > Navigation > AgentController」に変更。
- WaypointのAddComponentメニューを「Arbor > Navigation > Waypoint」に変更。
- AgentControllerをMovingEntityクラスから派生するように変更。
- AgentController.FollowをMoveToに改名
組み込みStateBehaviour
- AgentEscapeをAgentEscapeFromTransformに改名
- LoadLevelをLoadSceneに改名
- UnloadLevelをUnloadSceneに改名
組み込みDecorator
- TimeLimitにAbortFlags.LowerPriorityを設定しても割り込まないように変更。
Parameter Container
- パラメータの追加メニューをAddComponentメニュー形式に変更。
Unity対応
- Unity最低動作バージョンをUnity 2019.4.0f1に引き上げ。
- Unity2022.2.0b2対応。
Examples
- 名前空間を「Arbor.Examples」に統一。
- AddComponentメニューのグループを「Arbor > Examples」に統一。
- 挙動追加メニューのグループを「Examples」に統一。
改善
データフロー
- enum型のボックス化を改善
(enum型のボックス化を最小限に抑えるには、ValueMediator.RegisterEnum<T>()で対象の型を登録してください)
組み込みComponent
- AgentController.Escapeで壁際に追い詰められた場合に極力嵌らないよう挙動を調整。
組み込みスクリプト
- SetParameterのボックス化を改善
- Unity UIパッケージを削除した場合に、関連するスクリプトを無効にするように対応。
- Active Input Handlingを「Input System Package (New)」にした場合に、関連するスクリプトを無効にするように対応。
アップデートガイド
更新手順
Arborをアップデートする際は以下の手順に従ってください。
- 更新前に必ずプロジェクトのバックアップを取ってください。
- 既存のシーンを開いている場合は、メニューの「File / New Scene」からシーンを新規作成しておきます。
- Arbor Editorウィンドウを開いている場合は一旦閉じておきます。
- 既にインポートされているArborフォルダを削除。
- Arborの新バージョンをインポート。
各バージョン更新ガイド
Arborの各バージョン別の更新ガイドは以下ページを参照してください。