CParticleEvolver Physics

From Popcorn FX
Jump to: navigation, search

CParticleEvolver Physics.med.png - Main page : Particle evolvers


The physics evolver is the most frequently found evolver in a standard particle evolve state. It is the main dynamics evolver, that will make your particles move with velocity, acceleration, friction, force-fields, velocity fields, and scene interactions (collisions and impulse distribution in your own physical simulation, allowing you to create particles that will actually push your own physics objects around in your scene)


CParticleEvolver Physics.med.png Node properties

Field name Default value Description
CParticleEvolver Physics.png General
FilterID 0 Key given to the hooked collision subsystem
CParticleEvolver Physics.png Dynamics
ConstantAcceleration {0,0,0} Typically used for gravity or some upward force
Mass 1 Particle mass
SolidFriction 0 Static friction with a hard movement cutoff. avoid using this, prefer the fluid friction below
FluidFriction 0 fluid friction, velocity decreases towards zero similarly to exponential damping.
AerodynamicDrag 0 realistic aerodynamic drag, dependent on the squared velocity
VelocityFieldSampler Name of sampler to use as a velocity field. Typically a CParticleSamplerProceduralTurbulence.png CParticleSamplerProceduralTurbulence
CParticleEvolver Physics.png Collisions
WorldInteractionMode None
  • None : No collisions with world
  • OneWay : Particles collide with world, world repels particles
  • TwoWay : Particles collide with world, world repels particles, particles apply forces on world.
DieOnContact no When checked, particle dies when it hits something. Active only if WorldInteractionMode is not set to 'None'.
WeightBounceWithNdotV no Active only if WorldInteractionMode is not set to 'None'.
BounceRestitution 0.5 Determines how much the particle will bounce back. 0: doesn't bounce, 1: full elastic bounce. Active only if WorldInteractionMode is not set to 'None'.

range : [0, 1]

BounceOffset 0.002 Offset along the contact the particle is displaced by. useful to avoid collision imprecisions with low bounce restitutions, or large bounce counts. Active only if WorldInteractionMode is not set to 'None'.
BouncesBeforeDeath 1 Number of collisions the particle will handle before killing itself. 0 means infinite bounces. Active only if WorldInteractionMode is not set to 'None'.

range : [0, 127]

CollisionQueryType
(EXPERIMENTAL)
Raytrace

Tells the runtime which kind of collision queries to perform with the world. Active only if WorldInteractionMode is not set to 'None'.

  • Raytrace : when moving, the particles will trace a ray in the world along their movement to see if they collide. This assumes the particle is an infinitely small point.
  • SphereSweep : more compute-intensive. When moving, the particles will be treated as a sphere swept into the world, and produce more realistic collisions.
SweepRadiusFactor
(EXPERIMENTAL)
1.0f Factor to apply to the particle sweep radius field, controls how large the particle appears to the collision system.
SweepRadiusField
(EXPERIMENTAL)
"Size" Name of the field the physics evolver should use as the sweep radius of the particles. If empty, uses 'SweepRadiusFactor' as a constant sweep radius
Layout CParticleEvolver Physics.png


CParticleEvolver Physics.med.png Auto-fields

The physics evolver automatically creates, if they don't exist, the following particle fields:

Name Type Footprint TransformMode self access to field
Position float3 16 bytes Transform read/write
Velocity float3 16 bytes Rotate read/write
if 'WorldInteractionMode' != None, the following fields are also added:
PrevPosition float3 16 bytes none read/write
CollisionFlags u8 1 bytes none read/write
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox