Simulation Cache Files (.gscf, .gscs)

Simulation Cache Files are binary files which contain the result of a Golaem Simulation, it is created by the Simulation Cache Exporter. A Simulation Cache contains the positions, orientations, scales and joint orientations of each simulated Entity. It also contains blendshapes, squatch and stretch scales, cloth vertices if any. The user can also choose additional PP attributes or Golaem Attributes to export. Each frame of each exported CrowdField is saved as a Golaem Simulation Cache file (.gscf file per frame + one .gscs file per simulation) in the selected output directory.

Simulation Cache Files can be used to replay the simulation results in a Simulation Cache Proxy and render it in a Crowd Render Proxy.

Name & Numbering Convention

The Golaem Simulation Cache files follow the following name template:

cacheName.crowdFieldName.frameNumber.gscf (one per crowdfield per frame)
cacheName.crowdFieldName.gscs (one per crowdField)

The .gscs file contains the global data about the simulation and the correspondence between simulated Entities and Rendering Types. There is only one file per simulation (per CrowdField). The .gscf file contains the result of the simulation (positions, orientations, scales & postures of each Entity). It generates one Cache File per frame.

Quantization

The Golaem Simulation Cache format is a binary format, using zip compression, in addition of quantization of positions and orientations. It is meant to reduce cache size on disk, and improve reading/writing efficiency.

If a Detach Behavior is used in the exported simulation or if a Character has some Squatch and Stretch properties, the quantization of positions will be disabled. This will result in greater frame size (usually around 50% bigger).

Framerate

When a Golaem Simulation is exported, the framerate of the source scene is stored within the gscs file. If the Simulation Cache Files are imported within a scene with a different framerate, they are automatically warped to the new framerate. This having been said, it is still possible to warp the Cache using the Layout Editor and the Frame Warp Layer.

API

To handle data contained in Golaem Cache files, a low level API is available. See Golaem Simulation Cache API