Search found 475 matches

by caitsithware
2024/02/12 23:37
Forum: Question
Topic: Game ObjectがActiveになる度にBehaviour Treeを再生したい
Replies: 6
Views: 205

Re: Game ObjectがActiveになる度にBehaviour Treeを再生したい

確かに実行順は明示しない限り不確定なので、場合によって動いたり動かなかったりしますね。
実行順を設定することで動作したということで良かったです。

またこれは参考コードですので動作保証は致しません。必要に応じて外部からPlayメソッドを呼ぶなども検討してみてください。
by caitsithware
2024/02/11 12:11
Forum: Question
Topic: Game ObjectがActiveになる度にBehaviour Treeを再生したい
Replies: 6
Views: 205

Re: Game ObjectがActiveになる度にBehaviour Treeを再生したい

Play On StartはMonoBehaviourのStart()メソッドで再生開始するフラグとなっており、初回以外にアクティブになった際に再生されないのは仕様です。 アクティブになった際に再生開始する設定はないため、再生したい時にNodeGraph.Play()メソッドを呼び出してください。 例えば以下のようなスクリプトを作成しBehaviourTreeと同じGameObjectに設定するとアクティブになった際に再生開始できます。 using UnityEngine; using Arbor; public class PlayOnEnable : MonoBehaviour { pri...
by caitsithware
2024/02/01 00:00
Forum: Question
Topic: 並列ノードを自作できるか?
Replies: 2
Views: 638

Re: 並列ノードを自作できるか?

Arbor 3.10.0にて、BehaviourTreeにParallelSelectorParallelSequencerを追加いたしました。

CompositeNodeで使用すれば、各子ノードを並列実行できます。
by caitsithware
2024/01/24 13:41
Forum: Question
Topic: 並列ノードを自作できるか?
Replies: 2
Views: 638

Re: 並列ノードを自作できるか?

ご質問ありがとうございます。 現在BehaviourTreeのCompositeNodeは子ノードを一つ実行するのみであり、CompositeNodeから使用されるCompositeBehaviourはスクリプトを定義して追加可能ではありますが順番に実行する子ノードのインデックスを返すだけの仕様になっています。 またBehaviourTreeで扱えるノードの型を定義するだけで増やせるような拡張機能は設計仕様上不可能であるため、試用版の範疇では対応が難しいかと思います。 購入していただければソースコードが含まれていますのでCompositeNodeやCompositeBehaviourなどを直接...
by caitsithware
2023/12/22 04:07
Forum: Question
Topic: Arbor EditorでVariableListをInputSlotにドロップする方法
Replies: 2
Views: 1171

Re: Arbor EditorでVariableListをInputSlotにドロップする方法

VariableListの値をノードに受け渡すにはInputSlot<ILIst<要素の型>>を使用してください。 Unity2020以降の場合 Unity2020以降では、フィールドに直接ジェネリック型を使用できますので、InputSlot<T>をそのまま使用できます。 class AccessFooDataVariableList : StateBehaviour { [SerializeField] InputSlot<IList<FooData>> input = new InputSlot<IList<FooData>>(); public override void OnState...
by caitsithware
2023/12/15 00:17
Forum: Bug Report
Topic: AgentMoveToPosition problem
Replies: 4
Views: 1462

Re: AgentMoveToPosition problem

I see.
Currently, if it does not transition to CantMove even if it is outside the NavMesh range, it will transition to Done when the movement is completed.

As an improvement measure, we will consider adding an option to judge using NavMesh.SamplePosition.

Thank you for your report.
by caitsithware
2023/12/14 10:41
Forum: Bug Report
Topic: AgentMoveToPosition problem
Replies: 4
Views: 1462

Re: AgentMoveToPosition problem

The Stopping Distance value is simply set to NavMeshAgent.stoppingDistance.
The CantMove transition will only transition when NavMeshAgent.SetDestination() returns false.

Both seem to be problems due to NavMeshAgent specifications.
Please refer to the AI Navigation package manual for details.
by caitsithware
2023/12/08 00:12
Forum: Question
Topic: Root motion
Replies: 3
Views: 1794

Re: Root motion

There are no plans at this time. As written at the end of " Coupling Animation and Navigation ": "What works best very much depends on the specific use-case." How the NavMeshAgent position and root motion position are combined is determined by the specification. It is difficult t...
by caitsithware
2023/12/05 23:54
Forum: Question
Topic: Root motion
Replies: 3
Views: 1794

Re: Root motion

Hi,

AgentController does not support root motion.
Please create a script that disables NavMeshAgent's updatePosition etc. and updates transform.

For more information, please refer to the AI Navigation package manual "Coupling Animation and Navigation".
by caitsithware
2023/11/29 23:26
Forum: Question
Topic: SubStateMachineのSuccessについて
Replies: 2
Views: 1467

Re: SubStateMachineのSuccessについて

BehaviourTree版のSubStateMachineなどのサブグラフが完了した時の成否についてですね。 サブグラフが完了した際の成否はそのままアクションノードの結果としてビヘイビアツリーの親ノードに結果が返される仕様となっています。 結果が返されるとコンポジットノードとのつなぎ方で以下のようにビヘイビアツリーの実行ノードが遷移します。 Sequencerの子でサブグラフを実行 成功を返した場合、Sequencerの子の次のノードへ(最後のノードならSequencerの親に成功を返す) 失敗を返した場合、Sequencerの親に失敗を返す Selectorの子でサブグラフを実行 成功を返...