|
@@ -184,6 +184,7 @@ float GeometryInstance3D::get_visibility_range_end() const {
|
|
void GeometryInstance3D::set_visibility_range_begin_margin(float p_dist) {
|
|
void GeometryInstance3D::set_visibility_range_begin_margin(float p_dist) {
|
|
visibility_range_begin_margin = p_dist;
|
|
visibility_range_begin_margin = p_dist;
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
|
|
+ update_configuration_warnings();
|
|
}
|
|
}
|
|
|
|
|
|
float GeometryInstance3D::get_visibility_range_begin_margin() const {
|
|
float GeometryInstance3D::get_visibility_range_begin_margin() const {
|
|
@@ -193,6 +194,7 @@ float GeometryInstance3D::get_visibility_range_begin_margin() const {
|
|
void GeometryInstance3D::set_visibility_range_end_margin(float p_dist) {
|
|
void GeometryInstance3D::set_visibility_range_end_margin(float p_dist) {
|
|
visibility_range_end_margin = p_dist;
|
|
visibility_range_end_margin = p_dist;
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
|
|
+ update_configuration_warnings();
|
|
}
|
|
}
|
|
|
|
|
|
float GeometryInstance3D::get_visibility_range_end_margin() const {
|
|
float GeometryInstance3D::get_visibility_range_end_margin() const {
|
|
@@ -202,6 +204,7 @@ float GeometryInstance3D::get_visibility_range_end_margin() const {
|
|
void GeometryInstance3D::set_visibility_range_fade_mode(VisibilityRangeFadeMode p_mode) {
|
|
void GeometryInstance3D::set_visibility_range_fade_mode(VisibilityRangeFadeMode p_mode) {
|
|
visibility_range_fade_mode = p_mode;
|
|
visibility_range_fade_mode = p_mode;
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
RS::get_singleton()->instance_geometry_set_visibility_range(get_instance(), visibility_range_begin, visibility_range_end, visibility_range_begin_margin, visibility_range_end_margin, (RS::VisibilityRangeFadeMode)visibility_range_fade_mode);
|
|
|
|
+ update_configuration_warnings();
|
|
}
|
|
}
|
|
|
|
|
|
GeometryInstance3D::VisibilityRangeFadeMode GeometryInstance3D::get_visibility_range_fade_mode() const {
|
|
GeometryInstance3D::VisibilityRangeFadeMode GeometryInstance3D::get_visibility_range_fade_mode() const {
|
|
@@ -380,6 +383,14 @@ TypedArray<String> GeometryInstance3D::get_configuration_warnings() const {
|
|
warnings.push_back(TTR("The GeometryInstance3D visibility range's End distance is set to a non-zero value, but is lower than the Begin distance.\nThis means the GeometryInstance3D will never be visible.\nTo resolve this, set the End distance to 0 or to a value greater than the Begin distance."));
|
|
warnings.push_back(TTR("The GeometryInstance3D visibility range's End distance is set to a non-zero value, but is lower than the Begin distance.\nThis means the GeometryInstance3D will never be visible.\nTo resolve this, set the End distance to 0 or to a value greater than the Begin distance."));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ if ((visibility_range_fade_mode == VISIBILITY_RANGE_FADE_SELF || visibility_range_fade_mode == VISIBILITY_RANGE_FADE_DEPENDENCIES) && !Math::is_zero_approx(visibility_range_begin) && Math::is_zero_approx(visibility_range_begin_margin)) {
|
|
|
|
+ warnings.push_back(TTR("The GeometryInstance3D is configured to fade in smoothly over distance, but the fade transition distance is set to 0.\nTo resolve this, increase Visibility Range Begin Margin above 0."));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if ((visibility_range_fade_mode == VISIBILITY_RANGE_FADE_SELF || visibility_range_fade_mode == VISIBILITY_RANGE_FADE_DEPENDENCIES) && !Math::is_zero_approx(visibility_range_end) && Math::is_zero_approx(visibility_range_end_margin)) {
|
|
|
|
+ warnings.push_back(TTR("The GeometryInstance3D is configured to fade out smoothly over distance, but the fade transition distance is set to 0.\nTo resolve this, increase Visibility Range End Margin above 0."));
|
|
|
|
+ }
|
|
|
|
+
|
|
return warnings;
|
|
return warnings;
|
|
}
|
|
}
|
|
|
|
|