How To Lock Particles On Emitter ???


How To Lock Particles On Emitter ???
I have emitted particles from an object (Ex. Sphere) with zero speed so that they form the shape of the object… Now i do initial state for the particles and turn rate down to zero…
Now when i animate that object i want the particles to move along with the object…
You can use this to do a teapot dispersing into sand effect…
But how do i do this if the object is moving ???
I can parent the particles to the object… but then they will follow the animation of the object even after leaving the object surface… I can also give the particles goal… but then they seem to arrange themselves on the vertices of the object…
There is a straightforward feature called Lock On Emitter in 3DS Max
How can i achieve this in maya…
Please Please reply…
Thanks you


you need to use goals but with use parentUV’s turned on in emitter. Emit your particles from your object.

then this code in creation and runtime

goalU = parentU;
goalV = parentV;

basically your telling maya where the particles are born on the surface is where they stick.

good luck

edit…this technique will also work for deforming geometry


Add goalUV and parentUV attributes for the particle, turn ON the needParentUV attribute on the emitter make the emitter a goal and add this runtime expression
(assuming your particle is called particleShape1)

particleShape1.goalU = particleShape1.parentU;
particleShape1.goalV = particleShape1.parentV;

then go and tweak the goal smoothness. A value of 0 is boring, but seems to be what you want.


Thank you mandark1011, Michiel for your replies…
I tried this but couldn’t achieve what i wanted exactly…
Now with goalUV and parentUV i can get the particles to form the shape of the object…
But when i have the goal weight to be zero they dont follow the animation of the object whereas when i have the goal weight to be 1 they are not affected by any force field
For Example - I have a animated teapot made out of particles… now that teapot goes through a turbulence field and all the particles get dispersed… In this case if i have the goal weight to be zero the particles wont follow the animation of the teapot… whereas if the goal weight is one the turbulence field wont effect them… i can keep the goal weight to be .5 or something but then the particles lag the animation of the teapot by a few frames… Also they are again attracted towards the teapot after dispersing…
So is there any way where the particles just follow the animation of the teapot 100% and then get dispersed as they pass through a turbulence field…
I hope you can help again
Thank you very much


in this case you need to write a runtime expression on your goal weight. This works on a per particle basis. One of the tricks i use here is to make an event that doesnt actually collide then use the event to trigger my behavior. make a plane or shaped deforming object and make your particles collide with it but set the reilience to -1 then in runtime

if (event >= 1)
goalPP = 0;
goalPP = 1;

there are many ways to do this however i like this way because it gives me control on a visual basis of where and when my particles will change behavior.

good luck


i tried this…
I created a plane and turned its resilience down to -1…
I created a collision event where no particles are emitted and the original particles dont die…
This is the expression i wrote in runtime

particleShape1.goalU = particleShape1.parentU;
particleShape1.goalV = particleShape1.parentV;
if (particleShape1.event0 >= 1)
particleShape1.goalPP = 0;
particleShape1.goalPP = 1;

(Actually i am doing this as i type :stuck_out_tongue: )

Now i have put a turbulance field… i have emitted these particles on a sphere and animated the sphere to go through this plane whose resilience is -1… But they dont seem to fly off even after passing through the plane… I there a step i am missing somewhere…


can you attach the file ill take a look at it.

actually let me just make one up quick ill post in a few


there you go hope this makes things clearer for you


Thanks so much for that file… That solved the problem…
Cant thank you enough really…


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.