From 930b1b978cad606c4db54230015fd0cd3f07d375 Mon Sep 17 00:00:00 2001 From: Wojtek Figat Date: Mon, 13 Nov 2023 10:25:46 +0100 Subject: [PATCH] Fix incorrect spline length calculation if first point is not at spline origin #1876 --- Source/Engine/Level/Actors/Spline.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Source/Engine/Level/Actors/Spline.cpp b/Source/Engine/Level/Actors/Spline.cpp index 194dbd9a9..df93ea840 100644 --- a/Source/Engine/Level/Actors/Spline.cpp +++ b/Source/Engine/Level/Actors/Spline.cpp @@ -152,6 +152,11 @@ float Spline::GetSplineLength() const const int32 slices = 20; const float step = 1.0f / (float)slices; Vector3 prevPoint = Vector3::Zero; + if (Curve.GetKeyframes().Count() != 0) + { + const auto& a = Curve[0]; + prevPoint = a.Value.Translation * _transform.Scale; + } for (int32 i = 1; i < Curve.GetKeyframes().Count(); i++) { const auto& a = Curve[i - 1];