Friday, June 12, 2009

Current state of cache

There's still some way to go before I can even think about committing, but here's a preview of what I've been doing on the little free time I've had during the last week or so.


  1. Amazing. That will really help with workflows. I love the real time visualization when you are changing parameters.

  2. If the Exact and Auto modes are so similar, would it be possible to remove the Auto pane altogether, and replace it with an "Auto Update Cache" checkbox in the Exact pane?

    I really look forward to trying this stuff out. Good job.

  3. Nuntius: yes I actually had "autocaching" as an option at first so this can indeed be easily changed at some point. The cache system is not even close to being finished so let's see what the best way is in the end.

  4. Great stuff jahka!

    +100 on only calculating displayed particles! It makes the most sense really :P

    I can't wait to see what's next :)

  5. Totally exceeding my expectations for 2.5, once again.

    Thanks Jahka!

  6. Nice, but it seems the Free cache mode is universally better than None? None seems redundant, but I could be missing something?

  7. Come to think of it, the Exact mode seems redundant too, because the Free mode is also exact, if you start playing on frame 1 (or use Calculate to Frame). Only difference seems to be that Exact doesn't update as nicely and disappears when scrubbing the timeline.

    Seems to me that you can simplify this a bit and boil the caching options down to two: Free and Auto. Judging by your video, those are the only ones that are truly useful, and have sufficient strengths and weaknesses to justify a separate mode.

    The Free mode in general really seems like the smartest option - makes playing with particle settings a joy.


  8. Cool stuff, I like it.... 2 questions/requests(?):

    1. Allow for higher amounts of particles than 100'000 (yes, I do have the memory for it *grin*), this could be a user settable max in the preferences (based on available memory, maybe)?

    2. Full access to the particles through Python. AFAIK, it is currently not possible to do the following:
    a) create a physics system for an object than emits 10'000 particles at frame 1
    b) set the initial position and properties of each particle at frame 1 (loc would probably be enough) based on some python code (or even at several frames -> that would REALLY be cool)
    c) have it run using that starting condition

    That would open up some quite nice posibilities, i.e.
    - particles going from one setup to another
    - mathematical shaped particle clouds
    - control over particle movement if you have a defined state you need to start
    - being able to explode objects into smaller objects (using volume instead of surfaces)
    - ...

    Makes sense?



  9. Thanks guys for the feedback, especially William! I've now made quite many changes (no more explicit modes for example) and can hopefully commit the new cache code quite soon.

    1. The particle amount can very well be lifted especially now that we have soft & hard parameter ui limits in 2.5. The amount's soft limit can be the old 100'000 so that you can't directly dial in ridiculous amounts of particles, but the hard limit could be set much higher so that users who know what they want can have much more particles.

    2. Full python access would be very nice indeed, but I'm not much of a py-coder and even less a py-api-coder so I'll have to delegate this to someone else. But once things settle down a bit on 2.5 development I'll try to remember to poke one of the py-people :)!

  10. First of all, you are doing a great job. It's nice to see the progress for 2.5.

    So you're looking for some ideas?

    What about the possibility to switch between local and global particle coordinates?

  11. Daniel:
    Thank you, and you'll be glad to hear that just a few days ago I coded a way to change particles from global space to any object's local space, but more about that when I get this cache code committed out of the way :).

  12. Amazing as always. Just one question about the demonstration with the birds following an object or while avoiding others, that was awhile ago. Are there going to be any improvements in that area as well?

  13. nice! as you develop this, do you have plans on how caches could be manipulated? eg, being able to retime caches using a custom anim curve? that way you could speed up, slow down, pause for those bullet time effects, even play backwards. another useful thing would be cache versioning and blending; start a sim with cacheA offset by 10 frames, then blend to cacheB over 50 frames. that sort of stuff would make td's lives a lot easier!

    Yes, I have lot's of more boid features allready coded, but have had to put those on hold for a while as I work on more pressing issues like the cache code.

    Yes, there are big plans on cache manipulation for the future. One is to have multiple caches per dynamics system possible and allowing time shifting and blending of these caches perhaps even in the nla editor. Other part is editing the baked paths in a similar way to current hair editing.

  15. Hey :-)

    If you have time - I would need some advice on dummy psys->part creation :) Meet you in irc, thanks!