Merge branch 'blender-v2.82-release'
This commit is contained in:
commit
c3001812dc
5
.gitignore
vendored
5
.gitignore
vendored
@ -42,4 +42,7 @@ Desktop.ini
|
||||
/build_files/build_environment/downloads
|
||||
|
||||
# in-source buildbot signing configuration
|
||||
/build_files/buildbot/codesign/config_server.py
|
||||
/build_files/buildbot/codesign/config_server.py
|
||||
|
||||
# smoke simulation noise tile (generated)
|
||||
waveletNoiseTile.bin
|
||||
|
@ -175,9 +175,6 @@ def liquid_adaptive_step_$ID$(framenr):\n\
|
||||
extrapolateLsSimple(phi=phiObs_s$ID$, distance=int(res_s$ID$/2), inside=True)\n\
|
||||
extrapolateLsSimple(phi=phiObs_s$ID$, distance=int(res_s$ID$/2), inside=False)\n\
|
||||
\n\
|
||||
mantaMsg('Initializing fluid levelset')\n\
|
||||
extrapolateLsSimple(phi=phiIn_s$ID$, distance=int(res_s$ID$/2), inside=True)\n\
|
||||
extrapolateLsSimple(phi=phiIn_s$ID$, distance=int(res_s$ID$/2), inside=False)\n\
|
||||
phi_s$ID$.join(phiIn_s$ID$)\n\
|
||||
\n\
|
||||
if using_obstacle_s$ID$:\n\
|
||||
|
@ -288,10 +288,6 @@ def smoke_adaptive_step_$ID$(framenr):\n\
|
||||
extrapolateLsSimple(phi=phiObs_s$ID$, distance=int(res_s$ID$/2), inside=True)\n\
|
||||
extrapolateLsSimple(phi=phiObs_s$ID$, distance=int(res_s$ID$/2), inside=False)\n\
|
||||
\n\
|
||||
mantaMsg('Initializing fluid levelset')\n\
|
||||
extrapolateLsSimple(phi=phiIn_s$ID$, distance=int(res_s$ID$/2), inside=True)\n\
|
||||
extrapolateLsSimple(phi=phiIn_s$ID$, distance=int(res_s$ID$/2), inside=False)\n\
|
||||
\n\
|
||||
if using_outflow_s$ID$:\n\
|
||||
phiOut_s$ID$.join(phiOutIn_s$ID$)\n\
|
||||
\n\
|
||||
|
@ -466,6 +466,13 @@ class QuickLiquid(Operator):
|
||||
self.report({'ERROR'}, "Select at least one mesh object")
|
||||
return {'CANCELLED'}
|
||||
|
||||
# set shading type to wireframe so that liquid particles are visible
|
||||
for area in bpy.context.screen.areas:
|
||||
if area.type == 'VIEW_3D':
|
||||
for space in area.spaces:
|
||||
if space.type == 'VIEW_3D':
|
||||
space.shading.type = 'WIREFRAME'
|
||||
|
||||
for obj in mesh_objects:
|
||||
fake_context["object"] = obj
|
||||
# make each selected object a liquid flow
|
||||
|
@ -105,6 +105,16 @@ class PhysicButtonsPanel:
|
||||
if (flow.flow_behavior == 'OUTFLOW'):
|
||||
return True
|
||||
|
||||
@staticmethod
|
||||
def poll_fluid_flow_liquid(context):
|
||||
if not PhysicButtonsPanel.poll_fluid_flow(context):
|
||||
return False
|
||||
|
||||
md = context.fluid
|
||||
flow = md.flow_settings
|
||||
if (flow.flow_type == 'LIQUID'):
|
||||
return True
|
||||
|
||||
|
||||
class PHYSICS_PT_fluid(PhysicButtonsPanel, Panel):
|
||||
bl_label = "Fluid"
|
||||
@ -323,9 +333,9 @@ class PHYSICS_PT_smoke(PhysicButtonsPanel, Panel):
|
||||
flow = layout.grid_flow(row_major=True, columns=0, even_columns=True, even_rows=False, align=False)
|
||||
flow.enabled = not is_baking_any and not has_baked_data
|
||||
|
||||
col = flow.column()
|
||||
col.prop(domain, "alpha")
|
||||
col.prop(domain, "beta", text="Temperature Diff.")
|
||||
col = flow.column(align=True)
|
||||
col.prop(domain, "alpha", text="Buoyancy Density")
|
||||
col.prop(domain, "beta", text="Heat")
|
||||
col = flow.column()
|
||||
col.prop(domain, "vorticity")
|
||||
|
||||
@ -399,14 +409,12 @@ class PHYSICS_PT_fire(PhysicButtonsPanel, Panel):
|
||||
|
||||
col = flow.column()
|
||||
col.prop(domain, "burning_rate", text="Reaction Speed")
|
||||
col = flow.column()
|
||||
col = flow.column(align=True)
|
||||
col.prop(domain, "flame_smoke", text="Flame Smoke")
|
||||
col = flow.column()
|
||||
col.prop(domain, "flame_vorticity", text="Flame Vorticity")
|
||||
col = flow.column()
|
||||
col.prop(domain, "flame_ignition", text="Temperature Ignition")
|
||||
col = flow.column()
|
||||
col.prop(domain, "flame_max_temp", text="Maximum Temperature")
|
||||
col.prop(domain, "flame_vorticity", text="Vorticity")
|
||||
col = flow.column(align=True)
|
||||
col.prop(domain, "flame_max_temp", text="Temperature Maximum")
|
||||
col.prop(domain, "flame_ignition", text="Minimum")
|
||||
col = flow.column()
|
||||
col.prop(domain, "flame_smoke_color", text="Flame Color")
|
||||
|
||||
@ -495,10 +503,10 @@ class PHYSICS_PT_flow_source(PhysicButtonsPanel, Panel):
|
||||
col = grid.column()
|
||||
if flow.flow_source == 'MESH':
|
||||
col.prop(flow, "use_plane_init", text="Is Planar")
|
||||
col.prop(flow, "surface_distance", text="Surface Thickness")
|
||||
col.prop(flow, "surface_distance", text="Surface Emission")
|
||||
if flow.flow_type in {'SMOKE', 'BOTH', 'FIRE'}:
|
||||
col = grid.column()
|
||||
col.prop(flow, "volume_density", text="Volume Density")
|
||||
col.prop(flow, "volume_density", text="Volume Emission")
|
||||
|
||||
if flow.flow_source == 'PARTICLES':
|
||||
col.prop(flow, "use_particle_size", text="Set Size")
|
||||
@ -562,6 +570,9 @@ class PHYSICS_PT_flow_texture(PhysicButtonsPanel, Panel):
|
||||
if PhysicButtonsPanel.poll_fluid_flow_outflow(context):
|
||||
return False
|
||||
|
||||
if PhysicButtonsPanel.poll_fluid_flow_liquid(context):
|
||||
return False
|
||||
|
||||
return (context.engine in cls.COMPAT_ENGINES)
|
||||
|
||||
def draw_header(self, context):
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -454,6 +454,9 @@ static void fluid_free_endjob(void *customdata)
|
||||
BKE_spacedata_draw_locks(false);
|
||||
WM_set_locked_interface(G_MAIN->wm.first, false);
|
||||
|
||||
/* Reflect the now empty cache in the viewport too. */
|
||||
DEG_id_tag_update(&job->ob->id, ID_RECALC_GEOMETRY);
|
||||
|
||||
/* Free was successful:
|
||||
* Report for ended free job and how long it took */
|
||||
if (job->success) {
|
||||
|
@ -152,22 +152,6 @@ static bool rna_Fluid_parts_exists(PointerRNA *ptr, int ptype)
|
||||
return false;
|
||||
}
|
||||
|
||||
static void rna_Fluid_draw_type_update(Main *UNUSED(bmain),
|
||||
Scene *UNUSED(scene),
|
||||
struct PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
FluidDomainSettings *settings = (FluidDomainSettings *)ptr->data;
|
||||
|
||||
/* Wireframe mode more convenient when particles present */
|
||||
if (settings->particle_type == 0) {
|
||||
ob->dt = OB_SOLID;
|
||||
}
|
||||
else {
|
||||
ob->dt = OB_WIRE;
|
||||
}
|
||||
}
|
||||
|
||||
static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||
{
|
||||
Object *ob = (Object *)ptr->owner_id;
|
||||
@ -182,19 +166,14 @@ static void rna_Fluid_flip_parts_update(Main *bmain, Scene *scene, PointerRNA *p
|
||||
}
|
||||
|
||||
if (ob->type == OB_MESH && !exists) {
|
||||
rna_Fluid_parts_create(bmain,
|
||||
ptr,
|
||||
"FlipParticleSettings",
|
||||
"FLIP Particles",
|
||||
"FLIP Particle System",
|
||||
PART_FLUID_FLIP);
|
||||
rna_Fluid_parts_create(
|
||||
bmain, ptr, "LiquidParticleSettings", "Liquid", "Liquid Particle System", PART_FLUID_FLIP);
|
||||
mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FLIP;
|
||||
}
|
||||
else {
|
||||
rna_Fluid_parts_delete(ptr, PART_FLUID_FLIP);
|
||||
mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FLIP;
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
rna_Fluid_update(bmain, scene, ptr);
|
||||
}
|
||||
|
||||
@ -206,19 +185,14 @@ static void rna_Fluid_spray_parts_update(Main *bmain, Scene *UNUSED(scene), Poin
|
||||
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_SPRAY);
|
||||
|
||||
if (ob->type == OB_MESH && !exists) {
|
||||
rna_Fluid_parts_create(bmain,
|
||||
ptr,
|
||||
"SprayParticleSettings",
|
||||
"Spray Particles",
|
||||
"Spray Particle System",
|
||||
PART_FLUID_SPRAY);
|
||||
rna_Fluid_parts_create(
|
||||
bmain, ptr, "SprayParticleSettings", "Spray", "Spray Particle System", PART_FLUID_SPRAY);
|
||||
mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_SPRAY;
|
||||
}
|
||||
else {
|
||||
rna_Fluid_parts_delete(ptr, PART_FLUID_SPRAY);
|
||||
mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_SPRAY;
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
}
|
||||
|
||||
static void rna_Fluid_bubble_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
@ -232,7 +206,7 @@ static void rna_Fluid_bubble_parts_update(Main *bmain, Scene *UNUSED(scene), Poi
|
||||
rna_Fluid_parts_create(bmain,
|
||||
ptr,
|
||||
"BubbleParticleSettings",
|
||||
"Bubble Particles",
|
||||
"Bubbles",
|
||||
"Bubble Particle System",
|
||||
PART_FLUID_BUBBLE);
|
||||
mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_BUBBLE;
|
||||
@ -241,7 +215,6 @@ static void rna_Fluid_bubble_parts_update(Main *bmain, Scene *UNUSED(scene), Poi
|
||||
rna_Fluid_parts_delete(ptr, PART_FLUID_BUBBLE);
|
||||
mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_BUBBLE;
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
}
|
||||
|
||||
static void rna_Fluid_foam_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
@ -252,19 +225,14 @@ static void rna_Fluid_foam_parts_update(Main *bmain, Scene *UNUSED(scene), Point
|
||||
bool exists = rna_Fluid_parts_exists(ptr, PART_FLUID_FOAM);
|
||||
|
||||
if (ob->type == OB_MESH && !exists) {
|
||||
rna_Fluid_parts_create(bmain,
|
||||
ptr,
|
||||
"FoamParticleSettings",
|
||||
"Foam Particles",
|
||||
"Foam Particle System",
|
||||
PART_FLUID_FOAM);
|
||||
rna_Fluid_parts_create(
|
||||
bmain, ptr, "FoamParticleSettings", "Foam", "Foam Particle System", PART_FLUID_FOAM);
|
||||
mmd->domain->particle_type |= FLUID_DOMAIN_PARTICLE_FOAM;
|
||||
}
|
||||
else {
|
||||
rna_Fluid_parts_delete(ptr, PART_FLUID_FOAM);
|
||||
mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_FOAM;
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
}
|
||||
|
||||
static void rna_Fluid_tracer_parts_update(Main *bmain, Scene *UNUSED(scene), PointerRNA *ptr)
|
||||
@ -287,7 +255,6 @@ static void rna_Fluid_tracer_parts_update(Main *bmain, Scene *UNUSED(scene), Poi
|
||||
rna_Fluid_parts_delete(ptr, PART_FLUID_TRACER);
|
||||
mmd->domain->particle_type &= ~FLUID_DOMAIN_PARTICLE_TRACER;
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
}
|
||||
|
||||
static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerRNA *ptr)
|
||||
@ -422,7 +389,6 @@ static void rna_Fluid_combined_export_update(Main *bmain, Scene *scene, PointerR
|
||||
// sanity check, should not occur
|
||||
printf("ERROR: Unexpected combined export setting encountered!");
|
||||
}
|
||||
rna_Fluid_draw_type_update(NULL, NULL, ptr);
|
||||
}
|
||||
|
||||
static void rna_Fluid_cachetype_mesh_set(struct PointerRNA *ptr, int value)
|
||||
@ -1018,13 +984,13 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
"MODULAR",
|
||||
0,
|
||||
"Modular",
|
||||
"Bake every stage of the simulation on its own. Pausing and resuming possible"},
|
||||
"Bake every stage of the simulation separately. Pausing and resuming possible"},
|
||||
{FLUID_DOMAIN_CACHE_FINAL,
|
||||
"FINAL",
|
||||
0,
|
||||
"Final",
|
||||
"Bake the entire simulation at once. Only produces the most essential cache files. Pausing "
|
||||
"and resuming not possible"},
|
||||
"Bake the entire simulation at once. Only generates the most essential cache files. "
|
||||
"Pausing and resuming not possible"},
|
||||
{0, NULL, 0, NULL, NULL}};
|
||||
|
||||
static const EnumPropertyItem smoke_data_depth_items[] = {
|
||||
@ -1054,7 +1020,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
0,
|
||||
"Domain",
|
||||
"Use a fluid domain for guiding (domain needs to be baked already so that velocities can "
|
||||
"be extracted but can be of any type)"},
|
||||
"be extracted). Guiding domain can be of any type (i.e. gas or liquid)"},
|
||||
{FLUID_DOMAIN_GUIDE_SRC_EFFECTOR,
|
||||
"EFFECTOR",
|
||||
0,
|
||||
@ -1310,7 +1276,11 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_int_sdna(prop, NULL, "maxres");
|
||||
RNA_def_property_range(prop, 6, 10000);
|
||||
RNA_def_property_ui_range(prop, 24, 10000, 2, -1);
|
||||
RNA_def_property_ui_text(prop, "Max Res", "Resolution used for the fluid domain");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Maximum Resolution",
|
||||
"Resolution used for the fluid domain. Value corresponds to the longest domain side "
|
||||
"(resolution for other domain sides is calculated automatically)");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
@ -1366,8 +1336,8 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_range(prop, -5.0, 5.0, 0.02, 5);
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Density",
|
||||
"How much density affects smoke motion (higher value results in faster rising smoke)");
|
||||
"Buoyancy Density",
|
||||
"Buoyant force based on smoke density (higher value results in faster rising smoke)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "beta", PROP_FLOAT, PROP_NONE);
|
||||
@ -1376,21 +1346,24 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_range(prop, -5.0, 5.0, 0.02, 5);
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Heat",
|
||||
"How much heat affects smoke motion (higher value results in faster rising smoke)");
|
||||
"Buoyancy Heat",
|
||||
"Buoyant force based on smoke heat (higher value results in faster rising smoke)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "dissolve_speed", PROP_INT, PROP_NONE);
|
||||
RNA_def_property_int_sdna(prop, NULL, "diss_speed");
|
||||
RNA_def_property_range(prop, 1.0, 10000.0);
|
||||
RNA_def_property_ui_range(prop, 1.0, 10000.0, 1, -1);
|
||||
RNA_def_property_ui_text(prop, "Dissolve Speed", "Dissolve Speed");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Dissolve Speed",
|
||||
"Determine how quickly the smoke dissolves (higher value makes smoke disappear faster)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "vorticity", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_float_sdna(prop, NULL, "vorticity");
|
||||
RNA_def_property_range(prop, 0.0, 4.0);
|
||||
RNA_def_property_ui_text(prop, "Vorticity", "Amount of turbulence/rotation in fluid");
|
||||
RNA_def_property_ui_text(prop, "Vorticity", "Amount of turbulence and rotation in smoke");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "highres_sampling", PROP_ENUM, PROP_NONE);
|
||||
@ -1400,12 +1373,15 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
|
||||
prop = RNA_def_property(srna, "use_dissolve_smoke", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", FLUID_DOMAIN_USE_DISSOLVE);
|
||||
RNA_def_property_ui_text(prop, "Dissolve Smoke", "Enable smoke to disappear over time");
|
||||
RNA_def_property_ui_text(prop, "Dissolve Smoke", "Let smoke disappear over time");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "use_dissolve_smoke_log", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", FLUID_DOMAIN_USE_DISSOLVE_LOG);
|
||||
RNA_def_property_ui_text(prop, "Logarithmic dissolve", "Using 1/x ");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Logarithmic Dissolve",
|
||||
"Dissolve smoke in a logarithmic fashion. Dissolves quickly at first, but lingers longer");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
/* flame options */
|
||||
@ -1414,7 +1390,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 0.01, 4.0);
|
||||
RNA_def_property_ui_range(prop, 0.01, 2.0, 1.0, 5);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "Speed", "Speed of the burning reaction (use larger values for smaller flame)");
|
||||
prop, "Speed", "Speed of the burning reaction (higher value results in smaller flames)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "flame_smoke", PROP_FLOAT, PROP_NONE);
|
||||
@ -1432,13 +1408,19 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
prop = RNA_def_property(srna, "flame_ignition", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.5, 5.0);
|
||||
RNA_def_property_ui_range(prop, 0.5, 2.5, 1.0, 5);
|
||||
RNA_def_property_ui_text(prop, "Ignition", "Minimum temperature of flames");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Minimum",
|
||||
"Minimum temperature of the flames (higher value results in faster rising flames)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "flame_max_temp", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 1.0, 10.0);
|
||||
RNA_def_property_ui_range(prop, 1.0, 5.0, 1.0, 5);
|
||||
RNA_def_property_ui_text(prop, "Maximum", "Maximum temperature of flames");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Maximum",
|
||||
"Maximum temperature of the flames (higher value results in faster rising flames)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "flame_smoke_color", PROP_FLOAT, PROP_COLOR_GAMMA);
|
||||
@ -1473,8 +1455,8 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_range(prop, 1, 10, 1, -1);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Noise Scale",
|
||||
"Scale underlying noise grids by this factor. Noise grids have size "
|
||||
"factor times base resolution");
|
||||
"The noise simulation is scaled up by this factor (compared to the "
|
||||
"base resolution of the domain)");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
@ -1482,7 +1464,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_enum_sdna(prop, NULL, "noise_type");
|
||||
RNA_def_property_enum_items(prop, prop_noise_type_items);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "Noise Method", "Noise method which is used for creating the high resolution");
|
||||
prop, "Noise Method", "Noise method which is used during the high-res simulation");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
@ -1543,7 +1525,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Radius",
|
||||
"Particle radius factor. Use this parameter when the simulation appears to leak volume");
|
||||
"Particle radius factor. Adjust this parameter when the simulation appears to leak volume");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "particle_band_width", PROP_FLOAT, PROP_NONE);
|
||||
@ -1556,7 +1538,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
|
||||
prop = RNA_def_property(srna, "use_flip_particles", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "particle_type", FLUID_DOMAIN_PARTICLE_FLIP);
|
||||
RNA_def_property_ui_text(prop, "FLIP", "Create FLIP particle system");
|
||||
RNA_def_property_ui_text(prop, "FLIP", "Create liquid particle system");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_DRAW, "rna_Fluid_flip_parts_update");
|
||||
|
||||
@ -1646,8 +1628,9 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_range(prop, 1, 10, 1, -1);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Mesh scale",
|
||||
"Scale underlying mesh grids by this factor. Mesh grids have size "
|
||||
"factor times base resolution");
|
||||
"The mesh simulation is scaled up by this factor (compared to the base "
|
||||
"resolution of the domain). For best meshing, it is recommended to "
|
||||
"adjust the mesh particle radius alongside this value");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
@ -1673,19 +1656,19 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
|
||||
prop = RNA_def_property(srna, "use_speed_vectors", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", FLUID_DOMAIN_USE_SPEED_VECTORS);
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Speed Vectors",
|
||||
"Generate speed vectors (will be loaded automatically during render for motion blur)");
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Speed Vectors",
|
||||
"Caches velocities of mesh vertices. These will be used "
|
||||
"(automatically) when rendering with motion blur enabled");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
prop = RNA_def_property(srna, "mesh_particle_radius", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 10.0);
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Radius",
|
||||
"Particle radius factor (higher value results in larger (meshed) particles)");
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Radius",
|
||||
"Particle radius factor (higher value results in larger (meshed) "
|
||||
"particles). Needs to be adjusted after changing the mesh scale");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
/* secondary particles options */
|
||||
@ -1694,36 +1677,36 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 1000.0, 100.0, 3);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"tauMin_wc",
|
||||
"Minimum Wave Crest Potential",
|
||||
"Lower clamping threshold for marking fluid cells as wave crests "
|
||||
"(lower values result in more marked cells)");
|
||||
"(lower value results in more marked cells)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_tau_max_wc", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 1000.0, 100.0, 3);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"tauMax_wc",
|
||||
"Maximum Wave Crest Potential",
|
||||
"Upper clamping threshold for marking fluid cells as wave crests "
|
||||
"(higher values result in less marked cells)");
|
||||
"(higher value results in less marked cells)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_tau_min_ta", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10000.0, 100.0, 3);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"tauMin_ta",
|
||||
"Minimum Trapped Air Potential",
|
||||
"Lower clamping threshold for marking fluid cells where air is trapped "
|
||||
"(lower values result in more marked cells)");
|
||||
"(lower value results in more marked cells)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_tau_max_ta", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 1000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 1000.0, 100.0, 3);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"tauMax_ta",
|
||||
"Maximum Trapped Air Potential",
|
||||
"Upper clamping threshold for marking fluid cells where air is trapped "
|
||||
"(higher values result in less marked cells)");
|
||||
"(highe value results in less marked cells)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_tau_min_k", PROP_FLOAT, PROP_NONE);
|
||||
@ -1743,7 +1726,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
prop,
|
||||
"tauMax_k",
|
||||
"Upper clamping threshold that indicates the fluid speed where cells no longer emit more "
|
||||
"particles (higher values result in generally less particles)");
|
||||
"particles (higher value results in generally less particles)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_k_wc", PROP_INT, PROP_NONE);
|
||||
@ -1766,8 +1749,8 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 0.0, 100.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 100.0, 10.0, 2);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Buoyancy",
|
||||
"Amount of buoyancy force that rises bubbles (high values result in "
|
||||
"Bubble Buoyancy",
|
||||
"Amount of buoyancy force that rises bubbles (high value results in "
|
||||
"bubble movement mainly upwards)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
@ -1775,21 +1758,21 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 0.0, 100.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 100.0, 10.0, 2);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Drag",
|
||||
"Bubble Drag",
|
||||
"Amount of drag force that moves bubbles along with the fluid (high "
|
||||
"values result in bubble movement mainly along with the fluid)");
|
||||
"value results in bubble movement mainly along with the fluid)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_l_min", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 10000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10000.0, 100.0, 1);
|
||||
RNA_def_property_ui_text(prop, "Lifetime(min)", "Lowest possible particle lifetime");
|
||||
RNA_def_property_ui_text(prop, "Minimum Lifetime", "Lowest possible particle lifetime");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_l_max", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 10000.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10000.0, 100.0, 1);
|
||||
RNA_def_property_ui_text(prop, "Lifetime(max)", "Highest possible particle lifetime");
|
||||
RNA_def_property_ui_text(prop, "Maximum Lifetime", "Highest possible particle lifetime");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "sndparticle_boundary", PROP_ENUM, PROP_NONE);
|
||||
@ -1833,9 +1816,9 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_range(prop, 1, 100);
|
||||
RNA_def_property_ui_range(prop, 1, 10, 1, -1);
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Mesh scale",
|
||||
"Scale underlying particle grids by this factor. Particle grids have "
|
||||
"size factor times base resolution");
|
||||
"Particle scale",
|
||||
"The particle simulation is scaled up by this factor (compared to the "
|
||||
"base resolution of the domain)");
|
||||
RNA_def_property_clear_flag(prop, PROP_ANIMATABLE);
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
@ -1883,7 +1866,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Weight",
|
||||
"Guiding velocity factor (higher value results in bigger guiding velocities)");
|
||||
"Guiding velocity factor (higher value results in greater guiding velocities)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
prop = RNA_def_property(srna, "guide_source", PROP_ENUM, PROP_NONE);
|
||||
@ -2059,7 +2042,7 @@ static void rna_def_fluid_domain_settings(BlenderRNA *brna)
|
||||
RNA_def_property_float_sdna(prop, NULL, "cfl_condition");
|
||||
RNA_def_property_range(prop, 0.0, 10.0);
|
||||
RNA_def_property_ui_text(
|
||||
prop, "CFL", "Maximal velocity per cell (higher value results in larger timesteps)");
|
||||
prop, "CFL", "Maximal velocity per cell (higher value results in greater timesteps)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_resetCache");
|
||||
|
||||
prop = RNA_def_property(srna, "use_adaptive_timesteps", PROP_BOOLEAN, PROP_NONE);
|
||||
@ -2388,18 +2371,28 @@ static void rna_def_fluid_flow_settings(BlenderRNA *brna)
|
||||
prop = RNA_def_property(srna, "volume_density", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 1.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 1.0, 0.05, 5);
|
||||
RNA_def_property_ui_text(prop, "Volume", "Factor for smoke emitted from inside the mesh volume");
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Volume Emission",
|
||||
"Controls fluid emission from within the mesh (higher value results in "
|
||||
"greater emissions from inside the mesh)");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
prop = RNA_def_property(srna, "surface_distance", PROP_FLOAT, PROP_NONE);
|
||||
RNA_def_property_range(prop, 0.0, 10.0);
|
||||
RNA_def_property_ui_range(prop, 0.0, 10.0, 0.05, 5);
|
||||
RNA_def_property_ui_text(prop, "Surface", "Maximum distance from mesh surface to emit fluid");
|
||||
RNA_def_property_ui_text(prop,
|
||||
"Surface Emission",
|
||||
"Controls fluid emission from the mesh surface (higher value results "
|
||||
"in emission further away from the mesh surface");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
prop = RNA_def_property(srna, "use_plane_init", PROP_BOOLEAN, PROP_NONE);
|
||||
RNA_def_property_boolean_sdna(prop, NULL, "flags", FLUID_FLOW_USE_PLANE_INIT);
|
||||
RNA_def_property_ui_text(prop, "Is Planar", "Treat this object as a planar, unclosed mesh");
|
||||
RNA_def_property_ui_text(
|
||||
prop,
|
||||
"Is Planar",
|
||||
"Treat this object as a planar and unclosed mesh. Fluid will only be emitted from the mesh "
|
||||
"surface and based on the surface emission value");
|
||||
RNA_def_property_update(prop, NC_OBJECT | ND_MODIFIER, "rna_Fluid_reset");
|
||||
|
||||
prop = RNA_def_property(srna, "particle_size", PROP_FLOAT, PROP_NONE);
|
||||
|
Loading…
Reference in New Issue
Block a user