For anyone having problems with weird behaviour with the custom decorator, the scale comparison doesn't work as intended. The actual vector length of the scale with standard scale settings (1,1,1) is 1.732051. So the old behaviour won't trigger if you don't set the acceptable scale value higher. Also because the Target actor is still set, the NPC Character won't go to random locations when he sees you. Also you get some random behaviour which siwtches between doing nothing and weird running around. I haven't found out the reason for the last one.
@jerrybrown-lacy61193 ай бұрын
5 months later, but if anyone sees this in the future you need to put a Normalize function between the GetActorScale3D and VectorLength.
@martinwettig8212Ай бұрын
@@jerrybrown-lacy6119 Lovely, thank you.
@notjeckup20 күн бұрын
Thank you so much I could not figure out what was going wrong
@davids25518 ай бұрын
Two minutes in and this video has already helped me more than a 2 hour tutorial with my lecturer If you set a Blackboard query to use an integer or float as its key, the key query will change to check isequal/greater/lessthan. KeyQueries change based on the type of KeyValue. So crucial. Didn't know this feature existed.
@DSJ112 жыл бұрын
Hi Ryan, I'm a technical designer at Tt Games and this series is helping me out during our annual game jam, so thank you!
@MulliganMTG2 жыл бұрын
My daughter loves Lego Harry Potter. That was you guys right?
@DSJ112 жыл бұрын
@@MulliganMTG It was! (Before I joined the company) Really glad to hear your daughter enjoys it :)
@Empirax Жыл бұрын
You hiring ?
@brodiemorris2081 Жыл бұрын
your company made my (and my brothers) childhood. Thank you for that.
@boolean7112 жыл бұрын
Thanks for taking the time to explain the decorators, this series has so far been the best behavior tree one yet!
@aProperFox Жыл бұрын
Just in case someone tries to compare and gets confused, at 6:48, you say "if your size is 2, 2, 2, your value will be 2." which is inaccurate. The value is calculated as the square root of the sum of squares. So while 1, 1, 1, equates to 1; 2, 2, 2 equates to: sqrt(2^2 + 2^2 + 2^2) = sqrt(12) = 3.464.
@FPChris9 ай бұрын
1 1 1 length is returning 1.732051
@anferneeee925 ай бұрын
I've watched soooo many of your videos and heard your voice explaining things for dozens of hours, I just realized that this video was the first time I ever actually saw what you looked like. Definitely not what I expected, even though I don't know what I expected you to look like. Maybe I was expecting a mix of Lex Luthor (for the genius), MLK or Ghandi (for being super helpful to people and doing it for free), and maybe some Jesus for inspiring hope that I can actually succeed at anything in Unreal.
@morndulin Жыл бұрын
Thank you SO much for this tutorial and explaining decorators.
@gamedevofcoffeeandpower6 ай бұрын
that is creative
@epsiloncore9772 Жыл бұрын
I'm sure I followed your tutorial accurately but for some reason I can't tell if iit's working the AI will have moments where it will see my player character and just stand there for a good few seconds before running. about.
@polite-cat Жыл бұрын
Thanks for this great tutorial. I made dialog options select based on decorators
@dustinherrick8472 Жыл бұрын
I've been following your full tutorial here and something's goes wrong on part 4. Before I added check scale decorator the AI would give Chase as with part three of your tutorial even with the player character at 1.0 the AI no longer chases and anything greater than 1.1 I get the same result the AI just walks around and sometimes. In place and do nothing. I noticed you also added the video where you don't show where you interact before you change the size of your character and it just go straight into your character being greater than 1.1. I'm not sure if you cut something out or I'm missing something I am new to this but this did not work. I'm going to take this step out and go on to the next part of the tutorial. This is my second time going through your tutorial as the first time I went through everything worked up until part 4, I continued anyways onto the sound on part 5 and part 6 and nothing was working after part 4
@gruntythegreat33353 ай бұрын
For anybody struggling, here is the issue and the solution to it: When the size exceeds the limit, the AI can't return to the roam sequence unless you are out of sight because the roam sequence has a condition as to whether or not it sees you, so if it sees you, the roam condition cannot execute. But the problem here is if you are larger than the set scale, it also cannot chase you, causing it to bug out like crazy and act erratically, due to both behavior paths being terminated. The best solution for this is to skip the decorator and plug the decorator code directly into the "Handle Sight Sense" function. If you create a branch right after the second brand (which compares the actor in sight to the player actor), you can make the "Target" on the "Get Actor Scale 3D" node, the actor on the "Handle Sight Sense" node, then you can make the branch condition, the "Less Than" node. This assures that even if the player is in sight, the "Target Actor" never gets set, therefore, the AI continues to ignore you if you are over a specified size, which you can either type into the "Less Than" node directly, or make a variable for. If you needed this to be referenced in an actual game, you can structure a seperate function or code block to handle this, and change it depending on conditions you create, but in this particular use case, a Decorator is not the best way to create this condition, because it prevents you from having the AI ignore the "Target Actor" condition of the roaming cycle. There are ways you could import variables and directly add this functionality to the Decorator, but this would be more trouble than it's worth, for basically 0 code opimization, and would also increase system load overall, rather than just never setting the Target Actor to begin with. This would also mean you have to rearrange the behavior tree because the roaming activity has higher priority. Therefore with the current setup, as long as the Target Actor gets set, the roaming functionality will always be terminated.
@bengwynne6823 Жыл бұрын
Your videos are great but this doesn't work for me - am I also the only one who missed completely when you made the BP_ThirdPersonCharacter larger than 1.0?
@erikvarga43674 ай бұрын
If I have an ai randomly roaming around player character, and he gets stuck on the player because the random point is across the player char.. how do I use touch-sense to halt and restart the moveto random location behaviour?
@unrealdevop Жыл бұрын
I'm not finding Blackboard Based Condition....Do people just not use Behavior trees for Ai or something? It seems insanely difficult to find even the most basic stuff on this, like simply resetting the value of a Blackboard key from the Behavior Tree and simple If conditions. I should mention that I looked for an example of a custom Decorator and found absolutely no examples....which is really odd.
@unreal_metronomus6782 жыл бұрын
Hey Ryan, could you please show how to create an ai director that shares EQS data between the ai bots. For example I would like to send my enemies to eqs positions, attack formations. I have got something like that working, but I don’t like the way I coded it. Perhaps there is a better way.
@djtc2093 Жыл бұрын
Could you point me in the direction of how to add AI shooting logic to the behaviour tree.
@RtxRob2 жыл бұрын
Hey Ryan, Thanks for tutorial, could you please add this video to your playlist "Unreal Engine 5 AI". Thanks
@FPChris9 ай бұрын
After fighting with the results of this video for an hour I've decided to move on. I could only set Quinn to 2,2,2 scale by directly calling Set Actor 3D Scale. Setting the scale of the Player Start, BP_ThirdPerson, or even the Quinn's Skeletal mesh inside to 2,2,2 still returns an Actor Scale 3D of 1 1 1 in the Decorator. Extremely confusing.
@ThatSupportTho8 ай бұрын
whats a scale 3d?
@Ataxire9 ай бұрын
Not sure why but when the ai loses seight of me it starts having a seizure and doesnt know where the go next so it just snaps back and forth trying to walk somewhere
@overlandgames Жыл бұрын
quick newbie question, and maybe i just missed something easy, but the blackboard key "Target" at the end of the tutorial here, where does that come from? How does it know to grab the actual target actor? in the previous tutorials, i just have blackboard keys "TargetActor" "SelfActor" "TargetLocation" "LastKnownLocation". the blackboard has at least two object keys that are actors (Self and TargetActor) so in the self made decorator, when you make a variable that is a blackboard key called 'target' i don't see where that actually references the blackboard key "TargetActor." only , get value as object? How does the decorator know you're referencing the target actor?
@leonelsandoval987 Жыл бұрын
I have the same problem. I can not find the point where the "Target" is connected to "BP_ThirdPersonCharacter" or whatever actor I want. Unsolved yet.
@ConspiracyCraftersStudio Жыл бұрын
same problem here, have you solved it? its hard to follow sometimes@@leonelsandoval987
@NikEki-1337 Жыл бұрын
It is from the previous episode. TargetActor is being setset in HandleSightSense function in AI Controller BP.
@carlosrivadulla89032 жыл бұрын
Pls give it a try to the state tree
@brandonstam626 Жыл бұрын
An issue I'm having: If my character is less than Max Acceptable Scale, the AI will just completely stop once it sees me. If my character is greater, the AI will keep trying to go to my location. My understanding is because it's trying to go to MoveTo:Target Actor or MoveTo: LastKnownLocation. I have the same set up as the video, but it seems the AI in the video pis able to jump back to BTTask_MoveRandomLocation. How is that?
@TheBradinator64 Жыл бұрын
Hey, don't know if it's caused by the same issue I had, but my issue came from the Get Vector Length node in the custom decorator not working as intended. Instead of using that to compare to the max acceptable scale, I had to split it into its x, y, and z components and compare each of them individually to the max acceptable scale. I then also had to add another random movement node to the right of the Chase Selector node in the behaviour tree. Hope this helps :)
@javisartdesign2 жыл бұрын
Thanks really awesome tutorial
@rifat.ahammed Жыл бұрын
Great
@RyanMcEachern-mr7jc Жыл бұрын
not quite sure if anyone else will have this problem of the AI not following you but, if the ai will not follow you. when you make your max acceptable distance make the value 100 and not 1.1 the A.I Will follow you now.
@jmartian6426 Жыл бұрын
I watched the float for the actor scale and apparently, it returns 1,73 even though my character's scale is just (1,1,1). Setting the actor scale to 1,1 for each axis, will return a float of 1,90.
@jhow889410 ай бұрын
The unreal's AI system is HORRIBLE (I've never done anything with AI before) my brain is spinning
@FPChris9 ай бұрын
Agreed. There NUMEROUS different systems you are suppose to figure out how to marry up.