Changeset View
Changeset View
Standalone View
Standalone View
release/scripts/startup/bl_ui/properties_particle.py
| Show First 20 Lines • Show All 372 Lines • ▼ Show 20 Lines | def draw(self, context): | ||||
| layout.enabled = psys.use_hair_dynamics and psys.point_cache.is_baked is False | layout.enabled = psys.use_hair_dynamics and psys.point_cache.is_baked is False | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| layout.separator() | layout.separator() | ||||
| col = layout.column() | col = layout.column() | ||||
| col.prop(cloth, "quality", text="Quality Steps", slider=True) | col.prop(cloth, "quality", text="Quality Steps", slider=True) | ||||
| col.prop(psys.settings, "show_hair_grid", text="Display Hair Grid") | |||||
| layout.separator() | layout.separator() | ||||
| col = layout.column() | col = layout.column() | ||||
| col.prop(cloth, "pin_stiffness", text="Pin Goal Strength") | col.prop(cloth, "pin_stiffness", text="Pin Goal Strength") | ||||
| layout.separator() | layout.separator() | ||||
| ▲ Show 20 Lines • Show All 881 Lines • ▼ Show 20 Lines | def draw(self, context): | ||||
| col = layout.column() | col = layout.column() | ||||
| col = layout.column() | col = layout.column() | ||||
| col.prop(part, "use_parent_particles", text="Parent Particles") | col.prop(part, "use_parent_particles", text="Parent Particles") | ||||
| col.prop(part, "show_unborn", text="Unborn") | col.prop(part, "show_unborn", text="Unborn") | ||||
| col.prop(part, "use_dead", text="Dead") | col.prop(part, "use_dead", text="Dead") | ||||
| class PARTICLE_PT_render_line(ParticleButtonsPanel, Panel): | |||||
| bl_label = "Line" | |||||
| bl_parent_id = "PARTICLE_PT_render" | |||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | |||||
| @classmethod | |||||
| def poll(cls, context): | |||||
| part = particle_get_settings(context) | |||||
| return part.render_type == 'LINE' | |||||
| def draw(self, context): | |||||
| layout = self.layout | |||||
| layout.use_property_split = True | |||||
| part = particle_get_settings(context) | |||||
| col = layout.column() | |||||
| col.separator() | |||||
| sub = col.column(align=True) | |||||
| sub.prop(part, "line_length_tail", text="Length Tail") | |||||
| sub.prop(part, "line_length_head", text="Head") | |||||
| col.prop(part, "use_velocity_length", text="Velocity Length") | |||||
| class PARTICLE_PT_render_path(ParticleButtonsPanel, Panel): | class PARTICLE_PT_render_path(ParticleButtonsPanel, Panel): | ||||
| bl_label = "Path" | bl_label = "Path" | ||||
| bl_parent_id = "PARTICLE_PT_render" | bl_parent_id = "PARTICLE_PT_render" | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| part = particle_get_settings(context) | part = particle_get_settings(context) | ||||
| return part.render_type == 'PATH' | return part.render_type == 'PATH' | ||||
| def draw(self, context): | def draw(self, context): | ||||
| layout = self.layout | layout = self.layout | ||||
| layout.use_property_split = True | layout.use_property_split = True | ||||
| part = particle_get_settings(context) | part = particle_get_settings(context) | ||||
| col = layout.column() | col = layout.column() | ||||
| col.prop(part, "use_strand_primitive") | |||||
| sub = col.column() | |||||
| sub.active = (part.use_strand_primitive is False) | |||||
| sub.prop(part, "use_render_adaptive") | |||||
| sub = col.column() | |||||
| sub.active = part.use_render_adaptive or part.use_strand_primitive is True | |||||
| sub.prop(part, "adaptive_angle") | |||||
| sub = col.column() | |||||
| sub.active = (part.use_render_adaptive is True and part.use_strand_primitive is False) | |||||
| sub.prop(part, "adaptive_pixel") | |||||
| col.prop(part, "use_hair_bspline") | col.prop(part, "use_hair_bspline") | ||||
| col.prop(part, "render_step", text="Steps") | col.prop(part, "render_step", text="Steps") | ||||
| class PARTICLE_PT_render_path_timing(ParticleButtonsPanel, Panel): | class PARTICLE_PT_render_path_timing(ParticleButtonsPanel, Panel): | ||||
| bl_label = "Timing" | bl_label = "Timing" | ||||
| bl_parent_id = "PARTICLE_PT_render" | bl_parent_id = "PARTICLE_PT_render" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| Show All 12 Lines | def draw(self, context): | ||||
| part = particle_get_settings(context) | part = particle_get_settings(context) | ||||
| col = layout.column() | col = layout.column() | ||||
| col.prop(part, "use_absolute_path_time") | col.prop(part, "use_absolute_path_time") | ||||
| if part.type == 'HAIR' or psys.point_cache.is_baked: | if part.type == 'HAIR' or psys.point_cache.is_baked: | ||||
| col.prop(part, "path_start", text="Start", slider=not part.use_absolute_path_time) | col.prop(part, "path_start", text="Start", slider=not part.use_absolute_path_time) | ||||
| else: | |||||
| col.prop(part, "trail_count") | |||||
| col.prop(part, "path_end", text="End", slider=not part.use_absolute_path_time) | col.prop(part, "path_end", text="End", slider=not part.use_absolute_path_time) | ||||
| col.prop(part, "length_random", text="Random", slider=True) | col.prop(part, "length_random", text="Random", slider=True) | ||||
| class PARTICLE_PT_render_object(ParticleButtonsPanel, Panel): | class PARTICLE_PT_render_object(ParticleButtonsPanel, Panel): | ||||
| bl_label = "Object" | bl_label = "Object" | ||||
| bl_parent_id = "PARTICLE_PT_render" | bl_parent_id = "PARTICLE_PT_render" | ||||
| ▲ Show 20 Lines • Show All 92 Lines • ▼ Show 20 Lines | def draw(self, context): | ||||
| subsub.operator("particle.dupliob_refresh", icon='FILE_REFRESH', text="") | subsub.operator("particle.dupliob_refresh", icon='FILE_REFRESH', text="") | ||||
| weight = part.active_instanceweight | weight = part.active_instanceweight | ||||
| if weight: | if weight: | ||||
| row = layout.row() | row = layout.row() | ||||
| row.prop(weight, "count") | row.prop(weight, "count") | ||||
| class PARTICLE_PT_render_trails(ParticleButtonsPanel, Panel): | |||||
| bl_label = "Trails" | |||||
| bl_parent_id = "PARTICLE_PT_render" | |||||
| bl_options = {'DEFAULT_CLOSED'} | |||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | |||||
| @classmethod | |||||
| def poll(cls, context): | |||||
| part = particle_get_settings(context) | |||||
| return part.render_type in {'HALO', 'LINE', 'BILLBOARD'} | |||||
| def draw(self, context): | |||||
| layout = self.layout | |||||
| layout.use_property_split = True | |||||
| part = particle_get_settings(context) | |||||
| col = layout.column() | |||||
| col.prop(part, "trail_count") | |||||
| sub = col.column() | |||||
| sub.active = (part.trail_count > 1) | |||||
| sub.prop(part, "use_absolute_path_time", text="Length in Frames") | |||||
| sub.prop(part, "path_end", text="Length", slider=not part.use_absolute_path_time) | |||||
| sub.prop(part, "length_random", text="Random Length", slider=True) | |||||
| class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): | class PARTICLE_PT_draw(ParticleButtonsPanel, Panel): | ||||
| bl_label = "Viewport Display" | bl_label = "Viewport Display" | ||||
| bl_options = {'DEFAULT_CLOSED'} | bl_options = {'DEFAULT_CLOSED'} | ||||
| COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | COMPAT_ENGINES = {'BLENDER_RENDER', 'BLENDER_EEVEE', 'BLENDER_WORKBENCH'} | ||||
| @classmethod | @classmethod | ||||
| def poll(cls, context): | def poll(cls, context): | ||||
| settings = particle_get_settings(context) | settings = particle_get_settings(context) | ||||
| Show All 37 Lines | def draw(self, context): | ||||
| layout.row().label(text="Display percentage makes dynamics inaccurate without baking") | layout.row().label(text="Display percentage makes dynamics inaccurate without baking") | ||||
| else: | else: | ||||
| phystype = part.physics_type | phystype = part.physics_type | ||||
| if phystype != 'NO' and phystype != 'KEYED' and psys.point_cache.is_baked is False: | if phystype != 'NO' and phystype != 'KEYED' and psys.point_cache.is_baked is False: | ||||
| layout.row().label(text="Display percentage makes dynamics inaccurate without baking") | layout.row().label(text="Display percentage makes dynamics inaccurate without baking") | ||||
| else: | else: | ||||
| layout.separator() | layout.separator() | ||||
| col = layout.column() | |||||
| col.prop(part, "show_guide_hairs", text="Guide Hairs") | |||||
| col.prop(part, "show_size") | |||||
| col.prop(part, "show_velocity") | |||||
| col.prop(part, "show_number") | |||||
| if part.physics_type == 'BOIDS': | |||||
| col.prop(part, "show_health") | |||||
| if context.object: | if context.object: | ||||
| layout.separator() | layout.separator() | ||||
| layout.prop(context.object, "show_instancer_for_viewport", text="Show Emitter") | layout.prop(context.object, "show_instancer_for_viewport", text="Show Emitter") | ||||
| class PARTICLE_PT_children(ParticleButtonsPanel, Panel): | class PARTICLE_PT_children(ParticleButtonsPanel, Panel): | ||||
| bl_label = "Children" | bl_label = "Children" | ||||
| bl_translation_context = i18n_contexts.id_particlesettings | bl_translation_context = i18n_contexts.id_particlesettings | ||||
| ▲ Show 20 Lines • Show All 508 Lines • ▼ Show 20 Lines | classes = ( | ||||
| PARTICLE_PT_physics_relations, | PARTICLE_PT_physics_relations, | ||||
| PARTICLE_PT_physics_fluid_springs, | PARTICLE_PT_physics_fluid_springs, | ||||
| PARTICLE_PT_physics_fluid_springs_viscoelastic, | PARTICLE_PT_physics_fluid_springs_viscoelastic, | ||||
| PARTICLE_PT_physics_fluid_springs_advanced, | PARTICLE_PT_physics_fluid_springs_advanced, | ||||
| PARTICLE_PT_physics_fluid_advanced, | PARTICLE_PT_physics_fluid_advanced, | ||||
| PARTICLE_PT_physics_fluid_interaction, | PARTICLE_PT_physics_fluid_interaction, | ||||
| PARTICLE_PT_boidbrain, | PARTICLE_PT_boidbrain, | ||||
| PARTICLE_PT_render, | PARTICLE_PT_render, | ||||
| PARTICLE_PT_render_line, | |||||
| PARTICLE_PT_render_path, | PARTICLE_PT_render_path, | ||||
| PARTICLE_PT_render_path_timing, | PARTICLE_PT_render_path_timing, | ||||
| PARTICLE_PT_render_object, | PARTICLE_PT_render_object, | ||||
| PARTICLE_PT_render_collection, | PARTICLE_PT_render_collection, | ||||
| PARTICLE_PT_render_collection_use_count, | PARTICLE_PT_render_collection_use_count, | ||||
| PARTICLE_PT_render_trails, | |||||
| PARTICLE_PT_render_extra, | PARTICLE_PT_render_extra, | ||||
| PARTICLE_PT_draw, | PARTICLE_PT_draw, | ||||
| PARTICLE_PT_children, | PARTICLE_PT_children, | ||||
| PARTICLE_PT_children_parting, | PARTICLE_PT_children_parting, | ||||
| PARTICLE_PT_children_clumping, | PARTICLE_PT_children_clumping, | ||||
| PARTICLE_PT_children_clumping_noise, | PARTICLE_PT_children_clumping_noise, | ||||
| PARTICLE_PT_children_roughness, | PARTICLE_PT_children_roughness, | ||||
| PARTICLE_PT_children_kink, | PARTICLE_PT_children_kink, | ||||
| Show All 16 Lines | |||||