diff options
-rw-r--r-- | release/scripts/startup/bl_operators/object_quick_effects.py | 5 | ||||
-rw-r--r-- | source/blender/blenkernel/intern/fluid.c | 1 | ||||
-rw-r--r-- | source/blender/makesrna/intern/rna_fluid.c | 8 |
3 files changed, 9 insertions, 5 deletions
diff --git a/release/scripts/startup/bl_operators/object_quick_effects.py b/release/scripts/startup/bl_operators/object_quick_effects.py index e49ca0320c7..009ae53fa80 100644 --- a/release/scripts/startup/bl_operators/object_quick_effects.py +++ b/release/scripts/startup/bl_operators/object_quick_effects.py @@ -499,7 +499,6 @@ class QuickLiquid(Operator): # setup liquid domain bpy.ops.object.modifier_add(type='FLUID') obj.modifiers[-1].fluid_type = 'DOMAIN' - obj.modifiers[-1].domain_settings.domain_type = 'LIQUID' # set all domain borders to obstacle obj.modifiers[-1].domain_settings.use_collision_border_front = True obj.modifiers[-1].domain_settings.use_collision_border_back = True @@ -511,8 +510,8 @@ class QuickLiquid(Operator): # set correct cache file format for liquid obj.modifiers[-1].domain_settings.cache_mesh_format = 'BOBJECT' - # allocate and show particle system for FLIP - obj.modifiers[-1].domain_settings.use_flip_particles = True + # change domain type, will also allocate and show particle system for FLIP + obj.modifiers[-1].domain_settings.domain_type = 'LIQUID' # make the domain smooth so it renders nicely bpy.ops.object.shade_smooth() diff --git a/source/blender/blenkernel/intern/fluid.c b/source/blender/blenkernel/intern/fluid.c index 1900f6ebaad..1bd86f3c690 100644 --- a/source/blender/blenkernel/intern/fluid.c +++ b/source/blender/blenkernel/intern/fluid.c @@ -4268,7 +4268,6 @@ void BKE_fluid_domain_type_set(Object *object, FluidDomainSettings *settings, in BKE_fluid_collisionextents_set(settings, FLUID_DOMAIN_BORDER_LEFT, 0); BKE_fluid_collisionextents_set(settings, FLUID_DOMAIN_BORDER_TOP, 0); BKE_fluid_collisionextents_set(settings, FLUID_DOMAIN_BORDER_BOTTOM, 0); - BKE_fluid_particles_set(settings, FLUID_DOMAIN_PARTICLE_FLIP, 0); object->dt = OB_SOLID; } diff --git a/source/blender/makesrna/intern/rna_fluid.c b/source/blender/makesrna/intern/rna_fluid.c index 53fa863f6da..2e7170a32d6 100644 --- a/source/blender/makesrna/intern/rna_fluid.c +++ b/source/blender/makesrna/intern/rna_fluid.c @@ -176,6 +176,12 @@ static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *p mmd = (FluidModifierData *)modifiers_findByType(ob, eModifierType_Fluid); bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FLIP); + /* Only create a particle system in liquid domain mode. */ + if (mmd->domain->type != FLUID_DOMAIN_TYPE_LIQUID) { + rna_Fluid_reset(bmain, scene, ptr); + return; + } + if (ob->type == OB_MESH && !exists) { rna_Fluid_parts_create(bmain, ptr, @@ -1330,7 +1336,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna) RNA_def_property_enum_items(prop, domain_types); RNA_def_property_enum_funcs(prop, NULL, "rna_Fluid_domaintype_set", NULL); RNA_def_property_ui_text(prop, "Domain Type", "Change domain type of the simulation"); - RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Fluid_reset"); + RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Fluid_flip_parts_update"); /* smoke domain options */ |