diff --git a/modules/terrain/terrain_modifier.cpp b/modules/terrain/terrain_modifier.cpp index ed7c45e2..bd29ab56 100644 --- a/modules/terrain/terrain_modifier.cpp +++ b/modules/terrain/terrain_modifier.cpp @@ -28,12 +28,8 @@ float TerrainModifier::blend(float under, float over) { float const difference{ under - over }; float const distance{ Math::abs(difference) }; // .25 because we need half of each half of the blend range to be used - float const center_distance{ - this->blend_distance == 0.f - ? 0.f - : this->blend_distance * 0.25f - distance / this->blend_distance - }; - if (center_distance < 0.f) { + float const center_distance{ this->blend_distance == 0.f ? 0.f : this->blend_distance * 0.25f - distance / this->blend_distance }; + if (center_distance <= 0.f) { return over; } float const smooth_center_distance{ center_distance * center_distance }; diff --git a/project/scenes/terrain_test.tscn b/project/scenes/terrain_test.tscn index 2b3ebcda..c0199c06 100644 --- a/project/scenes/terrain_test.tscn +++ b/project/scenes/terrain_test.tscn @@ -45,7 +45,7 @@ chunk_size = 100 thread_count = 5 [node name="TerrainModifierDistance2" type="TerrainModifierDistance" parent="Terrain" unique_id=2110821264] -transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 818.99365, -123.52425, 223.5953) +transform = Transform3D(1, 0, 0, 0, 1, 0, 0, 0, 1, 818.99365, -136.41019, 223.5953) blend_distance = 0.0 distance_weight_curve = SubResource("Curve_nonsf")