Particles

I’m working on particles simulation. This is the first attempt of the particles simulation. I’ll create a wiki page to show how to manage the parameters. I’m having problems on make the particles free floating when the source moves. I still working on them. Once finished I’ll release a particle layer template.

For the moment enjoy watching them!

youtube.com/watch?v=V9EDol07WLE

Genete - that’s beautiful!
How responsive was Synfig with 1000 layers? How long did it take to render?

Test it by yourself :wink:

The sifz file needs a svn r1240 or higher. There are lot of parameters exported. Here is a brief explanation.

X0, Y0 : Position at t=0
X0spread, Y0spread: X/Y size of particles source.
V0, alpha: Radial components of velocity at t=0
V0spread, alphaspread: random range of velocity components of each random particle
G: gravity acceleration amount
beta: gravity orientation. It is reversed (need fixing)
lifetime: amount of time of a particle’s life.
timerate=seconds of equation time per seconds of animation time
b: Damping factor (>0) keep it between 0 and 1 is sane.

Threre are also two boolean:
particles on/off: partially works. activates particles or not.
Damping =0: Not working by the moment. I have to composite the non damping equations. Don’t change.

feather and amount are exported from the particle layer itself. Should not be there.

The rest are exported converted values so they cannot be modified.

Once I finish the template I’ll write a wiki page and upload a clean file and some examples.
Enjoy! :smiley:
-G

Whoosh - I think I’m going to have to wait for the wiki explanation…
Can you export the canvas so that other pictures can be duplicated?

/me has visions of crowd scenes… :slight_smile:

New template sample. Now they can floate freely. The basic parameters are the same. Maybe you can see other parameters exported but useless.

darthfurby.com/genete/synfig … ample.sifz

and the movie:

darthfurby.com/genete/synfig … sample.avi

Enjoy!
-G

Now I’ve added “particles off” parameter.

darthfurby.com/genete/synfig … sample.avi
darthfurby.com/genete/synfig … ample.sifz

:smiley:

-G

One funny test increasing the damping forces…

youtube.com/watch?v=xpUBrWc36tQ

-G

A demo reel:
youtube.com/watch?v=YJV3xMP24fc

Hi Genete.
Can you explain how to do the smoke simulation?
I downloaded the sifz file but there are some things that I don’t understand.
Thanks.

Por cierto: enhorabuena. Es impresionante. :smiley:

Hola Rafael, mañana salgo de viaje y no puedo atender tu petición. Dame unos días y podré contestarte con detalle. Vuelve a postear aquí si me hago el vago.
Salute!

-G

Hola Genete. ¿Qué tal tu viaje?
Bueno, si ya estás de vuelta y tienes un ratito, a ver si me puedes explicar cómo hacer el humo.
Un saludo.

i have a question also, i tried the template for particles, it toke a bit of time figure out how to modify things, i like the results but i noticed something, the particles inherit the movement of it emitter? i mean, if i move the source of the particles, the whole smoke,rain,fog or whatever i’m doing is going to move too? i have the impression it does, i tried modifying a bit some values but since the base of the particles is the duplicate layer maybe i won’t get any difference for now.

Hi!
although a bit busy I’ll try to not say so many unconsistences…

First of all, please read the particles wiki page: synfig.org/wiki/Particles_V2.0
Maybe just read it can solve most of the questions.
To produce a smoke, you have to change the particle internal (the changing circle frmo red to yellow in the template) to a feathred region that deforms along the time to give it more randomness. Then you have to set the following parameters:
Velocity: some value.
Gravity some value
Beta: horizontal to the right (to where the winds go)
Damping forces: start with a small value and increase it to see its effect.
Size X: some wide value
Size Y: Some narrow value
Position X and Y: where you want to place the source of the smoke
Angle Spread: give it a narrow value
Angle: 90 degrees.
and leave the rest as it is.

If free floating Off is “Off” then particles will float freely even if the source moves.

-G

Really? WOW!!! i’m very grateful to you for create this template, i’m going to check that out now!!! =D

oh… i think i’m doing something wrong, particles don’t float freely, just as i thought the particles move along the emitter:

Particle-template-v2.3.gif

how can i move the emitter and leave the particles floating freely?

To move the particles you have to move the particles source (x, y) in the exported valuenodes. What are you moving is the particle itself meanwhile the particle source remains stationary. The origin of the circle, on the center of your gif, is not moving. You are animating the particle itself but not the particle emission source. Watch carefully here:
youtube.com/watch?v=YJV3xMP24fc

-G

I’m sorry, i didn’t noticed the video, but you were right, i had to do it from the ValueBase Nodes

You’re welcome.
Remember that this particle template is not officially included in the source code and it is just an experiment I did with the value node conversions.
-G

Hi Genete,

I’ve got a question about how to link the particle source (emitter) to an item in an animation.

Let’s say I’ve got a circle. I can convert its origin to a composite and that will give me the X and Y coordinates. I can export those components as “AnchorX” and “AnchorY”.

How would I go about getting the particle emitter to follow AnchorX and AnchorY rather than “X Origin” and “Y Origin”?

This is really more of a question about Value Nodes rather than specific to the particles demo. How can I change a Value Node to follow a value other than the one it was exported from?

OK, I edited the .sif file and accomplished what I wanted. The particle emitter is now linked to an item that exists within the animation.

Is there a way to do that from within the program?

[edit] That didn’t really give me what I wanted. I did prove my concept but the concept didn’t understand the stack.

Let’s say I’ve got a little truck built within an inline canvas. And I’ve linked the particle emitter to the exhaust pipe. The exhaust pipe is located within the inline canvas and the particles correctly follow it as it twists and bounces across the screen, as long as the particles are contained within the same canvas. This is all well and good!

The problem comes when I turn on free floating. The particles free float relative to the inline canvas rather than the parent canvas. From the particles point of view the exhaust pipe isn’t moving and the particles stream straight away from it without regard to its motion across the screen. Do you see any simple way around that?

Say you have two exported value nodes node1 and node2.
At the children panel convert the node1 to Reference convert type. Unfortunately it is not possible to expand the Convert types at the children panel. In one layer, connect one same type parameter to the node1. You can expand it now and see the Link subparameter. Now just Connect the Link subparameter to node2.

What about to share the sample file? :wink:
-G