Filter daemon question

bluehonda
Posts: 118
Joined: Mon Sep 11, 2006 7:27 am

Filter daemon question

Postby bluehonda » Wed Jan 09, 2013 3:01 am

Good day to all. Happy New Year.

Heres my question:

When using Filter daemon to transfer 1 emitter to another emitter. Is there away that the second emitter won't inherit the velocity of the previous/ original emitter??? I have a splash that then turns into a logo. And i wanted the splash to shift to another emitter that will be influenced by a magic daemon to morph into a logo.

Do I need to script to do this?

thanks all.


fkfx
Posts: 309
Joined: Wed Apr 11, 2012 11:11 am
Location: Cologne, Germany
Contact:

Re: Filter daemon question

Postby fkfx » Sat Jan 12, 2013 9:05 pm

By scripting you can influence the amount of velocity inheritance, I don't see a way how this could work with Filter and standard deamons alone.

User avatar
Otuama
Posts: 1155
Joined: Fri Apr 02, 2010 12:56 am
Location: Swansea
Contact:

Re: Filter daemon question

Postby Otuama » Sat Jan 12, 2013 9:50 pm

The following script is what you'd use to transfer particles to another emitter with a zero velocity.

What condition are you using to transfer with the filter daemon because this script transfers the particles as soon as the sim is run. I haven't put a condition in.

In my test scene I just had 2 emitters. So, when the script runs, although particles are transferred with no velocity, they're pushed by newly created particles.

The bit after the comment line helps to make doubly sure they have a zero velocity. They still move though because of new particles being emitted but the transferred ones are slower.

Code: Select all

fromEmitter = scene.getEmitter("From")
toEmitter = scene.getEmitter("To")

getFromParticles = fromEmitter.getFirstParticle()

while getFromParticles:

   getFromID = getFromParticles.getId()
   getFromPosition = getFromParticles.getPosition()

   toEmitter.addParticle(getFromPosition, Vector.new(0.0,0.0,0.0))
   fromEmitter.removeParticle(getFromID)

   getFromParticles = getFromParticles.getNextParticle()


#-------------------------

getToParticles = toEmitter.getFirstParticle()

while getToParticles:

   getToParticles.setVelocity(Vector.new(0.0,0.0,0.0))

   getToParticles = getToParticles.getNextParticle()
Otuama - Vimeo
'Strength does not come from physical capacity. It comes from an indomitable will.' - Gandhi
'Realism is in the eye of the beholder' - Me ;)

User avatar
bitSeq
Posts: 1044
Joined: Thu Jul 10, 2008 9:48 am
Location: UK - Stuart Armiger
Contact:

Re: Filter daemon question

Postby bitSeq » Tue Jan 15, 2013 9:35 am

In my opinion the quickest way would be to have a kspeed set to limit and keep at Min 0 and Max 0, linked tto the second emitter, it won't be perfect but should do the job, and will be multithreaded.

User avatar
Otuama
Posts: 1155
Joined: Fri Apr 02, 2010 12:56 am
Location: Swansea
Contact:

Re: Filter daemon question

Postby Otuama » Tue Jan 15, 2013 10:27 am

That's actually a good method. You get slight movement in the transferred particles but not much.

In my original post I wrote the script without knowing the condition. However, the condition has already been set using the filter daemon.

So, I only needed to put this:

Code: Select all

#Enter the name of the emitter the particles are transferred to by the filter daemon
toEmitter = scene.getEmitter("Circle02")

getToParticles = toEmitter.getFirstParticle()

while getToParticles:


   getToParticles.setVelocity(Vector.new(0.0, 0.0, 0.0))
   #getToParticles.freeze()


   getToParticles = getToParticles.getNextParticle()




Less code to chug through.

This can still be used for an added dose of no velocity. However, you do still get a tiny bit of movement.

If you want the particles to have no velocity at all, you could freeze them. Comment the setVelocity line with a # and delete the # from the freeze line. This will completely freeze them in space.

You can later unfreeze them if you want.
Otuama - Vimeo
'Strength does not come from physical capacity. It comes from an indomitable will.' - Gandhi
'Realism is in the eye of the beholder' - Me ;)


Return to “General topics”

Who is online

Users browsing this forum: No registered users and 1 guest