Sunday, June 21, 2009

First part of new cache code in svn

Pointcache code is now live so get the newest svn and test please:
  • Particles support larger than 1 frame changes, bigger frame changes can result in inaccurate results, but it's super fast!
  • "Cache to current frame" button calculates the exact result of particles at current frame frame by frame when wanted.
  • Current state of cache can be protected by making it a bake.
  • Cache is now in memory by default, disk cache is an option.
  • Only "viewport %" number of particles are calculated and cached in viewport, caching and rendering calculate all particles.
  • Info on cached frames and memory usage given in ui.
  • Support for exact "autocaching" of changes and large frame changes(disabled for now until exact place in event system is decided).

I also added a small bonus feature commit of particle system parenting. It's now possible to set a parent object for particles in the particle render panel. It just changes the space in which particles are shown in viewport and rendered but doesn't effect simulation at all. So now you can move, rotate and scale particle simulations any way you like :).


  1. Well, I tried to test, but when I add a new particle system Blender crashes. I can only open 2.4x files that contain a particle system. Is that normal? :)

    Great features though, you're doing an awesome job! (once again)

  2. Stukfruit:
    Yes, this is normal, adding new particle systems in 2.5 is not yet supported. So test by adding a particle system in 2.4x and load the file in 2.5.

  3. Woohoo! Particle parents! That's cool!

    I have another small idea. At the moment you have to change the particle amount, when you change the start/end time (so that the particle density stays the same).
    What about a button or a drop down menu or something else to switch between a fixed amount and a constant emission rate (per frame)? That emission rate would have to be a floating point value. You wouldn't even have to change a lot of your code: The amount would be calculated through (end time - start time)*emission rate.

  4. Daniel:
    You'll be glad to hear that I have an emission frequency option planned allready. Possibly it could also be an animateable value or even be driven by events as I have some plans for making a proper event system for particles instead of the current ugly reactor system.

  5. jahka: I have come across an issue when it comes to softbody dynamics and particle hair. I know you can't really fix it in 2.49, but the new and updated system in 2.50 would be great.

    When applying softbody dynamics to particle hair with seems the children shift during the simulation. I can provide a 2.49 file if you'd like to show what is happening. This happens with either children from particles or faces.

  6. Nicholas8681:
    It would be really great if you could post this to the blender bug tracker. You can upload the bug blend file there too. I can then try to see if 2.5 is experiencing the same bug.