forked from bartvdbraak/blender
Some tweaking of value ranges for hair target density and removed
density factor (already included in grid velocity). Conflicts: source/blender/physics/intern/BPH_mass_spring.cpp
This commit is contained in:
parent
2da21b30ae
commit
52384179f4
@ -387,13 +387,13 @@ static void rna_def_cloth_sim_settings(BlenderRNA *brna)
|
|||||||
|
|
||||||
prop = RNA_def_property(srna, "density_target", PROP_FLOAT, PROP_NONE);
|
prop = RNA_def_property(srna, "density_target", PROP_FLOAT, PROP_NONE);
|
||||||
RNA_def_property_float_sdna(prop, NULL, "density_target");
|
RNA_def_property_float_sdna(prop, NULL, "density_target");
|
||||||
RNA_def_property_range(prop, 0.0f, 1000000.0f);
|
RNA_def_property_range(prop, 0.0f, 10000.0f);
|
||||||
RNA_def_property_ui_text(prop, "Target Density", "Maximum density of hair");
|
RNA_def_property_ui_text(prop, "Target Density", "Maximum density of hair");
|
||||||
RNA_def_property_update(prop, 0, "rna_cloth_update");
|
RNA_def_property_update(prop, 0, "rna_cloth_update");
|
||||||
|
|
||||||
prop = RNA_def_property(srna, "density_strength", PROP_FLOAT, PROP_NONE);
|
prop = RNA_def_property(srna, "density_strength", PROP_FLOAT, PROP_NONE);
|
||||||
RNA_def_property_float_sdna(prop, NULL, "density_strength");
|
RNA_def_property_float_sdna(prop, NULL, "density_strength");
|
||||||
RNA_def_property_range(prop, 0.0f, 1000.0f);
|
RNA_def_property_range(prop, 0.0f, 1.0f);
|
||||||
RNA_def_property_ui_text(prop, "Target Density Strength", "Influence of target density on the simulation");
|
RNA_def_property_ui_text(prop, "Target Density Strength", "Influence of target density on the simulation");
|
||||||
RNA_def_property_update(prop, 0, "rna_cloth_update");
|
RNA_def_property_update(prop, 0, "rna_cloth_update");
|
||||||
|
|
||||||
|
@ -672,6 +672,9 @@ static void cloth_continuum_step(ClothModifierData *clmd, float dt)
|
|||||||
|
|
||||||
const float fluid_factor = 0.95f; /* blend between PIC and FLIP methods */
|
const float fluid_factor = 0.95f; /* blend between PIC and FLIP methods */
|
||||||
float smoothfac = parms->velocity_smooth;
|
float smoothfac = parms->velocity_smooth;
|
||||||
|
/* XXX FIXME arbitrary factor!!! this should be based on some intuitive value instead,
|
||||||
|
* like number of hairs per cell and time decay instead of "strength"
|
||||||
|
*/
|
||||||
float density_target = parms->density_target;
|
float density_target = parms->density_target;
|
||||||
float density_strength = parms->density_strength;
|
float density_strength = parms->density_strength;
|
||||||
float gmin[3], gmax[3];
|
float gmin[3], gmax[3];
|
||||||
|
@ -598,7 +598,7 @@ static const float density_threshold = 0.001f; /* cells with density below this
|
|||||||
BLI_INLINE float hair_volume_density_divergence(float density, float target_density, float strength)
|
BLI_INLINE float hair_volume_density_divergence(float density, float target_density, float strength)
|
||||||
{
|
{
|
||||||
if (density > density_threshold && density > target_density)
|
if (density > density_threshold && density > target_density)
|
||||||
return strength * density * logf(target_density / density);
|
return strength * logf(target_density / density);
|
||||||
else
|
else
|
||||||
return 0.0f;
|
return 0.0f;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user