View Full Version : How To Lock Particles On Emitter ???
rishiinamdar 06-29-2010, 05:32 PM 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
|
|
mandark1011
06-29-2010, 08:23 PM
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
mduvekot
06-29-2010, 08:24 PM
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.
rishiinamdar
06-30-2010, 04:10 AM
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
mandark1011
06-30-2010, 02:23 PM
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;
else
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
rishiinamdar
06-30-2010, 04:19 PM
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;
else
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
Hi
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;
else
particleShape1.goalPP = 1;
(Actually i am doing this as i type :p )
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..
mandark1011
06-30-2010, 04:24 PM
can you attach the file ill take a look at it.
actually let me just make one up quick ill post in a few
mandark1011
06-30-2010, 04:35 PM
there you go hope this makes things clearer for you
rishiinamdar
07-01-2010, 06:08 AM
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....
CGTalk Moderation
07-01-2010, 06:08 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.
vBulletin v3.0.5, Copyright ©2000-2013, Jelsoft Enterprises Ltd.