You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hi, folks! This is a very cool plugin, and just what I've needed for the project I'm working on.
One quick thing I've noticed is that ticking the bRecalcPathOnDestinationChanged bool on the BTTask_FlyTo behavior tree node causes the node to immediately and repeatedly fail. It looks like the bit where it's checking the current target against the RecalculatePathTolerance,
if (!myMemory->TargetLocation.Equals(flightDestination, RecalculatePathTolerance))
is using Unreal's float == Vector operator, which tests whether every component of the flightDestination FVector is equal to the tolerance. If I'm not mistaken, this will only return true if the destination happens to be {X=RecalculatePathTolerance, Y=RecalculatePathTolerance, Z=RecalculatePathTolerance}; should this be an original vs new distance check?
Thanks again for creating and supporting this plugin; I'm having a great time with it!
The text was updated successfully, but these errors were encountered:
Okay, whoops, I misread which Equals operator was being used; it looks like it's doing the one where it checks whether the difference between every component of TargetLocation and flightDestination is <= RecalculatePathTolerance. A distance-squared check might still make more sense than checking each component individually, but the code as written should totally work.
Hi, folks! This is a very cool plugin, and just what I've needed for the project I'm working on.
One quick thing I've noticed is that ticking the
bRecalcPathOnDestinationChanged
bool on the BTTask_FlyTo behavior tree node causes the node to immediately and repeatedly fail. It looks like the bit where it's checking the current target against the RecalculatePathTolerance,DonAINavigation/Source/DonAINavigation/Private/BehaviorTree/BTTask_FlyTo.cpp
Line 439 in 047f8a7
is using Unreal's float == Vector operator, which tests whether every component of the flightDestination FVector is equal to the tolerance. If I'm not mistaken, this will only return true if the destination happens to be
{X=RecalculatePathTolerance, Y=RecalculatePathTolerance, Z=RecalculatePathTolerance}
; should this be an original vs new distance check?Thanks again for creating and supporting this plugin; I'm having a great time with it!
The text was updated successfully, but these errors were encountered: