I have several particles in random motion, I want to maintain a regular velocity between them…
I have calculated the average velocity by using the framevelocity node, summing the output and dividing by the number of objects.
how would I implement
pvj = (pvj/n-1)-average_velocity;
return pvj/8;
where pvj is a vector representing each object’s percieved velocity and n is the number of objects??
Do I need some sort of feedback loop? When I tried this, I just got an infinite loop…
Any help would be much appreciated!
Full pseudocode here
Rule 3: Boids try to match velocity with near boids.
This is similar to Rule 1, however instead of averaging the positions of the other boids we average the velocities. We calculate a ‘perceived velocity’, pvJ, then add a small portion (about an eighth) to the boid’s current velocity.
PROCEDURE rule3(boid bJ)
Vector pvJ
FOR EACH BOID b
IF b != bJ THEN
pvJ = pvJ + b.velocity
END IF
END
pvJ = pvJ / N-1
RETURN (pvJ - bJ.velocity) / 8
END PROCEDURE