View Full Version : Adding A Jittery Noise Movement To Instanced Particles
04-22-2008, 01:00 PM
I am trying to figure out how to add a Per Particle movement to a particle system.
Particles are being emitted from a flat surface, with no speed.
5 different objects are being instanced into this particle system.
I have simple expressions adding random rotation and scale to the instancer at creation.
What I need is all of these particles to kinda jitter on the spot, with some way of adjusting to distance and speed at which they jitter, as well as having them all move at different times.
PLUS i need to get this jittery movement only happening on 2 axis, as they are not to float up in the air or fall down through the surface from which they are emitted.
I tried making a new PP attribute for position, writing a 'rand' expression for it and pointing to that in the instance's general options 'position' attribute... but that just moved the whole system at once...
Does this make sense? Can anyone help?
Thanks for reading/answering...
04-22-2008, 10:53 PM
You're on the right track but Id probably use a noise function rather than rand - same thing but noise would be smoother - and offset time using particle id that way you should get a difference in timing on the particles.
04-23-2008, 02:45 AM
perhaps you could use goals to control the jittering a little easier. if each particle had a goal of it's original position on creation, then you just throw in some turbulance field etc. could even use a soft-body to automate that part.
Then add an after-dynamics expression to set the velocity over Z to 0, or pp_position to have same value as goal z.
04-23-2008, 08:59 AM
thanks to both for your answers, appreciated :thumbsup:
what i have done so far is as follows:
- created per particle attributes for the particle system named initPos (vector) and randOffset (float)...
- created attributes for the particle system (not per particle) called speed and amplitude (both scalar floats)...
- I have the following creation expression:
particle1Shape.randOffset = rand (1,100);
particle1Shape.initPos = particle1Shape.position;
- And the following runtime after dynamics expression:
particle1Shape.position = particle1Shape.initPos + (<<(noise((time*particle1Shape.speed)+(particle1Shape.randOffset*123))),0,(noise((time*particle1Shape.speed)+(particle1Shape.randOffset*13)))>> * particle1Shape.amplitude) ;
This way, I can dial in any numbers I like into the amplitude and speed attributes, creating different levels of jitter...
04-23-2008, 08:59 AM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.