Page MenuHome

Add warning about the possibility of losing pointcache files
ClosedPublic

Authored by Sybren A. Stüvel (sybren) on Tue, Feb 4, 6:15 PM.

Details

Summary

In certain cases, PointCache bake files can be lost. This results in reports like T70696 and could also be the cause of T56083.

PointCache bake files are saved to blendcache_{blendfilename}/{prefix}_{framenumber}_{stackindex}.bphys. In this case {prefix} is either the cache name or the hex-encoded name of the object the cache is attached to. {stackindex} is the index of the cache. This is generally 00, but is a higher number when there are multiple caches on the same simulation.

For example, an anonymous cache for a particle system on an object Cube will have prefix 43756265.

Since {stackindex} is based on the cache index of its user (f.e. the particle system), it can still be 00 for multiple caches. This happens when an object has multiple particle systems, each with their own cache. Each cache will have stack index 0, creating a conflict where manipulating one cache can delete or overwrite the files of another cache.

The particle system is marked End of Life, but the loss of files can still be frustrating to users. However, changing this implicit mapping for anonymous caches could easily break compatibility with existing files.

I feel that the minimum we should do is warn about this in the manual. And that's what this diff is doing. Maybe we could also add a warning to the UI when multiple anonymous caches are used on the same object?

Diff Detail

Repository
rBM Blender Manual

Event Timeline

Aaron Carlisle (Blendify) added inline comments.
manual/physics/baking.rst
51

If this field is empty

59

When there are multiple caches for one object, **always specify a Cache Name**. sounds better

63

Don't bold again it is overly aggressive once is enough.

Aaron Carlisle (Blendify) requested changes to this revision.Wed, Feb 5, 6:43 PM
This revision now requires changes to proceed.Wed, Feb 5, 6:43 PM

This makes sense from a documentation standpoint however it might be worth fixing this in Blender. Caches should be given a name by default. However, as you said that breaks compatibility so will leave that up to you.

This makes sense from a documentation standpoint however it might be worth fixing this in Blender. Caches should be given a name by default. However, as you said that breaks compatibility so will leave that up to you.

I agree, but given that this is not happening very soon, I think clearly warning people is the minimum ;-)

manual/physics/baking.rst
51

The thing is, it's not really an input field, just a list entry you can double-click. Maybe "If the cache does not have a name"?

59

I wouldn't use "caches for" here; I see the cache as 'for' the particle system. It's connected to the object, though, which is why I used 'on' here.

"always specify a Cache Name" is good.

63

It's not my intention to be aggressive, but to produce something that is scannable, rather than requiring people to read every word carefully (because they don't). I'm basing this on https://www.nngroup.com/articles/how-users-read-on-the-web/.

Documenting it is better than nothing, I'll leave you guys to review the text.

Seems good thanks for the justification and the article

This revision is now accepted and ready to land.Thu, Feb 6, 8:47 PM