From 10fbaa07f5def4e0f3cc394f204ec87bbe4620f9 Mon Sep 17 00:00:00 2001 From: FlightControl Date: Thu, 31 Mar 2016 10:41:01 +0200 Subject: [PATCH] Escort now follows the intersecting point of the sphere around the client. --- Moose/Escort.lua | 20 ++++++++++++++++-- .../miz/MOOSE_Escort_Test_Follow.miz | Bin 40943 -> 40939 bytes 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/Moose/Escort.lua b/Moose/Escort.lua index 02527a343..ea9d9d1bc 100644 --- a/Moose/Escort.lua +++ b/Moose/Escort.lua @@ -351,8 +351,24 @@ function ESCORT:_FollowScheduler( FollowDistance ) self:T2( { "Group:", GS, GD, GT, GV2, GV1, GT2, GT1 } ) + -- Calculate the group direction vector + local GV = { x = GV2.x - CV2.x, y = GV2.y - CV2.y, z = GV2.z - CV2.z } + + -- Calculate GH2, GH2 with the same height as CV2. + local GH2 = { x = GV2.x, y = GV2.y, z = CV2.z } + + -- Calculate the angle of GV to the orthonormal plane + local alpha = math.atan2( GV.y, GV.x ) + + -- Now we calculate the intersecting vector between the circle around CV2 with radius FollowDistance and GH2. + -- From the GeoGebra model: CVI = (x(CV2) + FollowDistance cos(alpha), y(CV2) + FollowDistance sin(alpha), z(GH2)) + local CVI = { x = CV2.x + FollowDistance * math.cos(alpha), + y = CV2.y + FollowDistance * math.sin(alpha), + z = GH2.z + } + -- Measure distance between client and group - local CatchUpDistance = ( ( CV2.x - GV2.x )^2 + ( CV2.y - GV2.y )^2 + ( CV2.z - GV2.z )^2 ) ^ 0.5 + local CatchUpDistance = ( ( CVI.x - GV2.x )^2 + ( CVI.y - GV2.y )^2 + ( CVI.z - GV2.z )^2 ) ^ 0.5 local Distance = CatchUpDistance - FollowDistance -- The calculation of the Speed would simulate that the group would take 30 seconds to overcome @@ -378,7 +394,7 @@ function ESCORT:_FollowScheduler( FollowDistance ) self:T( { "Client Speed, Client Time, Escort Speed, Speed, CatchUpSpeed, BreakSpeed, Distance, Time:", CS, CT, GS, Speed, CatchUpSpeed, BreakSpeed, Distance, Time } ) -- Now route the escort to the desired point with the desired speed. - self.EscortGroup:TaskRouteToVec3( CV2, Speed / 3.6 ) -- DCS models speed in Mps (Miles per second) + self.EscortGroup:TaskRouteToVec3( CVI, Speed / 3.6 ) -- DCS models speed in Mps (Miles per second) end else routines.removeFunction( self.FollowScheduler ) diff --git a/Test Missions/miz/MOOSE_Escort_Test_Follow.miz b/Test Missions/miz/MOOSE_Escort_Test_Follow.miz index e62ab61013e7f573c1cd360d736031ac24bcdb93..a7692717ed46e8caa4692233c582b2591bf28113 100644 GIT binary patch delta 13254 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