Announcement

Collapse
No announcement yet.

DoN's 3D Pathfinding for Flying A.I. [Support Thread]

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

  • replied
    Hi, when can we expect an update for UE 4.24+ ?

    Leave a comment:


  • replied
    Thank you for your feedback, erol_demirci ! There is another video I've recorded:
    https://youtu.be/4dmPql7F6HY

    There pathfinding query is rerun in the next tick after the previous pathfinding query ended.
    Last edited by Dain_Torson; 01-04-2020, 10:04 AM.

    Leave a comment:


  • replied
    Originally posted by Dain_Torson View Post
    Thank you for the response! I recorded a 2-minute video to represent an issue:
    https://youtu.be/bYymuJ7dVsg
    Hi Dain_Torson , what do you see if you turn on Show Collision when moving the BP_Fan with BP_Fan start in up position and then start in down position? Does the collider move with the fan? It is difficult to see what is really happening with limited information, and the behavior acts as if the collider to the BP_Fan is not moving when the fan starts in the down position. In other words, when the BP_Fan starts in down position, the behavior of the Pathfinding algorithm seems to see the collider is still in down position even though the mesh is In up position.

    Few questions:
    1. How many colliders are on BP_Fan? Since I do not know if this is some Blueprint made from code, I can only guess that only the cube has a collider.
    2. For all collision entries on the blueprint, what are the profiles of each collision entry?
    3. What collision types are listed in the DonManager obstacle type array?
    4. What collision types are listed in the DonManager safe to ignore array?
    5. Since I cannot see the DonManager volume in the level, I'm assuming it encompasses the same area no matter if start the game with AutoEnabled = true or AutoEnabled = false on the BP_Fan. Is this correct?

    Few things I noticed:
    1. @1:26 in the video, there are outputs to the log that seem to be exactly what you have commented out in code. Is that log entry coming from somewhere else you have not shown in the video?
    2. I thought I remember in the video the author put on YouTube for instructional purposes, that if there is a collison found during ScheduleDynamicCollisionUpdate, that one has to re-run SchedulePathFindingAlgorithm. I see that you're calling the ScheduleDynamicCollisionUpdate but I can't see if you're handling the delegate return that fires if there is a collision found in the current path solution. If that delegate fires, I believe you have to rerun a pathquery once more to get a new path. While we can agree that the dynamic collision update and new path finding query works when the gate starts up, we need more information to truly find out what is happening in the background.
    Here is the youtube video for the introduction and some information about the plugin. https://www.youtube.com/watch?v=6Tr_K551zvI&t=781s Specifically, he talks about these delegates @ around 30 or so minutes. While the video mainly talks about and shows Blueprint nodes, it makes no difference as the C++ code should be handled the same way.

    See what you can find out and please post back if you still have issues, or if you fixed it. I'd really like to continue helping if I can.

    All the best!

    -Erol

    Leave a comment:


  • replied
    Thank you for the response! I recorded a 2-minute video to represent an issue:
    https://youtu.be/bYymuJ7dVsg

    Leave a comment:


  • replied
    Originally posted by Dain_Torson View Post
    Hello!

    It's seems like the author abandoned that thread, but I still gona post a question, because the documenation is quite minimalistic and it's a last thing I have to do before digging deep in a source code.

    My main problem is that the navigation mesh is NOT updating when you scale the obstacle down. I've looked through comments and found a parameter named CustomCacheIdentifier of function ScheduleDynamicCollisionUpdate, which can probably resolve the issue, but the description of it is quite obscure and I still havened managed to use it correctly. I tried to set different values of that parameter for differetn scales, but it hadn't helped. Setting bReloadCollisionCache to true seems also to have no effect.

    Thanks in advance!
    Hello,

    I have used this plugin successfully in 4.22. When you say "The navigation mesh", what do you mean? When you say "obstacle", are you referring to an object that is defined in the array of obstacles attribute on the DonNavigationManger?

    There is no navigation mesh as far as I know. The DonNavigationManager is just a volume of sorts and is adjusted using its properties, not the transform's scale. There is an X, Y, Z size, as well as a voxel size that fills the given XYZ size of the volume.

    Can you post more information, screenshots with arrows pointing to things? I'd like to help since I have a fair amount of experience with this plugin.

    -Erol

    Leave a comment:


  • replied
    Hello!

    It's seems like the author abandoned that thread, but I still gona post a question, because the documenation is quite minimalistic and it's a last thing I have to do before digging deep in a source code.

    My main problem is that the navigation mesh is NOT updating when you scale the obstacle down. I've looked through comments and found a parameter named CustomCacheIdentifier of function ScheduleDynamicCollisionUpdate, which can probably resolve the issue, but the description of it is quite obscure and I still havened managed to use it correctly. I tried to set different values of that parameter for differetn scales, but it hadn't helped. Setting bReloadCollisionCache to true seems also to have no effect.

    Thanks in advance!

    Leave a comment:


  • replied
    Originally posted by MaxSMoke777 View Post
    I can not figure out what I'm doing wrong, both the Character and Pawn I made, using the same controller and behavior tree, will not move an inch. I'm using a small "random points in a box", 50 on all sides with an origin of the AI. I tried it with a random point in a navigable radius and even just telling it to go to a set vector location. It will not move. There is a Don's nav mesh around it, I've tried both, neither of them will get either the character or the pawn to move. Does this work in 4.23?
    One other thing: if you're using the behavior tree FlyTo node, are you using the custom event provided to link to AddMovement?

    Leave a comment:


  • replied
    Originally posted by MaxSMoke777 View Post
    I can not figure out what I'm doing wrong, both the Character and Pawn I made, using the same controller and behavior tree, will not move an inch. I'm using a small "random points in a box", 50 on all sides with an origin of the AI. I tried it with a random point in a navigable radius and even just telling it to go to a set vector location. It will not move. There is a Don's nav mesh around it, I've tried both, neither of them will get either the character or the pawn to move. Does this work in 4.23?
    Enable debug path drawing on the move node in behavior tree and check console log for warnings from plugin

    Leave a comment:


  • replied
    Originally posted by MaxSMoke777 View Post
    I can not figure out what I'm doing wrong, both the Character and Pawn I made, using the same controller and behavior tree, will not move an inch. I'm using a small "random points in a box", 50 on all sides with an origin of the AI. I tried it with a random point in a navigable radius and even just telling it to go to a set vector location. It will not move. There is a Don's nav mesh around it, I've tried both, neither of them will get either the character or the pawn to move. Does this work in 4.23?
    Hey MaxSMoke777 Have you watched the YouTube video the author supplied? Do you have a movement component on the pawn? Is the point located in an object that is an object defined as an 'obstacle' in the DonManager properties? Is the DonMesh around the entire area from start to finish? Did you enlarge the DonManager area byusing the object's transform (increasing scale) or did you use the X Y and Z properties in the DonManager to enlarge the area? Did you change the voxel size?

    Leave a comment:


  • replied
    I can not figure out what I'm doing wrong, both the Character and Pawn I made, using the same controller and behavior tree, will not move an inch. I'm using a small "random points in a box", 50 on all sides with an origin of the AI. I tried it with a random point in a navigable radius and even just telling it to go to a set vector location. It will not move. There is a Don's nav mesh around it, I've tried both, neither of them will get either the character or the pawn to move. Does this work in 4.23?

    Leave a comment:


  • replied
    Originally posted by crumbaker View Post
    About to start this on 4.22 anything I should know besides the previous comment to get this working properly is the initial release video by op still the best to go by for a tutorial?
    Hi crumbaker ,

    Yes, The video by the author provides the essential information you need to use this wonderful product. There are a few things to keep in mind:

    Pay attention to the video closely for what he says to do and not to do
    Ensure you use the XYZ GridSize properties within the DonManager to expand the volume, NOT the UE transform tool (or direct editing) to increase/decrease the scale of the bounds of the DonManager.
    Ensure your AI never go outside the bounds, or crash (at least for me on 4.22.2).
    *** This one took me a while to figure out, but it was his tools that allowed me to figure it out, despite him saying it in the video (which is easily overlooked). If you have some goal inside some object, say for example, a box collision that you use to generate a point of reference inside its bounds (maybe random, or just the origin point of the box volume), or the goal is the location of some actor: Ensure you are aware that the DonManager uses an array of entries to exclude from pathing, specifically, by default, WorldStatic and WorldDynamic. In my case, I have a box volume around a track that I generate random points for an AI to fly through. These actors were set to WorldStatic. When the AI would fly from point to point, it would appear as if it would collide with the box or have some trouble going to the point within the bounds. The Author provides a set of tools. One of them allows you to call SchedulePathFindingTask, which has the option of showing you points. I found that the points would go up and over the bounding box. Then I looked at the checkpoint and sure enough, WorldStatic. I changed it to a new type. This tool is freaking awesome and it works REALLY fast!

    Thank you VSZ for this wonderful gift!!

    Leave a comment:


  • replied
    About to start this on 4.22 anything I should know besides the previous comment to get this working properly is the initial release video by op still the best to go by for a tutorial?

    Leave a comment:


  • replied
    Originally posted by JanStapler View Post

    Have you ever gotten that to work I have the exact same error
    Hey JanStapler and Angius ,

    I tried this awesome Plugin today. I had the exact same errors as soon as I put in my own level and couldn't figure it out. I then opened the sample project and migrated his bot over to my project, changed a few things to satisfy a goal, and it still wouldn't work. I then thought my level was too large, so I made a default level from file new level, with a little floor. I put DonManager into the scene, and sized it using the X, Y, and Z properties in the Manger, NOT the transform (scale). The bot went right up to a goal with no issue.

    I then went back into my other level, deleted DonManager, placed a new one back in, sized it using the X, Y, and Z properties of the DonManager and not the transform (scale). This worked. I now have flying AI without issue. Since my error is the same as yours, I'll bet you also used the transform scale tool to enlarge the area. This is where I went wrong.

    I did not do what the author suggested in his instructional video, which IS to use the X, Y, and Z grid size properties within the DonManager to edit the size of the volume.

    edit: I also got an error (same error) when the AI went out of the bounds of the DonManager.



    Please let me know how that works out for you.

    -Erol
    Last edited by erol_demirci; 11-22-2019, 12:23 PM.

    Leave a comment:


  • replied
    Originally posted by Angius View Post
    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

    I also posted it as issue on Github repo and included stack trace there. If any more testing or logs are needed, just tell me what I need to do.
    Have you ever gotten that to work I have the exact same error

    Leave a comment:


  • replied
    Thanks, I had to look into blueprint interfaces, and add the actual "Don Navigator" interface to my blueprint under "Class Settings". I am now further along, and my flying ai will turn towards its path, but refuse to go anywhere. I believe it's colliding with itself somehow, because it shows a red box around it but everything looks similar to the sample project. It is in open space away from any other objects/trigger volumes. Hopefully I can find the solution to this as well, but any ideas would be appreciated. Thanks again!

    Leave a comment:

Working...
X