Announcement

Collapse
No announcement yet.

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

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

    #91
    @tailedmouse
    Locomotion support is beyond the purview of this plugin so you'll need to figure out what movement attributes are needed on your pawn/character for it to move as desired. The plugin solves a requested path and routes the solution to your pawn (via the Fly To node's AddMovementInput call) for you to implement any requisite locomotion functionality. The demo project's Pawn locomotion is only an example which should be adapted/extended for your pawn/character/etc.

    @khazum
    You mentioned the waypoints/locations have been found correctly so it sounds like pathfinding is working. To understand why the bots are flying off into the distance you'll need to debug the locomotion code of your pawn (start with AddMovementInput) and figure out whether the distant location they're flying off to is constant (eg: World Origin/etc) or if there is some other pattern here sheds light on the root cause.

    As this issue hasn't been reported before it is difficult to diagnose it going by just the description/video. Ultimately you'll need to add breakpoints at various places in the code (eg: your pawn's AddMovementInput, the plugin's FlyTo node's TickTask, etc) and debug this in Visual Studio line by line. Due to variations in project setup, the way the levels may be loaded (linear/async/streaming) direct debugging is the quickest way to solve issues like this.
    Last edited by VSZ; 02-22-2018, 01:18 PM.

    Steam Early Access: Drunk On Nectar - The Nature Simulator

    UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

    Comment


      #92
      Heya,

      thanks, you put me on the right track but it was really weird...i am not using any addmovementinput (just the AI flyto) so after disconnecting EVERYTHING (the behavior trees, the pawn tick..i mean EVERYTHING) it was still doing the zooming away thing...so i simply removed the flyingpawnmovement component from my pawn and put a new one in and now it's working. i have no idea why or how that fixed it but it did, so thank you! whew!

      this plugin ROCKS!

      thx much!
      -khazum

      Comment


        #93
        4.19 Update & Multi-threading Rewrite

        Download: DonAINavigation_4.19.zip

        Multi-threading Robustness Improved
        The previous multi-threading code had issues with high-frequency usecases that could result in pawns getting stuck.

        Mutli-threading has now been completely rewritten to ensure sequence-integrity of new-request/abort-request tasks by using a unified TQueue. This has dramatically improved the reliability of flying creatures in my game and eliminated all multi-threading issues related with creatures getting stuck in mid-air/etc.

        Any usecase which generates multiple "new/abort/new/abort" pathfinding requests per second (think of Dragonflies chasing bees!) will benefit immensely from this update.

        ~

        Marketplace version has been submitted and should be approved soon.

        Steam Early Access: Drunk On Nectar - The Nature Simulator

        UE4 Plugins: DoN’s Dynamic Mesh FX | DoN’s 3D Pathfinding

        Comment


          #94
          There is probably something incredibly basic that I'm missing, but when using "Find Random Point From Actor in Nav World" my AI will often pick a location beneath the landscape and end up timing out. How do I stop this from happening? I'm using world composition, streaming levels, and the unbound nav manager, if that matters.

          Edit: After further testing, it appears that the "is location under landscape" node isn't seeing my terrain when it does the line trace. Not sure why. It's just regular steaming terrain that I imported from a World Machine heightmap.
          Last edited by DaxJericho; 04-06-2018, 06:29 PM.

          Comment


            #95
            Is there a method of accessing the raw path solution as an array of vectors via blueprint? The only node that I can find which exposes it is the stress testing one, and that node doesn't seem to output the correct path. (it's only 2 points). Thank you so much.
            Trevor Lee

            Comment


              #96
              Originally posted by VSZ View Post
              @Kavaar

              This is actually a very common usecase. The sample project's "Pursuit Chase Behavior" example demonstrates how to implement exactly what you want so do check that out first.

              The force reschedule flag is more relevant for direct API queries rather than behavior trees. For behavior trees, the task needs to be aborted restarted so you'll need setup your "observer notify" states right and have a service (or some other node) to periodically check for stale locations; see the Pursuit BT for an example of this.

              In the latest version of the plugin, a community member added a "Recalculate Path Tolerance" feature. If you turn that flag on and periodically update the flight location vector, it will automatically detect when the target is stale (based on the threshold you have set) and calculate a new path. This is perhaps the ideal way to approach this now.

              The "Pursuit Chase Behavior" example hasn't been updated to use the new approach, so it showcases the old way of doing things; pick whichever works best for you!

              --

              @SaOk -Nativization hasn't really been tested for the plugin yet. At some point it should be taken up, so thanks for the pointer!
              Thanks for this info - was able to get the plugin to re-create the path when my goal actor (which moves) goes a certain distance away from the goal key of the AI bot.

              great job with the plugin.

              Comment


                #97
                I've got an issue, when i put fly to on the behaviour tree it crashes, but if i put some navmesh on the map. doesn't crash but doesnt run tick events. also i've got this on the output

                LogStats: Warning: MetaData mismatch. Did you assign a stat to two groups? New //STATGROUP_Threads//DonNavigationWorker///Thread_3548_0///####STATCAT_Advanced#### old //STATGROUP_Threads//DonNavigationWorker///Thread_808_0///####STATCAT_Advanced####

                what's the issue? :/

                Comment


                  #98
                  hope that you are able to update the plugin to 4.20 whenever you have time. running into an issue with compatibility from the code plugin source.

                  Comment


                    #99
                    I am getting errors when trying to compile the 4.19 version with a source build of UE4 4.19.2:

                    Code:
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(21): error C2504: 'FRunnable': base class undefined
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(22): error C2143: syntax error: missing ';' before '*'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(22): error C2238: unexpected token(s) preceding ';'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(26): error C3646: 'StopTaskCounter': unknown override specifier
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(26): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(30): error C2061: syntax error: identifier 'int32'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(35): error C3646: 'Run': unknown override specifier
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(35): error C2059: syntax error: ')'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(35): error C2238: unexpected token(s) preceding ';'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(45): error C3646: 'MaxPathSolverIterations': unknown override specifier
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(45): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(46): error C3646: 'MaxCollisionSolverIterations': unknown override specifier
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\Multithreading/DonNavigationWorker.h(46): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(19): error C2079: 'FDrawDebugLineRequest::LineStart' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(20): error C2079: 'FDrawDebugLineRequest::LineEnd' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(21): error C2079: 'FDrawDebugLineRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::LineStart': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(19): note: see declaration of 'FDrawDebugLineRequest::LineStart'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::LineEnd': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(20): note: see declaration of 'FDrawDebugLineRequest::LineEnd'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(21): note: see declaration of 'FDrawDebugLineRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(38): error C2079: 'FDrawDebugPointRequest::PointLocation' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(40): error C2079: 'FDrawDebugPointRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2439: 'FDrawDebugPointRequest::PointLocation': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(38): note: see declaration of 'FDrawDebugPointRequest::PointLocation'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2439: 'FDrawDebugPointRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(40): note: see declaration of 'FDrawDebugPointRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(55): error C2079: 'FDrawDebugVoxelRequest::Center' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(56): error C2079: 'FDrawDebugVoxelRequest::Box' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(57): error C2079: 'FDrawDebugVoxelRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Center': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(55): note: see declaration of 'FDrawDebugVoxelRequest::Center'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Box': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(56): note: see declaration of 'FDrawDebugVoxelRequest::Box'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(57): note: see declaration of 'FDrawDebugVoxelRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(74): error C2079: 'FDrawDebugSphereRequest::Center' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(77): error C2079: 'FDrawDebugSphereRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2439: 'FDrawDebugSphereRequest::Center': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(74): note: see declaration of 'FDrawDebugSphereRequest::Center'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2439: 'FDrawDebugSphereRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(77): note: see declaration of 'FDrawDebugSphereRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(19): error C2079: 'FDrawDebugLineRequest::LineStart' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(20): error C2079: 'FDrawDebugLineRequest::LineEnd' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(21): error C2079: 'FDrawDebugLineRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::LineStart': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(19): note: see declaration of 'FDrawDebugLineRequest::LineStart'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::LineEnd': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(20): note: see declaration of 'FDrawDebugLineRequest::LineEnd'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(31): error C2439: 'FDrawDebugLineRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(21): note: see declaration of 'FDrawDebugLineRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(38): error C2079: 'FDrawDebugPointRequest::PointLocation' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(40): error C2079: 'FDrawDebugPointRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2439: 'FDrawDebugPointRequest::PointLocation': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(38): note: see declaration of 'FDrawDebugPointRequest::PointLocation'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(48): error C2439: 'FDrawDebugPointRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(40): note: see declaration of 'FDrawDebugPointRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(55): error C2079: 'FDrawDebugVoxelRequest::Center' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(56): error C2079: 'FDrawDebugVoxelRequest::Box' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(57): error C2079: 'FDrawDebugVoxelRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Center': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(55): note: see declaration of 'FDrawDebugVoxelRequest::Center'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Box': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(56): note: see declaration of 'FDrawDebugVoxelRequest::Box'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(67): error C2439: 'FDrawDebugVoxelRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(57): note: see declaration of 'FDrawDebugVoxelRequest::Color'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(74): error C2079: 'FDrawDebugSphereRequest::Center' uses undefined struct 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(77): error C2079: 'FDrawDebugSphereRequest::Color' uses undefined struct 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2027: use of undefined type 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(29): note: see declaration of 'FVector'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2439: 'FDrawDebugSphereRequest::Center': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(74): note: see declaration of 'FDrawDebugSphereRequest::Center'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2027: use of undefined type 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>  C:\Dev\UE4\4.19.2\Engine\Source\Runtime\Core\Public\CoreFwd.h(22): note: see declaration of 'FColor'
                    2>c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(85): error C2439: 'FDrawDebugSphereRequest::Color': member could not be initialized
                    2>  c:\dev\ascentroid\plugins\donainavigation\source\donainavigation\classes\Multithreading/DonDrawDebugThreadSafe.h(77): note: see declaration of 'FDrawDebugSphereRequest::Color'
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\DonNavigatorInterface.h(21): error C2504: 'UInterface': base class undefined
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\DonNavigatorInterface.h(22): error C3646: 'Super': unknown override specifier
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\DonNavigatorInterface.h(22): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
                    2>C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\DonNavigatorInterface.h(22): error C2440: 'return': cannot convert from 'UDonNavigator *' to 'UObject *'
                    2>  C:\Dev\Ascentroid\Plugins\DonAINavigation\Source\DonAINavigation\Classes\DonNavigatorInterface.h(22): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
                    I deleted 'Binaries', 'DerivedDataCache', 'Intermediate' and 'Saved' folders, and deleted the *.sln file. I pointed my Ascentroid.uproject file to the new source build path. I built UE4 from source. Then, my project was cleaned and rebuilt as well (and the DoN plugin compilation fails per logs above).

                    The 4.19 version of the plugin was placed in:
                    [project]\Plugins\DonAINavigation\

                    My Ascentroid.build.cs:
                    Code:
                    PrivateDependencyModuleNames.Add("DonAINavigation");
                    PrivateIncludePathModuleNames.Add("DonAINavigation");
                    PublicIncludePaths.AddRange(new string[] { "DonAINavigation/Public", "DonAINavigation/Classes" });
                    It almost looks like UE4 can't see the engine "Core" dependency for the plugin? It's strange. I see "Core" defined in DonAINavigation.Build.cs.

                    Any ideas on what I missed? I've been banging my head against a wall for days now.

                    Thanks!
                    Last edited by jvukovich; 07-24-2018, 12:49 AM.

                    Comment


                      I nuked everything and started over. It worked. Something must have gotten corrupt along the way in the first attempt.

                      Comment


                        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?
                        Last edited by Paul_LTC; 08-24-2018, 07:30 PM.

                        Comment


                          The above problem was solved by creating an interface.

                          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?

                          Comment


                            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.

                            Comment


                              Editor crash once an AI is starting the "Fly To" BT node

                              Comment


                                Does DoNNavigation take into account the world origin offset? I have a game I'm working on where we move the world origin pretty regularly, and when that happens, the pathfinding doesn't seem to be offset by the world origin shift. Has anyone encountered this? If so, what was the workaround?

                                Comment

                                Working...
                                X