So I made my AI jump:
A BP Actor (smart link nav proxy) launches AI into the air. Nothing to do with Behavior Trees just yet. The issue is that AI slides (still running Move To the goal task) while playing jump_start and jump_end anims. I need for AI to seize all movement when it reaches nav link, jump and then resume movement (and this is only for when Ai walks as it probably should keep moving when it runs and then jumps).I decided to move it all into Behavior Tree and have BP nav link actor to only set bool to be “true” when van link is reached and when anim notify to set it “false” when jump_end anim is finished playing. The bool “navLinkIsReached” would exist on AI character actor.
For starters I just wanted to stop movement from Behavior Tree using custom task. I got service to check for the bool and then decorator to abort the part of the tree with movement toward the goal:
It is my understanding that a decorator in the selector node should switch between parts of the tree based on the condition. That's what it does for my IsPlayerReady part. However, that doesn't happen for Move To part. No matter the value of my bool, it always executes Move To / Wait part. Even if I put decorator right into Move To task, it will not abort it.The only way to abort the Move To part of the tree is by setting Observer Abort to “self”. Then as soon as bool becomes “true”, Move To part gets aborted and StopMovement part kicks in. However, once bool becomes “false” again, Move To tree stays aborted and AI character doesn’t continue its movement.
What am I doing wrong and what should I do to make this work ?
Thanks beforehand