With the introduction of Subscription DROP 9 thinkingParticles introduces a new concept of Time Independent caches. Before, the only Time Independent cache file you could create was by using the MasterDynamic cache file option and saving it as tps file.
While tpc file caches are a great enhancement, offering greater flexibility
when setting up multiple levels of cache files, they still do not offer
the playback speed of a finalized Master Dynamic tps cache file that allows
you to freely jump back and forth between frames.
Frame based caches or DynamicSet caches are considered simulations, even
though most parts of the simulation data comes from a cache file. However,
the concept of a "fixed" or time independent DynamicSet file
cache did not exist at all - until now!
Each DynamicSet cache file, created by thinkingParticles, has now the option to be flagged as Time Independent. If a cache file is flagged to be time independent, it behave exactly like a MasterDynamic cache would. All thinkingParticles nodes, in a time independent cache, will be 'frozen' and not called at all. All particle simulations will be played back from the cache file without any possibility to modify its DynamicSet behavior.
Now, by default, DynamicSet caches are assumed to be time independent caches. Whenever a cache file is created from a DynamicSet, you can still decide to turn it back to its original behavior that is pre Subscription Drop 9.
A right click menu onto the DynamicSet symbol will reveal the new context
Menu called "Cache Time Independent". New indicator icons show
the status of the cache, a colored bar in front of the Play Button (when
a cache is present) indicates this DynamicSet behaves as a Time Independent
cache. A colored outline border indicates the behavior will be like an
'old' time dependent simulation cache.
Check out the short animation below.
With Pre-Subscription Drop 9, Time Independent Caches have been operating
in a very restrictive way. The amount of modifications or manipulations
on cached particles was very restricted. Basically it was only the material
library of a cached file that could be modified from the outside.
Time Independent DynamicSet caches do offer the same benefits now as the
MasterDynamic cache did. You may jump back and forth to any frame you
like and the frame will be updated instantly. They also have the same
restrictions, cached files can not be modified unless you use the Post
Cache for a DynamicSet.
Now, any DynamicSet can be flagged to be a Post
Cache DynamicSet. It is important
to note; any DynamicSet that is flagged as a Post Cache must
be placed underneath the Time Independent cache level!
Any DynamicSet cache flagged as Post Cache that is placed outside of a
Time Independent DynamicSet cache will not work or even be called, when
simulating.
Check the example below.
Create 1 and Create 2 are two Time Independent caches (see yellow bar icon in front of play button). Each cached DynamicSet has a Post Cache DynamicSet underneath. For each frame or sub frame read form the file, this Post Cache DynamicSet adds a shape to the particles read from the cache.
Any DynamicSet can be turned into a Post Cache DynamicSet by right clicking into the background grid and choosing Post Cache as an option. To confirm the selection, the DynamicSet background color will turn into a yellowish tint.
In general, all time independent effects/modification can be applied in a Post Cache DynamicSet. All operators that do not depend on time or any previous data of a particle can be safely used. Some of the modifications that can be done.
Change material per frame or sub frame
Change the particle shape per frame or sub frame
Change the particle position by always recalculating the position
Modify Data Channels by always recalculating
Time Independent caches in general are final and will be read in and
display the final simulation result. Each frame or sub frame will overwrite
the current one. For example, applying any kind of force field to a time
independent cache will not work at all. Each frame read in from the cached
file will negate any force field effects and reset the particle to the
exact position that was written in the cache file. Force effects are time
dependent effects, because they affect particles over a period of time.
As soon as you flag a DynamicSet to be Post Cache, it will only
work when it is placed within a Time Independent DynamicSet.
As shown above, it is possible and beneficial using the Post Cache flag of a DynamicSet with a MasterDynamic cache file setup as well. The rules and restrictions are the same as it was explained with Time Independent DynamicSet caches.