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

Bases: unreal.ParticleModule

Particle Module Required

C++ Source:

  • Module: Engine

  • File: ParticleModuleRequired.h

Editor Properties: (see get_editor_property/set_editor_property)

  • alpha_threshold (float): [Read-Write] Alpha channel values larger than the threshold are considered occupied and will be contained in the bounding geometry. Raising this threshold slightly can reduce overdraw in particles using this animation asset.

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

  • bounding_mode (SubUVBoundingVertexCount): [Read-Write] More bounding vertices results in reduced overdraw, but adds more triangle overhead. The eight vertex mode is best used when the SubUV texture has a lot of space to cut out that is not captured by the four vertex version, and when the particles using the texture will be few and large.

  • cutout_texture (Texture2D): [Read-Write] Texture to generate bounding geometry from.

  • delay_first_loop_only (bool): [Read-Write] If true, the emitter will be delayed only on the first loop.

  • duration_recalc_each_loop (bool): [Read-Write] If true, recalculate the emitter duration on each loop.

  • emitter_delay (float): [Read-Write] Indicates the time (in seconds) that this emitter should be delayed in the particle system.

  • emitter_delay_low (float): [Read-Write] The low end of the emitter delay if using a range.

  • emitter_delay_use_range (bool): [Read-Write] If true, select the emitter delay from the range


  • emitter_duration (float): [Read-Write] How long, in seconds, the emitter will run before looping.

  • emitter_duration_low (float): [Read-Write] The low end of the emitter duration if using a range.

  • emitter_duration_use_range (bool): [Read-Write] If true, select the emitter duration from the range


  • emitter_loops (int32): [Read-Write] The number of times to loop the emitter.

    0 indicates loop continuously

  • emitter_normals_mode (EmitterNormalsMode): [Read-Write] Normal generation mode for this emitter LOD.

  • emitter_origin (Vector): [Read-Write] Emitter Origin

  • emitter_rotation (Rotator): [Read-Write] Emitter Rotation

  • interpolation_method (ParticleSubUVInterpMethod): [Read-Write] The interpolation method to used for the SubUV image selection. One of the following: PSUVIM_None - Do not apply SubUV modules to this emitter. PSUVIM_Linear - Smoothly transition between sub-images in the given order,

    with no blending between the current and the next

    PSUVIM_Linear_Blend - Smoothly transition between sub-images in the given order,

    blending between the current and the next

    PSUVIM_Random - Pick the next image at random, with no blending between

    the current and the next

    PSUVIM_Random_Blend - Pick the next image at random, blending between the current

    and the next

  • kill_on_completed (bool): [Read-Write] If true, kill the emitter when it completes

  • kill_on_deactivate (bool): [Read-Write] If true, kill the emitter when the particle system is deactivated

  • macro_uv_position (Vector): [Read-Write] Local space position that UVs generated with the ParticleMacroUV material node will be centered on.

  • macro_uv_radius (float): [Read-Write] World space radius that UVs generated with the ParticleMacroUV material node will tile based on.

  • material (MaterialInterface): [Read-Write] The material to utilize for the emitter at this LOD level.

  • max_draw_count (int32): [Read-Write] The maximum number of particles to DRAW for this emitter. If set to 0, it will use whatever number are present.

  • max_facing_camera_blend_distance (float): [Read-Write] The distance at which PSA_FacingCameraDistanceBlend is fully PSA_FacingCameraPosition

  • min_facing_camera_blend_distance (float): [Read-Write] The distance at which PSA_FacingCameraDistanceBlend is fully PSA_Square

  • 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.

  • named_material_overrides (Array(Name)): [Read-Write] Named material overrides for this emitter. Overrides this emitter’s material(s) with those in the correspondingly named slot(s) of the owning system.

  • normals_cylinder_direction (Vector): [Read-Write] When EmitterNormalsMode is ENM_Cylindrical, particle normals are created to face away from the cylinder going through NormalsSphereCenter in the direction NormalsCylinderDirection. NormalsCylinderDirection is in local space.

  • normals_sphere_center (Vector): [Read-Write] When EmitterNormalsMode is ENM_Spherical, particle normals are created to face away from NormalsSphereCenter. NormalsSphereCenter is in local space.

  • opacity_source_mode (OpacitySourceMode): [Read-Write] Opacity Source Mode

  • orbit_module_affects_velocity_alignment (bool): [Read-Write] Ensures that movement generated from the orbit module is applied to velocity-aligned particles

  • override_system_macro_uv (bool): [Read-Write] Override the system MacroUV settings

  • random_image_changes (int32): [Read-Write] The number of times to change a random image over the life of the particle.

  • remove_hmd_roll (bool): [Read-Write] If true, removes the HMD view roll (e.g. in VR)

  • scale_uv (bool): [Read-Write] Whether to scale the UV or not - ie, the model wasn’t setup with sub uvs

  • screen_alignment (ParticleScreenAlignment): [Read-Write] The screen alignment to utilize for the emitter at this LOD level. One of the following: PSA_FacingCameraPosition - Faces the camera position, but is not dependent on the camera rotation.

    This method produces more stable particles under camera rotation.

    PSA_Square - Uniform scale (via SizeX) facing the camera PSA_Rectangle - Non-uniform scale (via SizeX and SizeY) facing the camera PSA_Velocity - Orient the particle towards both the camera and the direction

    the particle is moving. Non-uniform scaling is allowed.

    PSA_TypeSpecific - Use the alignment method indicated in the type data module. PSA_FacingCameraDistanceBlend - Blends between PSA_FacingCameraPosition and PSA_Square over specified distance.

  • sort_mode (ParticleSortMode): [Read-Write] The sorting mode to use for this emitter. PSORTMODE_None - No sorting required. PSORTMODE_ViewProjDepth - Sort by view projected depth of the particle. PSORTMODE_DistanceToView - Sort by distance of particle to view in world space. PSORTMODE_Age_OldestFirst - Sort by age, oldest drawn first. PSORTMODE_Age_NewestFirst - Sort by age, newest drawn first.

  • sub_images_horizontal (int32): [Read-Write] The number of sub-images horizontally in the texture

  • sub_images_vertical (int32): [Read-Write] The number of sub-images vertically in the texture

  • use_legacy_emitter_time (bool): [Read-Write] If true, the EmitterTime for the emitter will be calculated by modulating the SecondsSinceCreation by the EmitterDuration. As this can lead to issues w/ looping and variable duration, a new approach has been implemented. If false, this new approach is utilized, and the EmitterTime is simply incremented by DeltaTime each tick. When the emitter loops, it adjusts the EmitterTime by the current EmitterDuration resulting in proper looping/delay behavior.

  • use_local_space (bool): [Read-Write] If true, update the emitter in local space

  • use_max_draw_count (bool): [Read-Write] If true, use the MaxDrawCount to limit the number of particles rendered. NOTE: This does not limit the number spawned/updated, only what is drawn.

  • uv_flipping_mode (ParticleUVFlipMode): [Read-Write] Controls UV Flipping for this emitter.

get_particle_module_required_per_emitter_props() -> (out_emitter_origin=Vector, out_emitter_rotation=Rotator, out_use_local_space=bool, out_kill_on_deactivate=bool, out_kill_on_completed=bool, out_use_legacy_emitter_time=bool, out_emitter_duration_use_range=bool, out_emitter_duration=float, out_emitter_duration_low=float, o_ut_emitter_delay_use_range=bool, out_delay_first_loop_only=bool, out_emitter_delay=float, out_emitter_delay_low=float, out_duration_recalc_each_loop=bool, out_emitter_loops=int32)

Get Particle Module Required Per Emitter Props


out_emitter_origin (Vector):

out_emitter_rotation (Rotator):

out_use_local_space (bool):

out_kill_on_deactivate (bool):

out_kill_on_completed (bool):

out_use_legacy_emitter_time (bool):

out_emitter_duration_use_range (bool):

out_emitter_duration (float):

out_emitter_duration_low (float):

o_ut_emitter_delay_use_range (bool):

out_delay_first_loop_only (bool):

out_emitter_delay (float):

out_emitter_delay_low (float):

out_duration_recalc_each_loop (bool):

out_emitter_loops (int32):

Return type


get_particle_module_required_per_module_props() -> (out_orbit_module_affects_velocity_alignment=bool, out_random_image_time=float, out_random_image_changes=int32, out_override_system_macro_uv=bool, out_macro_uv_position=Vector, out_macro_uv_radius=float)

Get Particle Module Required Per Module Props


out_orbit_module_affects_velocity_alignment (bool):

out_random_image_time (float):

out_random_image_changes (int32):

out_override_system_macro_uv (bool):

out_macro_uv_position (Vector):

out_macro_uv_radius (float):

Return type


get_particle_module_required_per_renderer_props() -> (out_material_interface=MaterialInterface, out_screen_alignment=ParticleScreenAlignment, out_sub_images_horizontal=int32, out_sub_images_vertical=int32, out_sort_mode=ParticleSortMode, out_interpolation_method=ParticleSubUVInterpMethod, out_remove_hmd_roll=uint8, out_min_facing_camera_blend_distance=float, out_max_facing_camera_blend_distance=float, out_cutout_texture=Texture2D, out_bounding_mode=SubUVBoundingVertexCount, out_opacity_source_mode=OpacitySourceMode, out_emitter_normals_mode=EmitterNormalsMode, out_alpha_threshold=float)

Get Particle Module Required Per Renderer Props


out_material_interface (MaterialInterface):

out_screen_alignment (ParticleScreenAlignment):

out_sub_images_horizontal (int32):

out_sub_images_vertical (int32):

out_sort_mode (ParticleSortMode):

out_interpolation_method (ParticleSubUVInterpMethod):

out_remove_hmd_roll (uint8):

out_min_facing_camera_blend_distance (float):

out_max_facing_camera_blend_distance (float):

out_cutout_texture (Texture2D):

out_bounding_mode (SubUVBoundingVertexCount):

out_opacity_source_mode (OpacitySourceMode):

out_emitter_normals_mode (EmitterNormalsMode):

out_alpha_threshold (float):

Return type