[Bf-committers] point cache

Brecht Van Lommel brechtvanlommel at pandora.be
Fri Feb 29 15:23:34 CET 2008


>A philosophy I like is "make simple things simple, and complicated
>things possible". It seems like the point cache system was designed
>for the most complicated scenario, and we're forced to endure the
>consequences no matter how simple the sim we're using. I personally
>think that there are a few main things that should be kept in mind for
>the entire implementation:
>* For simple tasks, an artist shouldn't need to even know a point
>cache even exists at all. It should just work.

One of the design goals of the point cache was the user would not have to worry about it. However it appears that this approach does not extend well to more complex situations, and in trying to make it work also for complex cases some of the simplicity was sacrificed.

Auto protect from frame sort of solves part of the problem, but not fully. Perhaps we should make a clear distinction between the simple and complex cases. For example:

Simple, interactive simulation:
- Point caches saved in .blend.
- No user interaction needed for clearing or protecting caches. Cache can get cleared very often by physics systems, they should not be cautious about this, better clear than be out of date. Assume that's not a problem, if you want to keep your stuff use the second option.

Complex, baked simulation:
- Point caches saved on disk.
- Simulation must be manually baked by the user.
- Use this option for rendering.

Then in the user interface you'd have to switch between those two modes. Not optimal, but perhaps better than the current situation?

>* At *no* point should an artist ever see data that's out of date,
>unless the artist has specifically and explicitly asked for this (by
>explicitly telling Blender to cache, or protect, or whatever)

This is good in principle, but it's also has some problematic consequences. It means that changing a single effector means you have to reset the whole simulation and start simulating from frame 1. One of the things that would be good to have is the ability to interact with the physics system interactively to get a feel for it's parameters and how it responds to effectors. In such a case it might be good to keep working with outdated results to some degree, but maybe that functionality should then be clearly separated somehow.


More information about the Bf-committers mailing list