diff options
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/presets/hair_dynamics/default.py | 17 | ||||
-rw-r--r-- | release/scripts/startup/bl_operators/presets.py | 30 | ||||
-rw-r--r-- | release/scripts/startup/bl_ui/properties_particle.py | 13 |
3 files changed, 60 insertions, 0 deletions
diff --git a/release/scripts/presets/hair_dynamics/default.py b/release/scripts/presets/hair_dynamics/default.py new file mode 100644 index 00000000000..830d28a76f0 --- /dev/null +++ b/release/scripts/presets/hair_dynamics/default.py @@ -0,0 +1,17 @@ +import bpy +psys = bpy.context.particle_system +cloth = bpy.context.particle_system.cloth +settings = bpy.context.particle_system.cloth.settings +collision = bpy.context.particle_system.cloth.collision_settings + +settings.quality = 5 +settings.mass = 0.30000001192092896 +settings.bending_stiffness = 0.5 +psys.settings.bending_random = 0.0 +settings.bending_damping = 0.5 +settings.air_damping = 1.0 +settings.internal_friction = 0.0 +settings.density_target = 0.0 +settings.density_strength = 0.0 +settings.voxel_cell_size = 0.10000000149011612 +settings.pin_stiffness = 0.0 diff --git a/release/scripts/startup/bl_operators/presets.py b/release/scripts/startup/bl_operators/presets.py index 5e3485a27a4..bb6b3a5a7c0 100644 --- a/release/scripts/startup/bl_operators/presets.py +++ b/release/scripts/startup/bl_operators/presets.py @@ -365,6 +365,36 @@ class AddPresetFluid(AddPresetBase, Operator): preset_subdir = "fluid" +class AddPresetHairDynamics(AddPresetBase, Operator): + """Add or remove a Hair Dynamics Preset""" + bl_idname = "particle.hair_dynamics_preset_add" + bl_label = "Add Hair Dynamics Preset" + preset_menu = "PARTICLE_MT_hair_dynamics_presets" + + preset_defines = [ + "psys = bpy.context.particle_system", + "cloth = bpy.context.particle_system.cloth", + "settings = bpy.context.particle_system.cloth.settings", + "collision = bpy.context.particle_system.cloth.collision_settings", + ] + + preset_subdir = "hair_dynamics" + + preset_values = [ + "settings.quality", + "settings.mass", + "settings.bending_stiffness", + "psys.settings.bending_random", + "settings.bending_damping", + "settings.air_damping", + "settings.internal_friction", + "settings.density_target", + "settings.density_strength", + "settings.voxel_cell_size", + "settings.pin_stiffness", + ] + + class AddPresetSunSky(AddPresetBase, Operator): """Add or remove a Sky & Atmosphere Preset""" bl_idname = "lamp.sunsky_preset_add" diff --git a/release/scripts/startup/bl_ui/properties_particle.py b/release/scripts/startup/bl_ui/properties_particle.py index adff53d56f9..9ebcb2adf98 100644 --- a/release/scripts/startup/bl_ui/properties_particle.py +++ b/release/scripts/startup/bl_ui/properties_particle.py @@ -63,6 +63,14 @@ def particle_get_settings(context): return None +class PARTICLE_MT_hair_dynamics_presets(Menu): + bl_label = "Hair Dynamics Presets" + preset_subdir = "hair_dynamics" + preset_operator = "script.execute_preset" + COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_GAME'} + draw = Menu.draw_preset + + class ParticleButtonsPanel(): bl_space_type = 'PROPERTIES' bl_region_type = 'WINDOW' @@ -308,6 +316,11 @@ class PARTICLE_PT_hair_dynamics(ParticleButtonsPanel, Panel): layout.enabled = psys.use_hair_dynamics and psys.point_cache.is_baked is False + row = layout.row(align=True) + row.menu("PARTICLE_MT_hair_dynamics_presets", text=bpy.types.PARTICLE_MT_hair_dynamics_presets.bl_label) + row.operator("particle.hair_dynamics_preset_add", text="", icon='ZOOMIN') + row.operator("particle.hair_dynamics_preset_add", text="", icon='ZOOMOUT').remove_active = True + split = layout.column() col = split.column() |