unreal.ParticleModuleCollision

class unreal.ParticleModuleCollision(outer=None, name='None')

Bases: unreal.ParticleModuleCollisionBase

Particle Module Collision

C++ Source:

  • Module: Engine

  • File: ParticleModuleCollision.h

Editor Properties: (see get_editor_property/set_editor_property)

  • apply_physics (bool): [Read-Write] If true, physic will be applied between a particle and the object it collides with. This is one-way - particle –> object. The particle does not have physics applied to it - it just generates an impulse applied to the object it collides with. NOTE: having this on prevents the code from running off the game thread.

  • b3d_draw_mode (bool): [Read-Write] If true, the module should render its 3D visualization helper

  • collide_only_if_visible (bool): [Read-Write] If true, Particle collision only if particle system is currently being rendered.

  • collision_completion_option (ParticleCollisionComplete): [Read-Write] What to do once a particles MaxCollisions is reached. One of the following: EPCC_Kill

    Kill the particle when MaxCollisions is reached

    EPCC_Freeze

    Freeze in place, NO MORE UPDATES

    EPCC_HaltCollisions,

    Stop collision checks, keep updating everything

    EPCC_FreezeTranslation,

    Stop translations, keep updating everything else

    EPCC_FreezeRotation,

    Stop rotations, keep updating everything else

    EPCC_FreezeMovement

    Stop all movement, keep updating

  • collision_types (Array(ObjectTypeQuery)): [Read-Write] Which ObjectTypes to collide with

  • damping_factor (RawDistributionVector): [Read-Write] How much to `slow’ the velocity of the particle after a collision. Value is obtained using the EmitterTime at particle spawn.

  • damping_factor_rotation (RawDistributionVector): [Read-Write] How much to `slow’ the rotation of the particle after a collision. Value is obtained using the EmitterTime at particle spawn.

  • delay_amount (RawDistributionFloat): [Read-Write] How long to delay before checking a particle for collisions. Value is retrieved using the EmitterTime. During update, the particle flag IgnoreCollisions will be set until the particle RelativeTime has surpassed the DelayAmount.

  • dir_scalar (float): [Read-Write] The directional scalar value - used to scale the bounds to ‘assist’ in avoiding inter-penetration or large gaps.

  • drop_detail (bool): [Read-Write] If true, when the World->bDropDetail flag is set, the module will be ignored.

  • ignore_source_actor (bool): [Read-Write] If true, then the source actor is ignored in collision checks. Defaults to true.

  • ignore_trigger_volumes (bool): [Read-Write] Any trigger volumes that are hit will be ignored. NOTE: This can be turned off if the TrigerVolume physics object type is not in the CollisionTypes array. Turning this off is strongly recommended as having it on prevents the code from running off the game thread.

  • max_collision_distance (float): [Read-Write] Max distance at which particle collision will occur.

  • max_collisions (RawDistributionFloat): [Read-Write] The maximum number of collisions a particle can have. Value is obtained using the EmitterTime at particle spawn.

  • module_editor_color (Color): [Read-Write] The color to draw the modules curves in the curve editor.

    If bCurvesAsColor is true, it overrides this value.

  • only_vertical_normals_decrement_count (bool): [Read-Write] If true, then collisions that do not have a vertical hit normal will still react, but UsedMaxCollisions count will not be decremented. (ie., They don’t ‘count’ as collisions) Useful for having particles come to rest on floors.

  • particle_mass (RawDistributionFloat): [Read-Write] The mass of the particle - for use when bApplyPhysics is true. Value is obtained using the EmitterTime at particle spawn.

  • pawns_do_not_decrement_count (bool): [Read-Write] If true, then collisions with Pawns will still react, but the UsedMaxCollisions count will not be decremented. (ie., They don’t ‘count’ as collisions) NOTE: Having this on prevents the code from running in parallel.

  • vertical_fudge_factor (float): [Read-Write] The fudge factor to use to determine vertical. True vertical will have a Hit.Normal.Z == 1.0 This will allow for Z components in the range of [1.0-VerticalFudgeFactor..1.0] to count as vertical collisions.

get_particle_module_collision_props() -> (out_damping_factor=Distribution, out_damping_factor_rotation=Distribution, out_max_collisions=Distribution, out_collision_complete_option=ParticleCollisionComplete, out_collision_types=Array(ObjectTypeQuery), out_apply_physics=bool, out_ignore_trigger_volumes=bool, out_particle_mass=Distribution, out_dir_scalar=float, out_pawns_do_not_decrement_count=bool, out_only_vertical_normals_decrement_count=bool, out_vertical_fudge_factor=float, out_delay_amount=Distribution, out_drop_detail=bool, out_collide_only_if_visible=bool, out_ignore_source_actor=bool, out_max_collision_distance=float)

Get Particle Module Collision Props

Returns

out_damping_factor (Distribution):

out_damping_factor_rotation (Distribution):

out_max_collisions (Distribution):

out_collision_complete_option (ParticleCollisionComplete):

out_collision_types (Array(ObjectTypeQuery)):

out_apply_physics (bool):

out_ignore_trigger_volumes (bool):

out_particle_mass (Distribution):

out_dir_scalar (float):

out_pawns_do_not_decrement_count (bool):

out_only_vertical_normals_decrement_count (bool):

out_vertical_fudge_factor (float):

out_delay_amount (Distribution):

out_drop_detail (bool):

out_collide_only_if_visible (bool):

out_ignore_source_actor (bool):

out_max_collision_distance (float):

Return type

tuple