diff --git a/modules/terrain_editor/terrain_chunk.cpp b/modules/terrain_editor/terrain_chunk.cpp index fedf5377..0e3f474b 100644 --- a/modules/terrain_editor/terrain_chunk.cpp +++ b/modules/terrain_editor/terrain_chunk.cpp @@ -51,8 +51,7 @@ void TerrainChunk::process_lod() { if (is_ready() && this->meshes.size() > 0) { Vector3 position{ get_global_position() }; Vector3 camera{ get_viewport()->get_camera_3d()->get_global_position() }; - Vector3 diff{ (position - camera).abs() }; - float distance{ (diff.x < diff.z ? diff.z : diff.x) - this->size / 2.f }; + float distance{ (position - camera).length() - this->size / 2.f }; distance = distance > 0.f ? distance : 0.f; size_t lod{ size_t(Math::floor(distance / (this->lod_end_distance / this->meshes.size()))) }; result = lod < this->meshes.size() ? lod : (this->meshes.size() - 1);