Announcement

Collapse
No announcement yet.

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

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

    Originally posted by erol_demirci View Post

    Hey Golden4o I am not sure if your response was to me because of some confusion.

    Unfortunately I am not related to development or official support of this plugin. I just try to help people with this plugin since the developer abandoned it long ago and I have some elementary experience with it. I am not affiliated or can help in any way as to how this plugin interfaces with Unreal Engine. That is something we must do as a community, or, the developer must do on their own.

    Or, perhaps I am incorrect and you meant something different?

    -Erol
    In the Epic Marketstore it's saying I can't install it as it's max supported version is 2.23.
    Now I want to ask if there is any access to the source files so we might patch it?
    The plugin is sounds that it might be good for some occasions and see this as a real shame if the author hasn't released the source code if he decided to just abandon it.
    I have some experience in c++ and am a dev by day in c# .Net for 6 years.
    Currently I'm working on a somewhat complex project in Unreal in C++ so I've built some exp in it and would give it a go for sure to upgrade it if given the chance.

    Comment


      Hi vlad3r08 ,

      I understand you can't install it in 4.24, I have not yet tried to do that as I am currently on 4.22. You can install 4.23 and install the plugin and get the source in the following folder: On a standard windows install: ProgramFiles\EpicGames\UE version\Engine\Plugins\Marketplace\DonAINavigation.

      -Erol

      Comment


        VSZ I have packaged the plugin for use in 4.24. I did NOT thoroughly test it, but it does work in my project. Please let me know how to proceed (do you want me to upload it somewhere?)

        -Erol

        Comment


          Originally posted by erol_demirci View Post
          VSZ I have packaged the plugin for use in 4.24. I did NOT thoroughly test it, but it does work in my project. Please let me know how to proceed (do you want me to upload it somewhere?)

          -Erol
          Can you please upload it and share it with us?

          Comment


            I have created a 4.24.1 version of the plugin that works with the Example project. If you are interested in it you can PM me for the link, otherwise you can follow the steps I post below and build a version of your own.
            Last edited by AlienChrysalis; 01-18-2020, 10:24 PM.

            Comment


              AlienChrysalis ,

              I do not think it is a good idea to post a marketplace item, despite the license, in modified form, here on the forums, without attempting to consult the author, or at least consulting with Epic Games. The properties in the descriptor file I see you kept in tact, which in fact, is support information, as well as a link to the market place item (which is NOT supported under 4.24).

              Why not post the process to which individuals can build on their own which removes rules to be broken here, and you inspire/educate/empower others to learn. WinWin.

              This package may not work with different locales/setups as you built this using your own locale.
              Last edited by erol_demirci; 01-18-2020, 05:13 PM.

              Comment


                erol_demirci It's an open source project so he and everyone can do with it what ever they want. Dev is not and most probably will not update it. So its just a good thing that someone who has knowledge did it for us.

                Comment


                  I don't think you understand Freymox , this is a marketplace item, not something you download from a website and distribute on a forum free of use. No one can really say what the legal ramifications are, or what the rights are of a forum user with regard to Marketplace content that is not theirs. Using the MIT license to modify at your own will is one thing, but posting the owning website's Marketplace item without permission of the author or Epic is not a smart move. I would place bets that it's simply forbidden to do so.

                  Despite all that mumbo jumbo, what is wrong with providing instructions on HOW to do that on your own? Again, one removes themselves from any legal trouble, and, they educate others on HOW to do something. It is a win/win for the community.

                  The last thing I would like to say is this: That file is suspect, and will always be because it is NOT provided by Epic's marketplace. It was not provided by and guaranteed by Epic to be free of security issues; it was not overseen in any way. The author DID provide an update to 4.23, so what makes you or others feel the author has abandoned the product? Perhaps they do not get involved in the forums any longer, or, they are rigorously testing it against 4.24. Simply testing against one person's project is not sufficient to say it 'works', and is thus the reason I feel the author is not publishing it yet. Nevertheless, no one can argue the fact that this is a product on Epic's marketplace, which has legal terms, which I am sure bans anyone from simply just posting the software on a forum regardless of how one feels. There are rules.
                  Last edited by erol_demirci; 01-18-2020, 10:13 PM.

                  Comment


                    He does make a good point, its better to learn how to do it as it will not work in the next version. The steps for building it are very simple really.

                    1) Create an empty C++ class in the original Example project under a previous version that has a supported plugin version.
                    2) Make a copy of that Example project and rename it to signify it is your working version for 4.24
                    3) Copy the plugin from your Engine versions Marketplace location into your new working project Plugins folder and using a text editor edit the .uplugin file so the engine version line reads 4.24.0
                    4) Delete the old visual studio solution, vs and intermediate.folders from the working project as these are for the wrong engine version.
                    5) Right click on the working Projects uproject file and select 4.24 version of the engine from the list, this will generate a new VS solution, .vs and intermediate folder which will let you rebuild the plugin binaries for that engine version as well.
                    6) Open the solution and Build, this should update all your binaries including the Plugin binaries.
                    7) Run the project and make sure there are no errors reported, and that the plugin is enabled, if not then enable it and restart the editor.

                    I'll update my post and people can contact me directly for that link if they want the quick and easy.
                    Last edited by AlienChrysalis; 01-18-2020, 10:25 PM.

                    Comment


                      Hi Everyone, here is an alternative way to do it if the previous post's steps do not work:


                      Here are simple steps to take (not the cleanest method, but it gets the job done): You will need Visual Studio 2017 at minimum (up to you to ensure you're on at least the minimum version). This also comes without support or warranty.

                      1. Open a new C++ project in 4.24 (blank with no starter content is all you need).

                      2. Create a new plugin (I used Third Party Library template) Name the plugin DonAINavigation. Close the project.

                      3. Go to the project folder in the filesystem and open Plugins folder. Delete the Source, Content, and Resources folders. Intermediate and Binaries do not matter because that is POST packaging... You can leave them there, will not hurt and will not cause any errors.

                      4. Copy the DonAINavigation Source, Resources, and Content folders from the 4.23 Engine\Plugins\Marketplace\DonAINavigation folder (I described this in an earlier post) and paste them into the Plugins folder from step 3.

                      5. In the DonAINavigation folder in the ENGINE structure (from step 4) open the DonAINavigation.uplugin file using a text editor and copy its contents. In the project's Plugins\DonAINavigation folder, there is also a DonAINavigation.uplugin file. Open that, delete everything inside, and paste from the contents you copied.

                      6. VERY IMPORTANT! In that text, there is field called: EngineVersion, and it should have a value of "4.23.0" with the quotes. Change the 4.23 to 4.24. Save and close the .uplugin file, and close the source file as well.

                      7. Open the project. It may ask if you want to update the project file. Nothing wrong with clicking OK.

                      8. Open Plugins, find the new plugin with the familiar icon and click Package (little tiny text right in the middle of the plugin box). It will ask for a location to output the package contents. You can put it anywhere (simply create a new folder in the project root, call it PLUGINPACKAGE). Make sure either the folder is highlighted, or, you have entered the folder and click Select Folder.

                      9. The packaging process should start. It may take a few minutes to completely package the plugin.

                      10. When done, DELETE the contents of the project's plugins folder, and paste the DonAINavigation folder from the output into the Plugins folder. Open the project.

                      11. If done correctly, open Plugins and see if the plugin is enabled, if not, enable it, restart the engine, and see if you can access the API. If so, go to step 12 to make it available for all projects using 4.24.

                      12 Close the project, CUT the DonAINavigation folder from the project's Plugins folder and paste it in 4.24 Engine \Plugins\Marketplace.

                      13. Open any project using 4.24, and you should have the plugin available for use (may need to enable it). Now the plugin will be available engine wide.

                      IF YOU GET AN ERROR C1853 IN THE LOG, GO HERE: https://forums.unrealengine.com/deve...packaging-only

                      You're Welcome.
                      Last edited by erol_demirci; 01-18-2020, 10:39 PM.

                      Comment


                        Anyone has idea why Im getting these? It never stops at point. And if I put wait after fly to it just keep floating in air.
                        https://gyazo.com/7969ff85a3b8455b9575ec60974213b4

                        Comment


                          Originally posted by Freymox View Post
                          Anyone has idea why Im getting these? It never stops at point. And if I put wait after fly to it just keep floating in air.
                          https://gyazo.com/7969ff85a3b8455b9575ec60974213b4
                          Hi Freymox ,

                          The only time I've seen the drift off like that is when the search query doesn't respond in time, OR, the point you're trying to go to is not reachable. Are you familiar with the DonManager object's properties? Specifically the arrays that identify types of collider identities as obstacles? Also, do not adjust the DonManager scale in the world outliner, and instead, use the DonManager properties X Y Z values to increase the size of the DonManager that way.
                          One way you can check the first suggestion is (this OR that) is by enabling all the debugging options in the blueprint node. Do that and then post another video if you still can't figure out. If you see a bunch of red dots around your point, and it never actually hits the point, and the distance from the ai to the destination is MORE than what the threshold is defined in the Blueprint node, then most likely the destination is inside a collider that is marked as an osbstalce (world dynamic and world static are obstacles by default... is that box a world dynamic or world static collision type?).

                          -Erol

                          Comment


                            Hi erol_demirci,

                            Here is a video - https://gyazo.com/cdce54ee6b790bf61bcbe5638e0c19db
                            My way-point collision is set to nocolission. and I even add it as "Actors to ignore for collision" I haven't couched DonManager at all. Im using example project to figure out why my sistem is not working.
                            I'm using charachter instead of pawn. could that be a problem? And I use my own way-point instead of what is used in example. Cold any of these cause a problem?

                            Comment


                              Originally posted by Freymox View Post
                              Hi erol_demirci,

                              Here is a video - https://gyazo.com/cdce54ee6b790bf61bcbe5638e0c19db
                              My way-point collision is set to nocolission. and I even add it as "Actors to ignore for collision" I haven't couched DonManager at all. Im using example project to figure out why my sistem is not working.
                              I'm using charachter instead of pawn. could that be a problem? And I use my own way-point instead of what is used in example. Cold any of these cause a problem?
                              Hey Freymox ; Even if the waypoint collision entry is set to 'no collision' (like a trigger or a volume without a collider) it should still have a collision type entry, and it is likely WorldStatic or WorldDynamic if you have not changed it. This entry is a member of the array of obstacles in the DonManager. The object does not need collision turned on to become an obstacle, only the entry in the obstacles array in the DonManager is required (which those two entries are defaulted into the obstacles array). Please check the Waypoint mesh(es) to ensure none of them are of the types that are defined in the obstacles array. Better yet, you can past images of all the meshes' collision properties that make up the waypoint so we can see their enumerations.

                              Character is a subclass of pawn, and I do not believe you need the pawn class to use this plugin. I could be wrong, but I believe you can even attach it to actor and it would work, provided it has movement components for the actor to move. Character comes with a movement component on its own so that should not matter. If you really want to test it, you could try creating a pawn and giving it a FlyingMovementComponent (I think it's called) to see if that helps, but I believe the issue is what I pointed out earlier.

                              -Erol
                              Last edited by erol_demirci; 01-20-2020, 11:42 PM.

                              Comment


                                erol ademoski I did a change and still nothing - https://gyazo.com/49d2fa294f92e0d28d56e3beba0b728c
                                If I change maximum proximity required form 15 to 30, then at least it goes farther than fly to in behavior three. As u can see in this video - https://drive.google.com/file/d/1Dya...3JM4wLYl0/view
                                at least it prints out hello. But my BP don't understand, that AI is in a place, becouse after reaching the point in just floats in the air. It's not stopping at way point.
                                Last edited by Freymox; 01-21-2020, 10:20 AM.

                                Comment

                                Working...
                                X