@@ -26,10 +26,6 @@ void Terrain3DMeshAsset::_set_generated_type(const GenType p_type) {
26
26
LOG (DEBUG, " Generating card mesh" );
27
27
_meshes.push_back (_get_generated_mesh ());
28
28
_set_material_override (_get_material ());
29
- _height_offset = 0 .5f ;
30
- _generated_faces = 2 ;
31
- _relative_density = 10 .f ;
32
- _calculated_density = 10 .f ;
33
29
}
34
30
}
35
31
@@ -158,8 +154,7 @@ void Terrain3DMeshAsset::clear() {
158
154
_cast_shadows = GeometryInstance3D::SHADOW_CASTING_SETTING_ON;
159
155
_generated_faces = 2 .f ;
160
156
_generated_size = Vector2 (1 .f , 1 .f );
161
- _relative_density = -1 .f ;
162
- _calculated_density = -1 .f ;
157
+ _density = 10 .f ;
163
158
_packed_scene.unref ();
164
159
_material_override.unref ();
165
160
_set_generated_type (TYPE_TEXTURE_CARD);
@@ -187,19 +182,7 @@ void Terrain3DMeshAsset::set_height_offset(const real_t p_offset) {
187
182
188
183
void Terrain3DMeshAsset::set_density (const real_t p_density) {
189
184
LOG (INFO, " Setting mesh density: " , p_density);
190
- if (p_density < 0 ) {
191
- _relative_density = _calculated_density;
192
- } else {
193
- _relative_density = CLAMP (p_density, 0 .01f , 10 .f );
194
- }
195
- }
196
-
197
- real_t Terrain3DMeshAsset::get_density () const {
198
- if (_relative_density > 0 ) {
199
- return _relative_density;
200
- } else {
201
- return _calculated_density;
202
- }
185
+ _density = CLAMP (p_density, 0 .01f , 10 .f );
203
186
}
204
187
205
188
void Terrain3DMeshAsset::set_visibility_range (const real_t p_visibility_range) {
@@ -260,30 +243,33 @@ void Terrain3DMeshAsset::set_scene_file(const Ref<PackedScene> &p_scene_file) {
260
243
}
261
244
if (_meshes.size () > 0 ) {
262
245
Ref<Mesh> mesh = _meshes[0 ];
263
- _calculated_density = CLAMP (10 .f / mesh->get_aabb ().get_volume (), 0 .01f , 10 .0f );
264
- _relative_density = _calculated_density;
265
- LOG (DEBUG, " Emitting file_changed" );
266
- emit_signal (" file_changed" );
246
+ _density = CLAMP (10 .f / mesh->get_aabb ().get_volume (), 0 .01f , 10 .0f );
267
247
} else {
268
248
LOG (ERROR, " No MeshInstance3D found in scene file" );
269
249
}
270
250
notify_property_list_changed ();
271
251
} else {
272
252
set_generated_type (TYPE_TEXTURE_CARD);
253
+ _density = 10 .f ;
273
254
}
255
+ LOG (DEBUG, " Emitting file_changed" );
256
+ emit_signal (" file_changed" );
257
+ emit_signal (" instancer_setting_changed" );
274
258
}
275
259
276
260
void Terrain3DMeshAsset::set_material_override (const Ref<Material> &p_material) {
277
261
_set_material_override (p_material);
278
262
LOG (DEBUG, " Emitting setting_changed" );
279
263
emit_signal (" setting_changed" );
264
+ emit_signal (" instancer_setting_changed" );
280
265
}
281
266
282
267
void Terrain3DMeshAsset::set_generated_type (const GenType p_type) {
283
268
_set_generated_type (p_type);
284
269
LOG (DEBUG, " Emitting file_changed" );
285
270
notify_property_list_changed ();
286
271
emit_signal (" file_changed" );
272
+ emit_signal (" instancer_setting_changed" );
287
273
}
288
274
289
275
void Terrain3DMeshAsset::set_generated_faces (const int p_count) {
@@ -295,6 +281,7 @@ void Terrain3DMeshAsset::set_generated_faces(const int p_count) {
295
281
_set_material_override (_get_material ());
296
282
LOG (DEBUG, " Emitting setting_changed" );
297
283
emit_signal (" setting_changed" );
284
+ emit_signal (" instancer_setting_changed" );
298
285
}
299
286
}
300
287
}
@@ -308,6 +295,7 @@ void Terrain3DMeshAsset::set_generated_size(const Vector2 &p_size) {
308
295
_set_material_override (_get_material ());
309
296
LOG (DEBUG, " Emitting setting_changed" );
310
297
emit_signal (" setting_changed" );
298
+ emit_signal (" instancer_setting_changed" );
311
299
}
312
300
}
313
301
}
0 commit comments