From b8fb765a65da2a5b03d8d4e68a0a9352f542a4bf Mon Sep 17 00:00:00 2001 From: "K. S. Ernest (iFire) Lee" Date: Fri, 18 Jun 2021 12:40:10 -0700 Subject: [PATCH] Fix for LOD is broken 49706 --- editor/import/scene_importer_mesh.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/editor/import/scene_importer_mesh.cpp b/editor/import/scene_importer_mesh.cpp index 7a28677481..ce78166d1e 100644 --- a/editor/import/scene_importer_mesh.cpp +++ b/editor/import/scene_importer_mesh.cpp @@ -215,6 +215,7 @@ void EditorSceneImporterMesh::generate_lods() { int index_target = indices.size() * threshold; float max_mesh_error_percentage = 1e0f; float mesh_error = 0.0f; + float scale = SurfaceTool::simplify_scale_func((const float *)vertices_ptr, vertex_count, sizeof(Vector3)); while (index_target > min_indices) { Vector new_indices; new_indices.resize(indices.size()); @@ -223,7 +224,7 @@ void EditorSceneImporterMesh::generate_lods() { break; } Surface::LOD lod; - lod.distance = mesh_error; + lod.distance = mesh_error * scale; if (Math::is_zero_approx(mesh_error)) { break; }