My notes on Ember

Few initial notes.
I was playing with a very basic vector noise (even no Pflow integration).
Now I am not sure exactly how IS vs SIM works, but I find it pretty confusing.
A detailed explanation would be helpful.

What I expect is:

  • being able to use a static field (that should be very fast). I leave SIM empty, assign stuff only to IS. No updates at all.
  • being able to use a dynamic vector field that is history independend (I assume that should be possible, at least to some extent). So the values are only calculated basing on input value and some rules. Input can be animated over time.
  • being able to use ember as it currently works, with some history-dependent calculations. Caching is needed. abortable and more user friendly updates as well.

What I noticed:

  • When I initialize IS with 0.0.0 vector for Velocity and assign the vector noise exactly as in Bobo’s example (v005) to SIM Magma and scrub the timeline it is a bit slow and the field does not change with time.
  • When I leave the SIM empty, but assign the same magma flow to IS it appears and it animates over time.

Is that how it is supposed to work?
That’s contrary to what I’d expect.

What exactly initial state does?
Can I use only IS and no SIM or the opposite?

Bobo will no doubt explain this better and more thoroughly but in a thread that I posted I believe that he said that the initial state is only active on the first frame.

Looks from the experience as if it was not :slight_smile:

I don’t claim to be an expert at Magma, I’m learning just as you. This is what Bobo said in my thread:

The bolded part is what made me post what I did in answer to your questions. But I could have misunderstood what he meant, when he said “Ember uses two Magma Flows, one initializes fields on frame 0, the other process the fields on every evaluation step” I took that as the first bit is about Initial State and the second bit is Sim. But reading it a bit further, the second bolded line says what you said so if you do initialize a velocity other than 0,0,0 it will remain static and particles will flow through that field.

Bobo will no doubt post something really soon to sort this out.

(sorry for all the edits)

What Tobbe posted is what I know about how SIM Ember works. It does not mean it is the Gospel, and I could be wrong about some details. This is where Darcy could jump in.

When I assign a VecNoise to Velocity and divide the Position input by an animated Float between 10 and 100, it animates when in the SIM flow, and does not when in IS. Just as expected. I might be missing something about the exact setup, but the rule is IS is evaluated once on frame 0, SIM is evaluated on every step.

It looks like a UI bug. Fild looks as if it was animated, but effectively it’s not.

I have a question and a possible bug.

What I got is a Sim Ember with a classic vec noise and also I do have a PFlow with Ember Follow.
All stuff is positioned at 0,0,0. Sim Ember has closed container on all sides.
Now what happens is that for some reason the stuff from PFlow has a certain Z offset to Sim Ember - I needed to lift it about 15 units in Z position to get the bottom of the vector field aligned with my ground zero.
Or that is a secret padding?

What is happening in general when I am running a Sim Ember Follow in PFlow and I am evaluating particles that fall outside of the grid?
How does it relate to coordinates of these objects in the scen?