# ParticleSystem(bpy_struct)

base class — `bpy_struct`

class `bpy.types.``ParticleSystem`(bpy_struct)

  Particle system in an object

  `active_particle_target`

    Type: | `ParticleTarget`, (readonly)

  `active_particle_target_index`

    Type: | int in [0, inf], default 0

  `billboard_normal_uv`

    UV map to control billboard normals

    Type: | string, default “”, (never None)

  `billboard_split_uv`

    UV map to control billboard splitting

    Type: | string, default “”, (never None)

  `billboard_time_index_uv`

    UV map to control billboard time index (X-Y)

    Type: | string, default “”, (never None)

  `child_particles`

    Child particles generated by the particle system

    Type: | `bpy_prop_collection` of `ChildParticle`, (readonly)

  `child_seed`

    Offset in the random number table for child particles, to get a different randomized result

    Type: | int in [0, inf], default 0

  `cloth`

    Cloth dynamics for hair

    Type: | `ClothModifier`, (readonly, never None)

  `dt_frac`

    The current simulation time step size, as a fraction of a frame

    Type: | float in [0.00990099, 1], default 0.0, (readonly)

  `has_multiple_caches`

    Particle system has multiple point caches

    Type: | boolean, default False, (readonly)

  `invert_vertex_group_clump`

    Negate the effect of the clump vertex group

    Type: | boolean, default False

  `invert_vertex_group_density`

    Negate the effect of the density vertex group

    Type: | boolean, default False

  `invert_vertex_group_field`

    Negate the effect of the field vertex group

    Type: | boolean, default False

  `invert_vertex_group_kink`

    Negate the effect of the kink vertex group

    Type: | boolean, default False

  `invert_vertex_group_length`

    Negate the effect of the length vertex group

    Type: | boolean, default False

  `invert_vertex_group_rotation`

    Negate the effect of the rotation vertex group

    Type: | boolean, default False

  `invert_vertex_group_roughness_1`

    Negate the effect of the roughness 1 vertex group

    Type: | boolean, default False

  `invert_vertex_group_roughness_2`

    Negate the effect of the roughness 2 vertex group

    Type: | boolean, default False

  `invert_vertex_group_roughness_end`

    Negate the effect of the roughness end vertex group

    Type: | boolean, default False

  `invert_vertex_group_size`

    Negate the effect of the size vertex group

    Type: | boolean, default False

  `invert_vertex_group_tangent`

    Negate the effect of the tangent vertex group

    Type: | boolean, default False

  `invert_vertex_group_velocity`

    Negate the effect of the velocity vertex group

    Type: | boolean, default False

  `is_editable`

    Particle system can be edited in particle mode

    Type: | boolean, default False, (readonly)

  `is_edited`

    Particle system has been edited in particle mode

    Type: | boolean, default False, (readonly)

  `is_global_hair`

    Hair keys are in global coordinate space

    Type: | boolean, default False, (readonly)

  `name`

    Particle system name

    Type: | string, default “”, (never None)

  `parent`

    Use this object’s coordinate system instead of global coordinate system

    Type: | `Object`

  `particles`

    Particles generated by the particle system

    Type: | `bpy_prop_collection` of `Particle`, (readonly)

  `point_cache`

    Type: | `PointCache`, (readonly, never None)

  `reactor_target_object`

    For reactor systems, the object that has the target particle system (empty if same object)

    Type: | `Object`

  `reactor_target_particle_system`

    For reactor systems, index of particle system on the target object

    Type: | int in [1, 32767], default 0

  `seed`

    Offset in the random number table, to get a different randomized result

    Type: | int in [0, inf], default 0

  `settings`

    Particle system settings

    Type: | `ParticleSettings`, (never None)

  `targets`

    Target particle systems

    Type: | `bpy_prop_collection` of `ParticleTarget`, (readonly)

  `use_hair_dynamics`

    Enable hair dynamics using cloth simulation

    Type: | boolean, default False

  `use_keyed_timing`

    Use key times

    Type: | boolean, default False

  `vertex_group_clump`

    Vertex group to control clump

    Type: | string, default “”, (never None)

  `vertex_group_density`

    Vertex group to control density

    Type: | string, default “”, (never None)

  `vertex_group_field`

    Vertex group to control field

    Type: | string, default “”, (never None)

  `vertex_group_kink`

    Vertex group to control kink

    Type: | string, default “”, (never None)

  `vertex_group_length`

    Vertex group to control length

    Type: | string, default “”, (never None)

  `vertex_group_rotation`

    Vertex group to control rotation

    Type: | string, default “”, (never None)

  `vertex_group_roughness_1`

    Vertex group to control roughness 1

    Type: | string, default “”, (never None)

  `vertex_group_roughness_2`

    Vertex group to control roughness 2

    Type: | string, default “”, (never None)

  `vertex_group_roughness_end`

    Vertex group to control roughness end

    Type: | string, default “”, (never None)

  `vertex_group_size`

    Vertex group to control size

    Type: | string, default “”, (never None)

  `vertex_group_tangent`

    Vertex group to control tangent

    Type: | string, default “”, (never None)

  `vertex_group_velocity`

    Vertex group to control velocity

    Type: | string, default “”, (never None)

  `set_resolution`(scene=None, object=None, resolution='PREVIEW')

    Set the resolution to use for the number of particles

    Parameters: | scene (`Scene`, (optional)) – Scene object (`Object`, (optional)) – Object resolution (enum in [‘PREVIEW’, ‘RENDER’], (optional)) – Resolution settings to apply `PREVIEW` Preview, Apply modifier preview settings. `RENDER` Render, Apply modifier render settings.

  `co_hair`(object, particle_no=0, step=0)

    Obtain cache hair data

    Parameters: | object (`Object`, (never None)) – Object particle_no (int in [-inf, inf], (optional)) – Particle no step (int in [-inf, inf], (optional)) – step no
    Returns: | Co, Exported hairkey location
    Return type: | float array of 3 items in [-inf, inf]

  `uv_on_emitter`(modifier, particle, particle_no=0, uv_no=0)

    Obtain uv for all particles

    Parameters: | modifier (`ParticleSystemModifier`, (never None)) – Particle modifier particle (`Particle`, (never None)) – Particle particle_no (int in [-inf, inf], (optional)) – Particle no uv_no (int in [-inf, inf], (optional)) – UV no
    Returns: | uv
    Return type: | float array of 2 items in [-inf, inf]

  `mcol_on_emitter`(modifier, particle, particle_no=0, vcol_no=0)

    Obtain mcol for all particles

    Parameters: | modifier (`ParticleSystemModifier`, (never None)) – Particle modifier particle (`Particle`, (never None)) – Particle particle_no (int in [-inf, inf], (optional)) – Particle no vcol_no (int in [-inf, inf], (optional)) – vcol no
    Returns: | mcol
    Return type: | float array of 3 items in [0, inf]

Inherited Properties

`bpy_struct.id_data` |

Inherited Functions

`bpy_struct.as_pointer` `bpy_struct.driver_add` `bpy_struct.driver_remove` `bpy_struct.get` `bpy_struct.is_property_hidden` `bpy_struct.is_property_readonly` `bpy_struct.is_property_set` `bpy_struct.items` | `bpy_struct.keyframe_delete` `bpy_struct.keyframe_insert` `bpy_struct.keys` `bpy_struct.path_from_id` `bpy_struct.path_resolve` `bpy_struct.property_unset` `bpy_struct.type_recast` `bpy_struct.values`

References

`bpy.context.particle_system` `bpy.context.particle_system_editable` `DupliObject.particle_system` `DynamicPaintBrushSettings.particle_system` `Object.particle_systems` | `ParticleSystemModifier.particle_system` `ParticleSystems.active` `PointDensity.particle_system` `ShaderNodeTexPointDensity.particle_system` `SmokeFlowSettings.particle_system`