Particle Initial State
March 11th, 2005 by Helge Mathee - Viewed 1947 times - Popularity: 5%Hi gang,
this beeing my first article here, I’ll write about something I just discovered the other day.
The problem
We use tons and tons of particles for trees to instance leaves. I am talking about numbers like 120.000 particles per tree, to get a convincing look for the leavework. When you have such a particle cloud in a XSI model, freeze it and reload it a couple of times, you get different results after loading it in, which is a huge problem for our renderfarm. I tried to use the initial state to “freeze” the initial state of the particle-cloud, without success though.
The workaround
Write your own particle-cloud initial state! I tried different methods using javascript to read the data from the particle-cloud, store it into a userdatablob and read it back on sceneload/modelimport. It worked, but was slow as hell. So I ended up implementing a compiled custom command (using the command wizard for Visual Studio 6.0) which creates a structure storing arrays for all the different parameters for each particle (position, rotation, size, color….) and converted that into a userdatablob-friendly character array.
To read the data back onto the particle-cloud I used a compiled operator, which is evaluated once (either on scene-load or model-import), which works the same way (converting character array to the structure, reading back all the values from the different arrays).
This successfully restored the particle cloud in its frozen state.
More to come!





March 15th, 2005 at 4:45 pm
I really don”t understand how this could have passed under the Softimage’’s eyes without noticing.
It’’s pretty obvious that we want the same result when we put an initial state otherwise what’’s the purpose?
thanks for the article Helgee.
MAC