unreal.RigDynamicsParticleProperties¶
- class unreal.RigDynamicsParticleProperties(radius: float = 0.0, mass: float = 0.0, movement_type: RigParticleSimulationMovementType = Ellipsis, gravity_multiplier: float = 0.0, strength: float = 0.0, damping_ratio: float = 0.0, extra_damping: float = 0.0, acceleration_mode: bool = False, target_velocity_influence: float = 0.0, target_mode: float = 0.0, angle_limit: float = 0.0, angle_limit_strength: float = 0.0, damping: float = 0.0, scale_damping_by_inverse_mass: bool = False, collide_with_colliders: bool = False, no_collision_colliders: None = [], collision_particles: None = [], confiners: None = [])¶
Bases:
StructBaseRig Dynamics Particle Properties
C++ Source:
Plugin: ControlRigDynamics
Module: ControlRigDynamics
File: RigDynamicsData.h
Editor Properties: (see get_editor_property/set_editor_property)
acceleration_mode(bool): [Read-Write] When true, Strength is a mass-independent natural frequency. When false, the spring/damper acts as a true force, so heavier particles oscillate more slowly. Applies to target tracking only - the per-particle angle limit is always acceleration-mode regardless of this flag.angle_limit(float): [Read-Write] Constrains this particle to align with the target direction from its parent, to within this angle (in degrees). This effectively gives us a limit on the deviation from the target pose.angle_limit_strength(float): [Read-Write] The strength of the angle limit constraint (oscillation frequency). High values impose the limit more rigidly, low values allow soft/springy deviation before settling. Zero disables the angle limit.collide_with_colliders(bool): [Read-Write] If false, this particle ignores all colliders regardless of NoCollisionColliders.collision_particles(Array[RigComponentKey]): [Read-Write] A list of other particles we should collide withconfiners(Array[RigComponentKey]): [Read-Write] A list of confiners that will keep this particle inside their shapes (opt-in).damping(float): [Read-Write] Air/ether damping (like drag). Particle velocity in simulation space is relaxed toward the local air/ether (world-at-rest, plus any simulation-space motion scaled by the solver’s linear / angular drag multipliers). With bScaleDampingByInverseMass=false, the relaxation timescale is 1/Damping for any mass. With bScaleDampingByInverseMass=true, Damping is divided by mass so lighter particles damp faster, making this behave more like drag.damping_ratio(float): [Read-Write] DampingRatio for the tracking particle targetextra_damping(float): [Read-Write] Additional damping for tracking the particle targetgravity_multiplier(float): [Read-Write] Scales the solver gravitymass(float): [Read-Write] The mass of the particle, affecting how it will respond to constraints (and external forces etc)movement_type(RigParticleSimulationMovementType): [Read-Write] How the particle movesno_collision_colliders(Array[RigComponentKey]): [Read-Write] A list of colliders we shouldn’t collide withradius(float): [Read-Write] The radius of the particle, used for collisionscale_damping_by_inverse_mass(bool): [Read-Write] When true, Damping is divided by mass (drag-like - light particles damp faster). When false, Damping is mass-independent (same relaxation timescale for any mass). Matches the FRigPhysicsDynamics::bScaleDampingByInverseMass flag in ControlRigPhysics.strength(float): [Read-Write] The strength which we drive towards the target (when simulated). This is the oscillation frequency, so low values will be soft and springy, but values significantly above 1/timestep will track the target very accurately.target_mode(float): [Read-Write] 0 = SimSpace (child tracks absolute animation target), 1 = directional (child+parent track animation direction). Values between blend the two modes.target_velocity_influence(float): [Read-Write] If TargetVelocityInfluence = 1 then the target’s velocity will be used for damping. If 0 then the damping is in simulation space (so acting more like drag)
- property acceleration_mode: bool¶
[Read-Only] When true, Strength is a mass-independent natural frequency. When false, the spring/damper acts as a true force, so heavier particles oscillate more slowly. Applies to target tracking only - the per-particle angle limit is always acceleration-mode regardless of this flag.
- Type:
(bool)
- property angle_limit: float¶
[Read-Only] Constrains this particle to align with the target direction from its parent, to within this angle (in degrees). This effectively gives us a limit on the deviation from the target pose.
- Type:
(float)
- property angle_limit_strength: float¶
[Read-Only] The strength of the angle limit constraint (oscillation frequency). High values impose the limit more rigidly, low values allow soft/springy deviation before settling. Zero disables the angle limit.
- Type:
(float)
- property collide_with_colliders: bool¶
[Read-Only] If false, this particle ignores all colliders regardless of NoCollisionColliders.
- Type:
(bool)
- property collision_particles: None¶
[Read-Only] A list of other particles we should collide with
- Type:
- property confiners: None¶
[Read-Only] A list of confiners that will keep this particle inside their shapes (opt-in).
- Type:
- property damping: float¶
[Read-Only] Air/ether damping (like drag). Particle velocity in simulation space is relaxed toward the local air/ether (world-at-rest, plus any simulation-space motion scaled by the solver’s linear / angular drag multipliers). With bScaleDampingByInverseMass=false, the relaxation timescale is 1/Damping for any mass. With bScaleDampingByInverseMass=true, Damping is divided by mass so lighter particles damp faster, making this behave more like drag.
- Type:
(float)
- property damping_ratio: float¶
[Read-Only] DampingRatio for the tracking particle target
- Type:
(float)
- property extra_damping: float¶
[Read-Only] Additional damping for tracking the particle target
- Type:
(float)
- property mass: float¶
[Read-Only] The mass of the particle, affecting how it will respond to constraints (and external forces etc)
- Type:
(float)
- property movement_type: RigParticleSimulationMovementType¶
[Read-Only] How the particle moves
- property no_collision_colliders: None¶
[Read-Only] A list of colliders we shouldn’t collide with
- Type:
- property scale_damping_by_inverse_mass: bool¶
[Read-Only] When true, Damping is divided by mass (drag-like - light particles damp faster). When false, Damping is mass-independent (same relaxation timescale for any mass). Matches the FRigPhysicsDynamics::bScaleDampingByInverseMass flag in ControlRigPhysics.
- Type:
(bool)
- property strength: float¶
[Read-Only] The strength which we drive towards the target (when simulated). This is the oscillation frequency, so low values will be soft and springy, but values significantly above 1/timestep will track the target very accurately.
- Type:
(float)