diff options
author | Janne Karhu <jhkarh@gmail.com> | 2011-02-07 14:43:33 +0300 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2011-02-07 14:43:33 +0300 |
commit | 44fb6bd1fa9f34b1f648f57aa3543512d3af4c48 (patch) | |
tree | b75cbb2d6fd3b9195f0f437ad4f89a0d3971bd45 /release | |
parent | a17d81cabfe0f83c944e779201eaf6310cc96bbe (diff) |
Hair ui simplification:
* There were a lot of settings in the particle panels that made no sense for simple hair and only cluttered up the ui.
* Now these settings are hidden by default unless "advanced" hair options are shown.
* Without advanced options the particle velocity controls are replaced by a simple "hair length" value, which actually corresponds to the grown hair length in blender units.
* Some hair effector options that are actually very useful were not shown in ui. These are now found in the "field weights" panel.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/ui/properties_particle.py | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/release/scripts/ui/properties_particle.py b/release/scripts/ui/properties_particle.py index 596d0381f43..ae39de3996b 100644 --- a/release/scripts/ui/properties_particle.py +++ b/release/scripts/ui/properties_particle.py @@ -128,6 +128,7 @@ class PARTICLE_PT_context_particles(ParticleButtonsPanel, bpy.types.Panel): row = split.row() row.enabled = particle_panel_enabled(context, psys) row.prop(part, "regrow_hair") + row.prop(part, "use_advanced_hair") row = split.row() row.enabled = particle_panel_enabled(context, psys) row.prop(part, "hair_step") @@ -173,6 +174,10 @@ class PARTICLE_PT_emission(ParticleButtonsPanel, bpy.types.Panel): row.active = part.distribution != 'GRID' row.prop(part, "count") + if part.type == 'HAIR' and not part.use_advanced_hair: + row.prop(part, "hair_length") + return + if part.type != 'HAIR': split = layout.split() @@ -303,6 +308,8 @@ class PARTICLE_PT_velocity(ParticleButtonsPanel, bpy.types.Panel): def poll(cls, context): if particle_panel_poll(PARTICLE_PT_velocity, context): psys = context.particle_system + if psys.settings.type == 'HAIR' and not psys.settings.use_advanced_hair: + return False return psys.settings.physics_type != 'BOIDS' and not psys.point_cache.use_external else: return False @@ -351,6 +358,8 @@ class PARTICLE_PT_rotation(ParticleButtonsPanel, bpy.types.Panel): def poll(cls, context): if particle_panel_poll(PARTICLE_PT_rotation, context): psys = context.particle_system + if psys.settings.type == 'HAIR' and not psys.settings.use_advanced_hair: + return False return psys.settings.physics_type != 'BOIDS' and not psys.point_cache.use_external else: return False @@ -393,7 +402,10 @@ class PARTICLE_PT_physics(ParticleButtonsPanel, bpy.types.Panel): @classmethod def poll(cls, context): if particle_panel_poll(PARTICLE_PT_physics, context): - return not context.particle_system.point_cache.use_external + psys = context.particle_system + if psys.settings.type == 'HAIR' and not psys.settings.use_advanced_hair: + return False + return not psys.point_cache.use_external else: return False @@ -1032,7 +1044,11 @@ class PARTICLE_PT_field_weights(ParticleButtonsPanel, bpy.types.Panel): effector_weights_ui(self, context, part.effector_weights) if part.type == 'HAIR': - self.layout.prop(part.effector_weights, "apply_to_hair_growing") + row = self.layout.row() + row.prop(part.effector_weights, "apply_to_hair_growing") + row.prop(part, "apply_effector_to_children") + row = self.layout.row() + row.prop(part, "effect_hair", slider=True) class PARTICLE_PT_force_fields(ParticleButtonsPanel, bpy.types.Panel): |