MAXScript Extensions > MAXScript Extensions for Particle Flow > Particle Flow Script Examples > Update Step Scripts >

# Every Step Update Example

| Particle Flow - Quick Navigation

Description:

The following example shows the default Every Step Update script with detailed comments.

Can Be Used With:

Used by PF_Source as default Every Step Update script.

Effect:

The script modifies particle speed and direction, causing particles to follow a spiral path:

EXAMPLE
    --Get the current particle system executing the script
    pf_node_current = particleFlow.scriptRunner()

    --In case the current particle system is a valid node
    if (pf_node_current != undefined) then
    (

    --Get the total number of particles
    count = pf_node_current.NumParticles()
    --Loop from 1 to the number of particles
    for i in 1 to count do
    (

    --Set the particle index in the container to the current i value.
    --This makes the i-th particle in the container the current one:
    pf_node_current.particleIndex = i

    --Get the age of the particle, multiply by 5 and use as angle
    --to define the particle speed
    --Decreasing the constant 5 will slow down the rotation
    --Increasing the constant will speed up the rotation
    age = 5*pf_node_current.particleAge

    --Calculate the speed of the particle using the
    --function of the circle.
    --Info: In general, a circle can be drawn using an Angle
    --going from 0 to 2*Pi and the following functions for X and Y:
    --X = CenterX+Radius*Cos(Angle)
    --Y = CenterY+Radius*Sin(Angle)
    --In our case, CenterX and CenterY are 0, Radius is 0.05 units,
    --and Angle is based on the Age of the particles (see above).
    --Changing the constant 0.05 will change the radius of the path.
    --Changing the -0.05 (Z speed) will change the height of the spiral.
    pf_node_current.particleSpeed = [0.05*cos(age), 0.05*sin(age), -0.05]

    )--end i loop
    )--end if

#### See Also

- Final Step Update Example

- PF_Source : GeometryClass

- Particle Flow Sample Scripts