From 5780fb7392608e2403ee306ee9428a349bc4cf58 Mon Sep 17 00:00:00 2001 From: Zode Date: Mon, 17 Jun 2024 22:16:10 +0300 Subject: [PATCH] absolute snapping: large worlds fix --- Source/Editor/Gizmo/TransformGizmoBase.cs | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/Source/Editor/Gizmo/TransformGizmoBase.cs b/Source/Editor/Gizmo/TransformGizmoBase.cs index 5e2a20d17..1715a5b02 100644 --- a/Source/Editor/Gizmo/TransformGizmoBase.cs +++ b/Source/Editor/Gizmo/TransformGizmoBase.cs @@ -343,10 +343,20 @@ namespace FlaxEditor.Gizmo _hasAbsoluteSnapped = true; Vector3 currentTranslationScale = isScaling ? GetSelectedTransform(0).Scale : GetSelectedTransform(0).Translation; - absoluteDelta = currentTranslationScale - new Vector3( - Mathf.Round(currentTranslationScale.X / snapValue.X) * snapValue.X, - Mathf.Round(currentTranslationScale.Y / snapValue.Y) * snapValue.Y, - Mathf.Round(currentTranslationScale.Z / snapValue.Z) * snapValue.Z); + if(LargeWorlds.Enable) + { + absoluteDelta = currentTranslationScale - new Vector3( + Double.Round(currentTranslationScale.X / snapValue.X) * snapValue.X, + Double.Round(currentTranslationScale.Y / snapValue.Y) * snapValue.Y, + Double.Round(currentTranslationScale.Z / snapValue.Z) * snapValue.Z); + } + else + { + absoluteDelta = currentTranslationScale - new Vector3( + Mathf.Round(currentTranslationScale.X / snapValue.X) * snapValue.X, + Mathf.Round(currentTranslationScale.Y / snapValue.Y) * snapValue.Y, + Mathf.Round(currentTranslationScale.Z / snapValue.Z) * snapValue.Z); + } } delta = new Vector3(