diff options
author | Luca Rood <dev@lucarood.com> | 2018-09-26 18:18:16 +0300 |
---|---|---|
committer | Luca Rood <dev@lucarood.com> | 2018-09-26 18:49:40 +0300 |
commit | 0666ece2e2f96571200d693d9d7bee1ca72d026f (patch) | |
tree | d19df74e5f36d4a745dd5ea917ccf840a6e61923 /source/blender/makesrna/intern/rna_object_force.c | |
parent | a27d97d1b737037e7c09d3052ba5c644588024ec (diff) |
Cloth: Collision improvements
This commit includes several performance, stability, and reliability
improvements to cloth collisions.
Most notably:
* The implementation of a new self-collisions system.
* Multithreading of collision detection.
* Implementation of single sided collisions and normal overrides.
* Replacement of the `plNearestPoints` function from Bullet with a
dedicated solution.
Further, this also includes several bug fixes, and algorithmic
improvements.
Reviewed By: brecht
Differential Revision: http://developer.blender.org/D3712
Diffstat (limited to 'source/blender/makesrna/intern/rna_object_force.c')
-rw-r--r-- | source/blender/makesrna/intern/rna_object_force.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/source/blender/makesrna/intern/rna_object_force.c b/source/blender/makesrna/intern/rna_object_force.c index 00c848463bc..e1090a3ded5 100644 --- a/source/blender/makesrna/intern/rna_object_force.c +++ b/source/blender/makesrna/intern/rna_object_force.c @@ -958,6 +958,22 @@ static void rna_def_collision(BlenderRNA *brna) RNA_def_property_ui_text(prop, "Absorption", "How much of effector force gets lost during collision with this object (in percent)"); RNA_def_property_update(prop, 0, "rna_CollisionSettings_update"); + + prop = RNA_def_property(srna, "cloth_friction", PROP_FLOAT, PROP_NONE); + RNA_def_property_float_sdna(prop, NULL, "pdef_cfrict"); + RNA_def_property_range(prop, 0.0f, 80.0f); + RNA_def_property_ui_text(prop, "Friction", "Friction for cloth collisions"); + RNA_def_property_update(prop, 0, "rna_CollisionSettings_update"); + + prop = RNA_def_property(srna, "use_culling", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", PFIELD_CLOTH_USE_CULLING); + RNA_def_property_ui_text(prop, "Single Sided", "Cloth collision acts with respect to the collider normals (improves penetration recovery)"); + RNA_def_property_update(prop, 0, "rna_CollisionSettings_update"); + + prop = RNA_def_property(srna, "use_normal", PROP_BOOLEAN, PROP_NONE); + RNA_def_property_boolean_sdna(prop, NULL, "flag", PFIELD_CLOTH_USE_NORMAL); + RNA_def_property_ui_text(prop, "Override Normals", "Cloth collision impulses act in the direction of the collider normals (more reliable in some cases)"); + RNA_def_property_update(prop, 0, "rna_CollisionSettings_update"); } static void rna_def_effector_weight(BlenderRNA *brna) |