pub struct ParticleEmitter { /* private fields */ }Expand description
PAR_ — Particle emitter (v10–v24, 1300–1496 bytes)
The most complex M3 chunk type. Contains bone/material binding, emission shape/rate, per-particle lifetime/velocity/color/size/rotation curves, physics (drag, mass, forces), noise, collision, flipbook, variation channels, spline data, LOD, trails, and splat references. Version extensions add additional flags, force multipliers, UV transforms, phase shift, and ribbon-on-bounce parameters.
Implementations§
Source§impl ParticleEmitter
impl ParticleEmitter
Sourcepub fn bone_index(&self) -> u32
pub fn bone_index(&self) -> u32
Index into BONE array
pub fn set_bone_index(&mut self, value: u32)
Sourcepub fn material_index(&self) -> u32
pub fn material_index(&self) -> u32
Index into MATM material map array
pub fn set_material_index(&mut self, value: u32)
pub fn additional_flags(&self) -> ParticleAdditionalFlag
pub fn set_additional_flags(&mut self, value: ParticleAdditionalFlag)
Sourcepub fn initial_speed(&self) -> Ref<'_, AnimRefF32>
pub fn initial_speed(&self) -> Ref<'_, AnimRefF32>
Initial particle speed Borrows the field in place — no copy, no allocation.
pub fn initial_speed_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn initial_speed_random(&self) -> Ref<'_, AnimRefF32>
pub fn initial_speed_random(&self) -> Ref<'_, AnimRefF32>
Random speed variation Borrows the field in place — no copy, no allocation.
pub fn initial_speed_random_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn initial_yaw(&self) -> Ref<'_, AnimRefF32>
pub fn initial_yaw(&self) -> Ref<'_, AnimRefF32>
Initial yaw angle Borrows the field in place — no copy, no allocation.
pub fn initial_yaw_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn initial_pitch(&self) -> Ref<'_, AnimRefF32>
pub fn initial_pitch(&self) -> Ref<'_, AnimRefF32>
Initial pitch angle Borrows the field in place — no copy, no allocation.
pub fn initial_pitch_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn initial_horizontal(&self) -> Ref<'_, AnimRefF32>
pub fn initial_horizontal(&self) -> Ref<'_, AnimRefF32>
Initial horizontal spread Borrows the field in place — no copy, no allocation.
pub fn initial_horizontal_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn initial_vertical(&self) -> Ref<'_, AnimRefF32>
pub fn initial_vertical(&self) -> Ref<'_, AnimRefF32>
Initial vertical spread Borrows the field in place — no copy, no allocation.
pub fn initial_vertical_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn lifetime(&self) -> Ref<'_, AnimRefF32>
pub fn lifetime(&self) -> Ref<'_, AnimRefF32>
Base particle lifetime Borrows the field in place — no copy, no allocation.
pub fn lifetime_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn lifetime_random(&self) -> Ref<'_, AnimRefF32>
pub fn lifetime_random(&self) -> Ref<'_, AnimRefF32>
Random lifetime variation Borrows the field in place — no copy, no allocation.
pub fn lifetime_random_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn kill_radius(&self) -> f32
pub fn kill_radius(&self) -> f32
Kill radius (particles beyond this are destroyed)
pub fn set_kill_radius(&mut self, value: f32)
pub fn set_gravity_x(&mut self, value: u32)
pub fn set_gravity_y(&mut self, value: u32)
pub fn set_gravity(&mut self, value: f32)
Sourcepub fn size_mid_time(&self) -> f32
pub fn size_mid_time(&self) -> f32
Size midpoint time (0–1, v12+)
pub fn set_size_mid_time(&mut self, value: f32)
Sourcepub fn color_mid_time(&self) -> f32
pub fn color_mid_time(&self) -> f32
Color midpoint time (0–1, v12+)
pub fn set_color_mid_time(&mut self, value: f32)
Sourcepub fn alpha_mid_time(&self) -> f32
pub fn alpha_mid_time(&self) -> f32
Alpha midpoint time (0–1, v12+)
pub fn set_alpha_mid_time(&mut self, value: f32)
Sourcepub fn rotation_mid_time(&self) -> f32
pub fn rotation_mid_time(&self) -> f32
Rotation midpoint time (0–1, v12+)
pub fn set_rotation_mid_time(&mut self, value: f32)
Sourcepub fn size_mid_hold_time(&self) -> f32
pub fn size_mid_hold_time(&self) -> f32
Size hold time at midpoint (v14+)
pub fn set_size_mid_hold_time(&mut self, value: f32)
Sourcepub fn color_mid_hold_time(&self) -> f32
pub fn color_mid_hold_time(&self) -> f32
Color hold time at midpoint (v14+)
pub fn set_color_mid_hold_time(&mut self, value: f32)
Sourcepub fn alpha_mid_hold_time(&self) -> f32
pub fn alpha_mid_hold_time(&self) -> f32
Alpha hold time at midpoint (v14+)
pub fn set_alpha_mid_hold_time(&mut self, value: f32)
Sourcepub fn rotation_mid_hold_time(&self) -> f32
pub fn rotation_mid_hold_time(&self) -> f32
Rotation hold time at midpoint (v14+)
pub fn set_rotation_mid_hold_time(&mut self, value: f32)
Sourcepub fn size_animation(&self) -> Ref<'_, AnimRefVector3f>
pub fn size_animation(&self) -> Ref<'_, AnimRefVector3f>
Size curve (start, mid, end) Borrows the field in place — no copy, no allocation.
pub fn size_animation_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn rotation_animation(&self) -> Ref<'_, AnimRefVector3f>
pub fn rotation_animation(&self) -> Ref<'_, AnimRefVector3f>
Rotation curve (start, mid, end) Borrows the field in place — no copy, no allocation.
pub fn rotation_animation_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn color_start(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_start(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Color at birth Borrows the field in place — no copy, no allocation.
pub fn color_start_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
Sourcepub fn color_mid(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_mid(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Color at midpoint Borrows the field in place — no copy, no allocation.
pub fn color_mid_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
Sourcepub fn color_end(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_end(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Color at death Borrows the field in place — no copy, no allocation.
pub fn color_end_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
pub fn set_drag(&mut self, value: f32)
pub fn set_mass(&mut self, value: f32)
Sourcepub fn mass_random(&self) -> f32
pub fn mass_random(&self) -> f32
Random mass variation multiplier
pub fn set_mass_random(&mut self, value: f32)
Sourcepub fn mass_size_multiplier(&self) -> f32
pub fn mass_size_multiplier(&self) -> f32
Mass–size coupling (v12+)
pub fn set_mass_size_multiplier(&mut self, value: f32)
Sourcepub fn local_forces(&self) -> u16
pub fn local_forces(&self) -> u16
Local force channel bitmask
pub fn set_local_forces(&mut self, value: u16)
Sourcepub fn world_forces(&self) -> u16
pub fn world_forces(&self) -> u16
World force channel bitmask
pub fn set_world_forces(&mut self, value: u16)
Sourcepub fn local_forces_fallback(&self) -> u16
pub fn local_forces_fallback(&self) -> u16
Fallback local force channels
pub fn set_local_forces_fallback(&mut self, value: u16)
Sourcepub fn world_forces_fallback(&self) -> u16
pub fn world_forces_fallback(&self) -> u16
Fallback world force channels
pub fn set_world_forces_fallback(&mut self, value: u16)
Sourcepub fn world_forces_mass_multiplier(&self) -> f32
pub fn world_forces_mass_multiplier(&self) -> f32
World force mass multiplier (v24+)
pub fn set_world_forces_mass_multiplier(&mut self, value: f32)
Sourcepub fn noise_amplitude(&self) -> f32
pub fn noise_amplitude(&self) -> f32
Noise displacement amplitude
pub fn set_noise_amplitude(&mut self, value: f32)
Sourcepub fn noise_frequency(&self) -> f32
pub fn noise_frequency(&self) -> f32
Noise spatial frequency
pub fn set_noise_frequency(&mut self, value: f32)
Sourcepub fn noise_coherence(&self) -> f32
pub fn noise_coherence(&self) -> f32
Noise temporal coherence
pub fn set_noise_coherence(&mut self, value: f32)
Sourcepub fn noise_edge(&self) -> f32
pub fn noise_edge(&self) -> f32
Noise edge sharpness
pub fn set_noise_edge(&mut self, value: f32)
Sourcepub fn index_plus_length(&self) -> u32
pub fn index_plus_length(&self) -> u32
Index + length (v11+)
pub fn set_index_plus_length(&mut self, value: u32)
Sourcepub fn max_particles(&self) -> u32
pub fn max_particles(&self) -> u32
Maximum live particle count
pub fn set_max_particles(&mut self, value: u32)
Sourcepub fn emission_rate(&self) -> Ref<'_, AnimRefF32>
pub fn emission_rate(&self) -> Ref<'_, AnimRefF32>
Animated emission rate (particles/sec) Borrows the field in place — no copy, no allocation.
pub fn emission_rate_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn emitter_shape(&self) -> EmitterShape
pub fn emitter_shape(&self) -> EmitterShape
Emission shape
pub fn set_emitter_shape(&mut self, value: EmitterShape)
Sourcepub fn shape_outer(&self) -> Ref<'_, AnimRefVector3f>
pub fn shape_outer(&self) -> Ref<'_, AnimRefVector3f>
Animated outer shape dimensions Borrows the field in place — no copy, no allocation.
pub fn shape_outer_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn shape_inner(&self) -> Ref<'_, AnimRefVector3f>
pub fn shape_inner(&self) -> Ref<'_, AnimRefVector3f>
Animated inner shape dimensions Borrows the field in place — no copy, no allocation.
pub fn shape_inner_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn outer_radius(&self) -> Ref<'_, AnimRefF32>
pub fn outer_radius(&self) -> Ref<'_, AnimRefF32>
Animated outer radius Borrows the field in place — no copy, no allocation.
pub fn outer_radius_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn inner_radius(&self) -> Ref<'_, AnimRefF32>
pub fn inner_radius(&self) -> Ref<'_, AnimRefF32>
Animated inner radius Borrows the field in place — no copy, no allocation.
pub fn inner_radius_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn shape_regions(&self) -> &[u32]
pub fn shape_regions(&self) -> &[u32]
Shape region indices (U32_, v14+), which mesh region from div to use
Zero-copy view of the underlying std::vector.
Sourcepub fn shape_regions_mut(&mut self) -> &mut [u32]
pub fn shape_regions_mut(&mut self) -> &mut [u32]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_shape_regions(&mut self, values: &[u32])
pub fn resize_shape_regions(&mut self, count: usize)
Sourcepub fn velocity_type(&self) -> u32
pub fn velocity_type(&self) -> u32
Velocity randomization type
pub fn set_velocity_type(&mut self, value: u32)
Sourcepub fn size_random_enable(&self) -> u32
pub fn size_random_enable(&self) -> u32
Enable size randomization
pub fn set_size_random_enable(&mut self, value: u32)
Sourcepub fn size_random_animation(&self) -> Ref<'_, AnimRefVector3f>
pub fn size_random_animation(&self) -> Ref<'_, AnimRefVector3f>
Random size curve Borrows the field in place — no copy, no allocation.
pub fn size_random_animation_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn rotation_random_enable(&self) -> u32
pub fn rotation_random_enable(&self) -> u32
Enable rotation randomization
pub fn set_rotation_random_enable(&mut self, value: u32)
Sourcepub fn rotation_random_animation(&self) -> Ref<'_, AnimRefVector3f>
pub fn rotation_random_animation(&self) -> Ref<'_, AnimRefVector3f>
Random rotation curve Borrows the field in place — no copy, no allocation.
pub fn rotation_random_animation_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn color_random_enable(&self) -> u32
pub fn color_random_enable(&self) -> u32
Enable color randomization
pub fn set_color_random_enable(&mut self, value: u32)
Sourcepub fn color_start_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_start_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Random color at birth Borrows the field in place — no copy, no allocation.
pub fn color_start_random_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
Sourcepub fn color_mid_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_mid_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Random color at midpoint Borrows the field in place — no copy, no allocation.
pub fn color_mid_random_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
Sourcepub fn color_end_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
pub fn color_end_random(&self) -> Ref<'_, AnimRefM3ColorBGRA>
Random color at death Borrows the field in place — no copy, no allocation.
pub fn color_end_random_mut(&mut self) -> RefMut<'_, AnimRefM3ColorBGRA>
Sourcepub fn alpha_random_enable(&self) -> u32
pub fn alpha_random_enable(&self) -> u32
Enable alpha randomization
pub fn set_alpha_random_enable(&mut self, value: u32)
Sourcepub fn squirt_amount(&self) -> Ref<'_, AnimRefU16>
pub fn squirt_amount(&self) -> Ref<'_, AnimRefU16>
Animated squirt burst count Borrows the field in place — no copy, no allocation.
pub fn squirt_amount_mut(&mut self) -> RefMut<'_, AnimRefU16>
Sourcepub fn flipbook_start_init_index(&self) -> u8
pub fn flipbook_start_init_index(&self) -> u8
Flipbook start initial frame index
pub fn set_flipbook_start_init_index(&mut self, value: u8)
Sourcepub fn flipbook_start_stop_index(&self) -> u8
pub fn flipbook_start_stop_index(&self) -> u8
Flipbook start stop frame index
pub fn set_flipbook_start_stop_index(&mut self, value: u8)
Sourcepub fn flipbook_end_init_index(&self) -> u8
pub fn flipbook_end_init_index(&self) -> u8
Flipbook end initial frame index
pub fn set_flipbook_end_init_index(&mut self, value: u8)
Sourcepub fn flipbook_end_stop_index(&self) -> u8
pub fn flipbook_end_stop_index(&self) -> u8
Flipbook end stop frame index
pub fn set_flipbook_end_stop_index(&mut self, value: u8)
Sourcepub fn flipbook_mid_time(&self) -> f32
pub fn flipbook_mid_time(&self) -> f32
Flipbook midpoint time (0–1)
pub fn set_flipbook_mid_time(&mut self, value: f32)
Sourcepub fn flipbook_columns(&self) -> u16
pub fn flipbook_columns(&self) -> u16
Flipbook grid columns
pub fn set_flipbook_columns(&mut self, value: u16)
Sourcepub fn flipbook_rows(&self) -> u16
pub fn flipbook_rows(&self) -> u16
Flipbook grid rows
pub fn set_flipbook_rows(&mut self, value: u16)
Sourcepub fn flipbook_column_fraction(&self) -> f32
pub fn flipbook_column_fraction(&self) -> f32
Column fraction (v12+)
pub fn set_flipbook_column_fraction(&mut self, value: f32)
Sourcepub fn flipbook_row_fraction(&self) -> f32
pub fn flipbook_row_fraction(&self) -> f32
Row fraction (v12+)
pub fn set_flipbook_row_fraction(&mut self, value: f32)
pub fn set_bounce(&mut self, value: f32)
pub fn set_friction(&mut self, value: f32)
Sourcepub fn collision_spawn_index(&self) -> i32
pub fn collision_spawn_index(&self) -> i32
Emitter index to spawn on collision (-1 = none)
pub fn set_collision_spawn_index(&mut self, value: i32)
Sourcepub fn collision_spawn_min(&self) -> u32
pub fn collision_spawn_min(&self) -> u32
Minimum spawn count on collision
pub fn set_collision_spawn_min(&mut self, value: u32)
Sourcepub fn collision_spawn_max(&self) -> u32
pub fn collision_spawn_max(&self) -> u32
Maximum spawn count on collision
pub fn set_collision_spawn_max(&mut self, value: u32)
Sourcepub fn collision_spawn_chance(&self) -> f32
pub fn collision_spawn_chance(&self) -> f32
Spawn probability on collision
pub fn set_collision_spawn_chance(&mut self, value: f32)
Sourcepub fn collision_spawn_energy(&self) -> f32
pub fn collision_spawn_energy(&self) -> f32
Spawn energy transfer
pub fn set_collision_spawn_energy(&mut self, value: f32)
Sourcepub fn collision_die_bounce(&self) -> u32
pub fn collision_die_bounce(&self) -> u32
Die after N bounces
pub fn set_collision_die_bounce(&mut self, value: u32)
Sourcepub fn instance_type(&self) -> ParticleInstanceType
pub fn instance_type(&self) -> ParticleInstanceType
Visual type → shader b_iInstanceType
pub fn set_instance_type(&mut self, value: ParticleInstanceType)
Sourcepub fn tail_length(&self) -> f32
pub fn tail_length(&self) -> f32
Tail length for Tail/Trail types
pub fn set_tail_length(&mut self, value: f32)
Sourcepub fn instance_angle(&self) -> Vector3f
pub fn instance_angle(&self) -> Vector3f
Instance orientation angles
pub fn set_instance_angle(&mut self, value: Vector3f)
Sourcepub fn instance_distance(&self) -> f32
pub fn instance_distance(&self) -> f32
Instance distance (v17+)
pub fn set_instance_distance(&mut self, value: f32)
Sourcepub fn pitch_type(&self) -> u32
pub fn pitch_type(&self) -> u32
Pitch variation type
pub fn set_pitch_type(&mut self, value: u32)
Sourcepub fn pitch_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn pitch_amplitude(&self) -> Ref<'_, AnimRefF32>
Pitch variation amplitude Borrows the field in place — no copy, no allocation.
pub fn pitch_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn pitch_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn pitch_frequency(&self) -> Ref<'_, AnimRefF32>
Pitch variation frequency Borrows the field in place — no copy, no allocation.
pub fn pitch_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
pub fn set_yaw_type(&mut self, value: u32)
Sourcepub fn yaw_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn yaw_amplitude(&self) -> Ref<'_, AnimRefF32>
Yaw variation amplitude Borrows the field in place — no copy, no allocation.
pub fn yaw_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn yaw_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn yaw_frequency(&self) -> Ref<'_, AnimRefF32>
Yaw variation frequency Borrows the field in place — no copy, no allocation.
pub fn yaw_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn speed_type(&self) -> u32
pub fn speed_type(&self) -> u32
Speed variation type
pub fn set_speed_type(&mut self, value: u32)
Sourcepub fn speed_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn speed_amplitude(&self) -> Ref<'_, AnimRefF32>
Speed variation amplitude Borrows the field in place — no copy, no allocation.
pub fn speed_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn speed_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn speed_frequency(&self) -> Ref<'_, AnimRefF32>
Speed variation frequency Borrows the field in place — no copy, no allocation.
pub fn speed_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
pub fn set_size_type(&mut self, value: u32)
Sourcepub fn size_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn size_amplitude(&self) -> Ref<'_, AnimRefF32>
Size variation amplitude Borrows the field in place — no copy, no allocation.
pub fn size_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn size_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn size_frequency(&self) -> Ref<'_, AnimRefF32>
Size variation frequency Borrows the field in place — no copy, no allocation.
pub fn size_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn alpha_type(&self) -> u32
pub fn alpha_type(&self) -> u32
Alpha variation type
pub fn set_alpha_type(&mut self, value: u32)
Sourcepub fn alpha_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn alpha_amplitude(&self) -> Ref<'_, AnimRefF32>
Alpha variation amplitude Borrows the field in place — no copy, no allocation.
pub fn alpha_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn alpha_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn alpha_frequency(&self) -> Ref<'_, AnimRefF32>
Alpha variation frequency Borrows the field in place — no copy, no allocation.
pub fn alpha_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn color_type(&self) -> u32
pub fn color_type(&self) -> u32
Color variation type
pub fn set_color_type(&mut self, value: u32)
Sourcepub fn color_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn color_amplitude(&self) -> Ref<'_, AnimRefF32>
Color variation amplitude Borrows the field in place — no copy, no allocation.
pub fn color_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn color_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn color_frequency(&self) -> Ref<'_, AnimRefF32>
Color variation frequency Borrows the field in place — no copy, no allocation.
pub fn color_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn rotation_type(&self) -> u32
pub fn rotation_type(&self) -> u32
Rotation variation type
pub fn set_rotation_type(&mut self, value: u32)
Sourcepub fn rotation_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn rotation_amplitude(&self) -> Ref<'_, AnimRefF32>
Rotation variation amplitude Borrows the field in place — no copy, no allocation.
pub fn rotation_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn rotation_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn rotation_frequency(&self) -> Ref<'_, AnimRefF32>
Rotation variation frequency Borrows the field in place — no copy, no allocation.
pub fn rotation_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn horizontal_type(&self) -> u32
pub fn horizontal_type(&self) -> u32
Horizontal variation type
pub fn set_horizontal_type(&mut self, value: u32)
Sourcepub fn horizontal_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn horizontal_amplitude(&self) -> Ref<'_, AnimRefF32>
Horizontal variation amplitude Borrows the field in place — no copy, no allocation.
pub fn horizontal_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn horizontal_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn horizontal_frequency(&self) -> Ref<'_, AnimRefF32>
Horizontal variation frequency Borrows the field in place — no copy, no allocation.
pub fn horizontal_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn vertical_type(&self) -> u32
pub fn vertical_type(&self) -> u32
Vertical variation type
pub fn set_vertical_type(&mut self, value: u32)
Sourcepub fn vertical_amplitude(&self) -> Ref<'_, AnimRefF32>
pub fn vertical_amplitude(&self) -> Ref<'_, AnimRefF32>
Vertical variation amplitude Borrows the field in place — no copy, no allocation.
pub fn vertical_amplitude_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn vertical_frequency(&self) -> Ref<'_, AnimRefF32>
pub fn vertical_frequency(&self) -> Ref<'_, AnimRefF32>
Vertical variation frequency; Borrows the field in place — no copy, no allocation.
pub fn vertical_frequency_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn particle_velocity(&self) -> Ref<'_, AnimRefF32>
pub fn particle_velocity(&self) -> Ref<'_, AnimRefF32>
Animated parent velocity influence Borrows the field in place — no copy, no allocation.
pub fn particle_velocity_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn phase_shift(&self) -> Ref<'_, AnimRefF32>
pub fn phase_shift(&self) -> Ref<'_, AnimRefF32>
Animated phase shift (v22+) Borrows the field in place — no copy, no allocation.
pub fn phase_shift_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn flags(&self) -> ParticleFlag
pub fn flags(&self) -> ParticleFlag
Main particle flags
pub fn set_flags(&mut self, value: ParticleFlag)
Sourcepub fn rotation_flags(&self) -> ParticleRotationFlag
pub fn rotation_flags(&self) -> ParticleRotationFlag
Rotation flags (v18+)
pub fn set_rotation_flags(&mut self, value: ParticleRotationFlag)
pub fn color_smoothing(&self) -> InterpolationMode
pub fn set_color_smoothing(&mut self, value: InterpolationMode)
pub fn size_smoothing(&self) -> InterpolationMode
pub fn set_size_smoothing(&mut self, value: InterpolationMode)
pub fn rotation_smoothing(&self) -> InterpolationMode
pub fn set_rotation_smoothing(&mut self, value: InterpolationMode)
Sourcepub fn alpha_threshold(&self) -> Ref<'_, AnimRefF32>
pub fn alpha_threshold(&self) -> Ref<'_, AnimRefF32>
Animated alpha threshold Borrows the field in place — no copy, no allocation.
pub fn alpha_threshold_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn uv_offset(&self) -> Ref<'_, AnimRefVector2f>
pub fn uv_offset(&self) -> Ref<'_, AnimRefVector2f>
Animated UV offset Borrows the field in place — no copy, no allocation.
pub fn uv_offset_mut(&mut self) -> RefMut<'_, AnimRefVector2f>
Sourcepub fn uv_angle(&self) -> Ref<'_, AnimRefVector3f>
pub fn uv_angle(&self) -> Ref<'_, AnimRefVector3f>
Animated UV rotation angles Borrows the field in place — no copy, no allocation.
pub fn uv_angle_mut(&mut self) -> RefMut<'_, AnimRefVector3f>
Sourcepub fn uv_tiling(&self) -> Ref<'_, AnimRefVector2f>
pub fn uv_tiling(&self) -> Ref<'_, AnimRefVector2f>
Animated UV tiling Borrows the field in place — no copy, no allocation.
pub fn uv_tiling_mut(&mut self) -> RefMut<'_, AnimRefVector2f>
Sourcepub fn spline_line_data_len(&self) -> usize
pub fn spline_line_data_len(&self) -> usize
Spline control points (SVC3)
Sourcepub fn spline_line_data(&self, index: usize) -> Option<Ref<'_, AnimRefVector3f>>
pub fn spline_line_data(&self, index: usize) -> Option<Ref<'_, AnimRefVector3f>>
Borrows element index in place. None when out of range.
pub fn spline_line_data_mut( &mut self, index: usize, ) -> Option<RefMut<'_, AnimRefVector3f>>
Sourcepub fn spline_line_data_iter(
&self,
) -> impl ExactSizeIterator<Item = Ref<'_, AnimRefVector3f>>
pub fn spline_line_data_iter( &self, ) -> impl ExactSizeIterator<Item = Ref<'_, AnimRefVector3f>>
Iterate the elements, borrowing each in turn.
pub fn resize_spline_line_data(&mut self, count: usize)
Sourcepub fn wind_multiplier(&self) -> f32
pub fn wind_multiplier(&self) -> f32
Wind influence multiplier
pub fn set_wind_multiplier(&mut self, value: f32)
Sourcepub fn lod_reduce(&self) -> u32
pub fn lod_reduce(&self) -> u32
LOD reduction level
pub fn set_lod_reduce(&mut self, value: u32)
pub fn set_lod_cut(&mut self, value: u32)
Sourcepub fn lower_bound(&self) -> Ref<'_, AnimRefF32>
pub fn lower_bound(&self) -> Ref<'_, AnimRefF32>
Animated lower bound Borrows the field in place — no copy, no allocation.
pub fn lower_bound_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn upper_bound(&self) -> Ref<'_, AnimRefF32>
pub fn upper_bound(&self) -> Ref<'_, AnimRefF32>
Animated upper bound Borrows the field in place — no copy, no allocation.
pub fn upper_bound_mut(&mut self) -> RefMut<'_, AnimRefF32>
pub fn trail_link_index(&self) -> i32
pub fn set_trail_link_index(&mut self, value: i32)
Sourcepub fn trail_chance(&self) -> f32
pub fn trail_chance(&self) -> f32
Trail spawn probability
pub fn set_trail_chance(&mut self, value: f32)
Sourcepub fn trail_emission_rate(&self) -> Ref<'_, AnimRefF32>
pub fn trail_emission_rate(&self) -> Ref<'_, AnimRefF32>
Animated trail emission rate Borrows the field in place — no copy, no allocation.
pub fn trail_emission_rate_mut(&mut self) -> RefMut<'_, AnimRefF32>
Sourcepub fn splat_projection_index(&self) -> i32
pub fn splat_projection_index(&self) -> i32
Linked projector index (-1 = none)
pub fn set_splat_projection_index(&mut self, value: i32)
Sourcepub fn splat_chance(&self) -> f32
pub fn splat_chance(&self) -> f32
Splat spawn probability
pub fn set_splat_chance(&mut self, value: f32)
Sourcepub fn copy_indices(&self) -> &[u32]
pub fn copy_indices(&self) -> &[u32]
Emitter copy indices (U32_)
Zero-copy view of the underlying std::vector.
Sourcepub fn copy_indices_mut(&mut self) -> &mut [u32]
pub fn copy_indices_mut(&mut self) -> &mut [u32]
Zero-copy mutable view. Resize first — the borrow forbids it after.
pub fn set_copy_indices(&mut self, values: &[u32])
pub fn resize_copy_indices(&mut self, count: usize)
Sourcepub fn spawn_ribbon_on_bounce_chance(&self) -> f32
pub fn spawn_ribbon_on_bounce_chance(&self) -> f32
Ribbon spawn probability on bounce (v23+)
pub fn set_spawn_ribbon_on_bounce_chance(&mut self, value: f32)
Sourcepub fn ribbon_link_index(&self) -> i32
pub fn ribbon_link_index(&self) -> i32
Index into RIB_ array (-1 = none, v23+)