Announcement

Collapse
No announcement yet.

DoN's 3D-Pathfinding / Flying-AI system (with full source!)

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • replied
    Is there any function like AI Move To (I mean in the blueprint, not in the BT)? Or must be programed manually using Schedule Pathfinding Task?

    Thank you.

    Leave a comment:


  • replied
    Wondering if there's a trick I'm missing in getting the flying unit to navigate correctly to a moving target point, such as the player.

    Currently I'm spawning a Target Point at the player's socket location. Then using the FlyTo node to fly an actor, however the actors seem to orbit a random amount of times before straightening out, and I'm wondering if there's a setting I'm missing to have the target point be spawned or moving.

    Leave a comment:


  • replied
    Hi, any news on a 4.21 version?

    Thanks!

    Leave a comment:


  • replied
    Hi VSZ ,
    first of all thanks to bring us this amazing plugin, it's awesome.
    I used for some tests on 4.18 and it work perfectly, but yesterday i try it on 4.20 and now if a pawn exit from the nav bound and call the FlyTo node in the Behaviour Tree the editor crash with this exception:
    Access violation - code c0000005 (first/second chance not available) There is something i can do for fix it? Thanks

    Leave a comment:


  • replied
    Originally posted by TriConsulting View Post
    while navmeshes work I am looking for a more optimized approach for NPC movement.
    I don't think voxel based, full-3D navmesh is any more optimized than a regular, tri-based 2D one. Quite the contrary, in fact.

    Leave a comment:


  • replied
    This may be a stupid question because this specifies that it is a flying AI system, but is there a way to query the system for land-bound paths and to prevent traversal of steep slopes?
    I have a relatively large voxel world with player-spawned structures, and while navmeshes work I am looking for a more optimized approach for NPC movement.
    The system would not have to handly many actors at once, pathfinding would only be activated when a player is nearby and actively being chased.

    If the system cannot be used in this scenario I would appreciate any pointers for other options.
    Thank you!

    Leave a comment:


  • replied
    So, the plugin suddenly started making problems. Haven't changed anything about the nav, as I've been dealing with level design recently. And yet – what used to work, now crashes the engine.
     
    Spoiler

    I've dealt with access violation once before, it was due to the pawn being out of the nav volume bounds. It is not the case this time, I made double-sure of that.

    UE 4.20.2, Blueprint project
    Relevant screenshots: https://imgur.com/gallery/PEV3uwx
    Last edited by Angius; 08-29-2018, 02:17 PM.

    Leave a comment:


  • replied
    Grot13 By the means of locomotion system, do you mean the skeletal system? If so, how did you change it such that it works in a water volume? Do you have to change something outside of Unreal? I haven't really had much experience on locomotion system before.

    Btw, I've changed the settings of the character blueprint, such that the Default Movement Mode When In Water is Flying instead of Swimming. And for Nav Movement, I've disabled IsSwimming, and enabled IsFlying. However, it still doesn't move in the Physics Volume.

    Leave a comment:


  • replied
    I see thanks. By the way, it seems like DoN's 3D-Pathfinding doesn't support Physics volume? If the Physics volume overlaps with the Don's Navigation Manager, the pawn/character won't move.
    FYI, both "FindGoal" and "FlyTo" nodes in Behavior tree continuously flashes when Don's Navigation manager overlaps with Physics volume. If not, "FindGoal" is supposed to finish before "FlyTo".

    Update:

    These errors will pop up:
    DoNNavigationLog: Warning: Pawn's initial/final position overlaps an obstacle. Attempting to find substitute vector (a nearby free spot) for pathfinding...
    DoNNavigationLog: Error: Error: Invalid Origin (X=820.000 Y=810.000 Z=398.000) passed to navigation path solver
    DoNNavigationLog: Error: Error: Invalid Destination (X=210.000 Y=-10760.000 Z=2000.000) passed to navigation path solver

    Is the Don's Navigation Manager treating the physics volume as an obstacle?
    Last edited by Paul_LTC; 08-25-2018, 07:43 PM.

    Leave a comment:


  • replied
    I was trying to find the custom event customAddMovementInput like the one below for a day or two, but was having no luck. I can find the customAddMovementInput (message) and (interface), but not the (event). I see that the target of this custom event is DonNavigator, but neither did I find the object with the class DonNavigator, nor the class DonNavigator. I am using the bp plugin from Unreal MarketPlace. Am I missing something?

    Leave a comment:


  • replied
    Originally posted by khazum View Post
    hello,
    i've been using this plugin and its great, but i am wondering about using it for forward-flying objects like airplanes (or ships, limited to one Z plane) where there is no going sideways or backwards.... is there an easy way to limit the FLYTO movement to one axis (X or Y) so that my bot always goes "forward" and "turns" around obstacles? I've been trying to utilize this particular scenario and end up with bots travelling sideways or backwards, which is unrealistic. I've been searching this forum without much luck, perhaps I am overlooking a solution?
    thanks!
    - s
    One quick thing to try...can you set the AI unit focus to the direction of the units velocity? That should always turn the unit towards it's flight direction over time.

    Alternatively, if you're in C++...have a look at UBTTask_FlyTo::TickPathNavigation. You can adjust that implementation to meet your needs.

    Leave a comment:


  • replied
    Originally posted by khazum View Post
    hello,
    i've been using this plugin and its great, but i am wondering about using it for forward-flying objects like airplanes (or ships, limited to one Z plane) where there is no going sideways or backwards.... is there an easy way to limit the FLYTO movement to one axis (X or Y) so that my bot always goes "forward" and "turns" around obstacles? I've been trying to utilize this particular scenario and end up with bots travelling sideways or backwards, which is unrealistic. I've been searching this forum without much luck, perhaps I am overlooking a solution?
    thanks!
    - s
    My best guess is, you need to set separate object (obstacle) avoidance that kicks in, when it is needed. In fact, in my flying game experiments, with arcade-ish flying enemies, I have no path finding system "per se" at all. I have basic rules where to fly (to player, fly away from player, go random), and object avoidance (i call it "cat whiskers" because of line tracing likeness). For me, that works fine for now. You can see it "live" in my videos. I have been experimenting with this 3D pathfinding too (also there is a video), it was fine, but I have avoided it for now.

    Leave a comment:


  • replied
    hello,
    i've been using this plugin and its great, but i am wondering about using it for forward-flying objects like airplanes (or ships, limited to one Z plane) where there is no going sideways or backwards.... is there an easy way to limit the FLYTO movement to one axis (X or Y) so that my bot always goes "forward" and "turns" around obstacles? I've been trying to utilize this particular scenario and end up with bots travelling sideways or backwards, which is unrealistic. I've been searching this forum without much luck, perhaps I am overlooking a solution?
    thanks!
    - s

    Leave a comment:


  • replied
    For anyone who encounter this error.
    Fatal error!

    Unhandled Exception: EXCEPTION_ACCESS_VIOLATION reading address 0x00007098

    0x000000001987CAEF UE4Editor-DonAINavigation.dll!TSet<AActor * __ptr64,DefaultKeyFuncs<AActor * __ptr64,0>,FDefaultSetAllocator>::FindId() [d:\rocketsync\4.19.0-3944462+++ue4+release-4.19\working\engine\source\runtime\core\public\containers\set.h:623]
    0x00000000198905A9 UE4Editor-DonAINavigation.dll!UBTTask_FlyTo::SchedulePathfindingRequest() [d:\build\++portal+dev-marketplace+full\sync\localbuilds\plugintemp\hostproject\plugins\donainavigation\source\donainavigation\private\behaviortree\bttask_flyto.cpp:92]
    The cause is that pawn's current location is outside DonNavigation's bound.
    So, the NavigationManager variable point to nullptr. In C++, It's possible to dereference nullptr without getting exception but getting crash inside object instead.

    Leave a comment:


  • replied
    I was trying to convert this into a more specific flocking algorithm instead of individual paths for everything, but have no luck so far

    Leave a comment:

Working...
X