Navigation Query Filters (Separating AI movement) - UE4 With Casey

แชร์
ฝัง
  • เผยแพร่เมื่อ 10 ต.ค. 2019
  • Today I show an often unknown but very useful tool for helping differentiate our AI movement.

ความคิดเห็น • 53

  • @yaris684
    @yaris684 3 ปีที่แล้ว +20

    This is how tutorials should be. Good audio, well articulated, concise and to the point.

    • @unknownutensils1840
      @unknownutensils1840 3 ปีที่แล้ว

      Shame that thats jot the case most of the time, finding quality teachers that give you the information in a way you can digest is much harder then i originally thought

  • @hyperatomart8
    @hyperatomart8 2 ปีที่แล้ว +2

    I can't believe how long I spent last week trying to randomly offset enemy movement when this feature already exists! Great tutorial :)

  • @jakedubs
    @jakedubs 2 ปีที่แล้ว +5

    if you are a beginner, you could also switch walk speeds by random selection for the zombies in addition to the query system. I.E. get random float within range set speed 590-610.

  • @Kokuyous3ki
    @Kokuyous3ki 4 ปีที่แล้ว +4

    "sometimes you make these you have to restart the editor for them to take effect" - was worth looking through tutorials. Damn, now my test setup works.

  • @kikkmg
    @kikkmg 3 ปีที่แล้ว

    It is a really great tutorial that not just telling you how to set, but tell you why to set and how to affect the world by these setting. Nice :D

  • @azizkurtariciniz
    @azizkurtariciniz 3 ปีที่แล้ว +1

    Thank you for the tutorial. Nav Queries are must know things if you are working on AI. You can make your AI pick another path if there is a predator in it's path by using Navigation Query. It's really useful. Or you can use it as a avoidance. All these options are working in runtime so it's really useful.

  • @wink3319
    @wink3319 4 ปีที่แล้ว

    Very interesting content and very well explained. Thanks a lot!

  • @baronvonbeandip
    @baronvonbeandip ปีที่แล้ว

    This is gonna be it.
    I've seen 5 videos in a row that said exactly the same thing. Please, god, let this be it.

  • @Jamdre1234
    @Jamdre1234 4 ปีที่แล้ว +1

    Nice video, will definitely be using this soon. I imagine with would work especially well with Rvo avoidance.

  • @charlesrobertson1860
    @charlesrobertson1860 2 ปีที่แล้ว

    What a great tutorial thank you!

  • @maximevigneron560
    @maximevigneron560 4 ปีที่แล้ว +2

    Well, this is incredible

  • @salimf6041
    @salimf6041 ปีที่แล้ว

    very awesome , god bless you 🌼

  • @ChaojianZhang
    @ChaojianZhang 3 ปีที่แล้ว

    Great video! Thanks, that explained exactly what I was looking into!
    There are also these flags which look very funny...

  • @SgtP4in
    @SgtP4in 2 ปีที่แล้ว

    You are a life saver my dude

  • @ross2905
    @ross2905 2 ปีที่แล้ว +1

    I was able to use this to blend a dynamic nav mesh with navigation query filters to build a system where creatures surround you and attack from different directions (like raptors)

  • @kelvinfeng4713
    @kelvinfeng4713 2 ปีที่แล้ว

    Good video! This is what I want to find. Thank you!

  • @ross2905
    @ross2905 2 ปีที่แล้ว

    Great tutorial!

  • @Sasmety
    @Sasmety 11 หลายเดือนก่อน

    very good tutorial

  • @6FingerGames
    @6FingerGames 2 ปีที่แล้ว

    This video Tutorial should be a reference for everyone Who want make an tutorials about UE.
    This is how tutorials should be Done.

  • @robertperly6104
    @robertperly6104 4 ปีที่แล้ว

    Thanks good info

  • @fuzzypanda1684
    @fuzzypanda1684 ปีที่แล้ว

    Duuuuude...you're awesome! I'm working on a Nazi zombies clone and I couldn't figure out how to get the AI to avoid obstacles that weren't purchased instead of just running up to them and standing there. Thank you!

  • @unknownutensils1840
    @unknownutensils1840 3 ปีที่แล้ว

    I wonder if you could use something like this for accuracy on ai with shooting for area instead of the center

  • @clebo99
    @clebo99 4 ปีที่แล้ว

    I was having this same issue with a level that had a lot of corners (office building) and the AI folks were having issues turning the corners. This worked like a charm.

    • @MrRailden
      @MrRailden 3 ปีที่แล้ว

      If all you want to do is have a larger margin to corners, instead look into adjusting the "Actor radius" in both the Project Settings and the AI pawn's "NavMesh movement"! This adds a margin to walls in the NavMesh automatically (just be sure there are no corridors that are too narrow for them)

    • @clebo99
      @clebo99 3 ปีที่แล้ว

      @@MrRailden Thanks...I'll give that a try as well.

  • @elfideorubio1308
    @elfideorubio1308 4 ปีที่แล้ว

    Hey nice video, I initially thought this was going to be an EQS video, but it turned out to be a completely new thing, thanks for putting the time to research the topic, are there any docs you can share about this topic to go more in depth ?

    • @ue4withcasey391
      @ue4withcasey391  4 ปีที่แล้ว

      As far as I know there is little to nothing in the Docs about the query filters. They have some stuff about nav modifiers.

  • @cyberstars-5839
    @cyberstars-5839 3 ปีที่แล้ว

    hallo! what is - Nav Flag in Query Filters?

  • @ZimCrusher
    @ZimCrusher ปีที่แล้ว

    I know this video is 3 years old, but it seems really helpful.
    Can we use this to have certain enemies avoid certain areas?
    Example: Hot panels on the floor.
    Player can run over them, and basic enemies can run over them. both taking damage, but I want to also have a
    smarter enemy, that avoids these zones, and will go around.
    The nav mesh seems to only be an all or nothing deal, so this seems in the right area.
    would this work for what I am I going for?

  • @AustinMarron
    @AustinMarron 4 ปีที่แล้ว

    Enabling RVO on the character movement component for the AI character will prevent the AI from bottle-necking each other while chasing you.

    • @ue4withcasey391
      @ue4withcasey391  4 ปีที่แล้ว

      RVO has drawbacks. I couldn't use it for some of my games. It is a possible alternative, just not guaranteed.

  • @xearus
    @xearus 3 ปีที่แล้ว +2

    Hello!
    While this is a nice feature presentation, have you thought of using avoidance or flocking instead?
    As a solution the problem (bulking up), flocking would probably provide a better tweakable result in the end product especially for dynamic environments.
    In UE4 it would seem that they call it Crowd following component:
    docs.unrealengine.com/en-US/API/Runtime/AIModule/Navigation/UCrowdFollowingComponent/index.html
    I'm not sure how blueprintable it is but on a discussion board people seem to have made their own blueprint version of it.
    Note:
    docs.unrealengine.com/en-US/BlueprintAPI/Pawn/Components/CharacterMovement/SetAvoidanceEnabled/index.html
    That is for the avoidance if it wasn't already turned on and it would seem.

    • @ue4withcasey391
      @ue4withcasey391  3 ปีที่แล้ว

      crowd following component is pretty expensive if im not mistaken. This is a very low cost solution that worked for me when I had ~100 AI alive at a time

    • @xearus
      @xearus 3 ปีที่แล้ว

      @@ue4withcasey391 it is not impossible that the component takes a lot of CPU time. Even a good implementation of RVO requires decent optimizations since the algorithm itself expands in O(x²).
      However, I'm certain Epic teams are well aware of that and have provided someways to mitigate that problem.
      I didn't mean to offend regarding the choice of solution. Rather I was aiming at trying to inform you that such problem had a typical solution. Exploring another solution is also a good experience.
      While working with homogenous actors and a determined and static environment it is probably possible to "enhance" the navmesh with such coloring. However when the actors aren't the same, the environment moves and/or the player(s) abilities varies, having a static set of data might not be enough to represent the complexity.

    • @ue4withcasey391
      @ue4withcasey391  3 ปีที่แล้ว

      @@xearus No offense taken. I had tried some of the RVO stuff and it moved the performance needle a bit much for what I was using it for.

  • @eternalzeroxion
    @eternalzeroxion 4 ปีที่แล้ว

    thx i always want to know how this work

  • @Kein_Alias
    @Kein_Alias 4 ปีที่แล้ว

    Hello. This is exactly what i need in the moment. Thank you for that! =)
    Can you do me a favor and answer me one question? For me this is VERY important. My problem is that obstacles are overcome if there is no other way. This is fine for most situations. But not for a train, for example. It may only drive on the rails and should not suddenly go over the mountains because the rails are blocked. As far as I know you can only increase the costs for a Nav Area and not say that you can no longer drive there. So. How would you handle a train? :)

    • @ue4withcasey391
      @ue4withcasey391  4 ปีที่แล้ว +1

      a train as in you have fixed rails that it moves forward or backwards on? that shouldnt be using a navmesh at all. You would use a spline (the tracks) and use math to move the train forward or backwards on the tracks.

    • @Kein_Alias
      @Kein_Alias 4 ปีที่แล้ว

      @@ue4withcasey391 Hello. Thanks for the answer. Unfortunately thats not an option for my game. In this case i need to change an "obstacle" into "null" for a particular controller. Is there a way to do this? :)

  • @everettlee79
    @everettlee79 4 ปีที่แล้ว

    Ok now try to do this. There only 2 paths to reach the player. One ai is blocking one of the paths making the other ai to choose the other path. I’ve been messing with the navmodifier component on my ai but I can’t get the ai to ignore his own modifications. So essentially i’m trying to make the area around the ai a higher cost for all the other ai. This video (great info btw) is the closest solution to my problem but not quite what i’m looking for. Any suggestions?

    • @ue4withcasey391
      @ue4withcasey391  4 ปีที่แล้ว

      Do you have the runtime navmesh settings turned on? Inside the project settings theres a drop down to allow the navmesh to be manipulated at runtime.

    • @everettlee79
      @everettlee79 4 ปีที่แล้ว

      UE4WithCasey yeah, problem is that the owner responds to their own modifier making the area they’re in an obstacle so they just aimlessly wander in circles trying to escape their own area lol.

    • @ue4withcasey391
      @ue4withcasey391  4 ปีที่แล้ว

      @@everettlee79 Good point. The mesh doesnt update fast enough so I dont think you could turn off the modifier, find the path, then turn it back on either. Its also unreliable to find 2 separate paths, one to the edge of the modifier towards your destination and then a second from that point just at the edge of the modifier to the actual destination. Thats a tough one

    • @everettlee79
      @everettlee79 4 ปีที่แล้ว

      UE4WithCasey yep. I tried flip flopping on and off real quick. Didn’t work. Looks like it’ll be tougher than I hoped. Thanks for crushing my dreams lol.

    • @everettlee79
      @everettlee79 4 ปีที่แล้ว +1

      UE4WithCasey Sounds like a great video opportunity if you can crack it ;)

  • @natemorga
    @natemorga 5 หลายเดือนก่อน

    Its great to know but not a silver bullet.

  • @DanieleMartinello
    @DanieleMartinello 4 ปีที่แล้ว

    can you shared this scene for better understanding ? because I try do it but don't works and I don't know why, thank's ;) I do that with behavior tree, maybe it not compatible

  • @zodix44
    @zodix44 ปีที่แล้ว

    I hate this part about Unreal's Ai system. Unity this built. All you need to do is feed in a value that states how much distance does and Ai keep from another Ai

  • @exuld8338
    @exuld8338 2 ปีที่แล้ว

    How can you brain work so fast ...