Merge pull request #50539 from Calinou/material-hide-triplanar-subproperties-when-disabled
Hide triplanar subproperties when triplanar is disabled in BaseMaterial3D
This commit is contained in:
commit
73f5742f94
@ -1793,12 +1793,21 @@ void BaseMaterial3D::set_flag(Flags p_flag, bool p_enabled) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
flags[p_flag] = p_enabled;
|
flags[p_flag] = p_enabled;
|
||||||
if (p_flag == FLAG_USE_SHADOW_TO_OPACITY || p_flag == FLAG_USE_TEXTURE_REPEAT || p_flag == FLAG_SUBSURFACE_MODE_SKIN || p_flag == FLAG_USE_POINT_SIZE) {
|
|
||||||
|
if (
|
||||||
|
p_flag == FLAG_USE_SHADOW_TO_OPACITY ||
|
||||||
|
p_flag == FLAG_USE_TEXTURE_REPEAT ||
|
||||||
|
p_flag == FLAG_SUBSURFACE_MODE_SKIN ||
|
||||||
|
p_flag == FLAG_USE_POINT_SIZE ||
|
||||||
|
p_flag == FLAG_UV1_USE_TRIPLANAR ||
|
||||||
|
p_flag == FLAG_UV2_USE_TRIPLANAR) {
|
||||||
notify_property_list_changed();
|
notify_property_list_changed();
|
||||||
}
|
}
|
||||||
|
|
||||||
if (p_flag == FLAG_PARTICLE_TRAILS_MODE) {
|
if (p_flag == FLAG_PARTICLE_TRAILS_MODE) {
|
||||||
update_configuration_warning();
|
update_configuration_warning();
|
||||||
}
|
}
|
||||||
|
|
||||||
_queue_shader_change();
|
_queue_shader_change();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1924,6 +1933,14 @@ void BaseMaterial3D::_validate_property(PropertyInfo &property) const {
|
|||||||
property.usage = PROPERTY_USAGE_NO_EDITOR;
|
property.usage = PROPERTY_USAGE_NO_EDITOR;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ((property.name == "uv1_triplanar_sharpness" || property.name == "uv1_world_triplanar") && !flags[FLAG_UV1_USE_TRIPLANAR]) {
|
||||||
|
property.usage = PROPERTY_USAGE_NO_EDITOR;
|
||||||
|
}
|
||||||
|
|
||||||
|
if ((property.name == "uv2_triplanar_sharpness" || property.name == "uv2_world_triplanar") && !flags[FLAG_UV2_USE_TRIPLANAR]) {
|
||||||
|
property.usage = PROPERTY_USAGE_NO_EDITOR;
|
||||||
|
}
|
||||||
|
|
||||||
// you can only enable anti-aliasing (in materials) on alpha scissor and alpha hash
|
// you can only enable anti-aliasing (in materials) on alpha scissor and alpha hash
|
||||||
const bool can_select_aa = (transparency == TRANSPARENCY_ALPHA_SCISSOR || transparency == TRANSPARENCY_ALPHA_HASH);
|
const bool can_select_aa = (transparency == TRANSPARENCY_ALPHA_SCISSOR || transparency == TRANSPARENCY_ALPHA_HASH);
|
||||||
// alpha anti aliasiasing is only enabled when you can select aa
|
// alpha anti aliasiasing is only enabled when you can select aa
|
||||||
@ -2724,7 +2741,7 @@ void BaseMaterial3D::_bind_methods() {
|
|||||||
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "heightmap_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture", TEXTURE_HEIGHTMAP);
|
ADD_PROPERTYI(PropertyInfo(Variant::OBJECT, "heightmap_texture", PROPERTY_HINT_RESOURCE_TYPE, "Texture2D"), "set_texture", "get_texture", TEXTURE_HEIGHTMAP);
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "heightmap_flip_texture"), "set_flag", "get_flag", FLAG_INVERT_HEIGHTMAP);
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "heightmap_flip_texture"), "set_flag", "get_flag", FLAG_INVERT_HEIGHTMAP);
|
||||||
|
|
||||||
ADD_GROUP("Subsurf Scatter", "subsurf_scatter_");
|
ADD_GROUP("Subsurface Scattering", "subsurf_scatter_");
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "subsurf_scatter_enabled"), "set_feature", "get_feature", FEATURE_SUBSURFACE_SCATTERING);
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "subsurf_scatter_enabled"), "set_feature", "get_feature", FEATURE_SUBSURFACE_SCATTERING);
|
||||||
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "subsurf_scatter_strength", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_subsurface_scattering_strength", "get_subsurface_scattering_strength");
|
ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "subsurf_scatter_strength", PROPERTY_HINT_RANGE, "0,1,0.01"), "set_subsurface_scattering_strength", "get_subsurface_scattering_strength");
|
||||||
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "subsurf_scatter_skin_mode"), "set_flag", "get_flag", FLAG_SUBSURFACE_MODE_SKIN);
|
ADD_PROPERTYI(PropertyInfo(Variant::BOOL, "subsurf_scatter_skin_mode"), "set_flag", "get_flag", FLAG_SUBSURFACE_MODE_SKIN);
|
||||||
|
Loading…
Reference in New Issue
Block a user