Historical Context & Motivation
Physics simulation in 3D computer graphics has always faced a fundamental tension between computational cost and creative control. Early visual effects studios in the 1990s ran cloth, fluid, and particle simulations that could take hours or even days to compute, yet a single parameter tweak would invalidate the entire result and require a full recalculation. The concept of baking — pre-computing simulation data and writing it to disk as a persistent cache — arose from the practical need to separate the expensive solve phase from the iterative compositing and rendering phases of production.
Blender's simulation infrastructure has evolved significantly since its open-source release, incorporating increasingly sophisticated caching systems that mirror those found in proprietary packages like Houdini and Maya. Understanding this evolution helps contextualize why baking is not merely a convenience feature but a critical part of any simulation-based production pipeline.
The central question this lesson addresses is both practical and conceptual: how does one transform a volatile, frame-dependent physics calculation into a stable, portable dataset that can be reliably rendered, shared across a team, and archived for future iterations? The answer lies in mastering the bake-and-cache workflow — a workflow that governs every simulation type in Blender.
Core Principles & Definitions
Before diving into specific workflows, it is essential to establish a shared vocabulary and understand the foundational ideas that underpin simulation baking in Blender. Every simulation system in the software — whether it handles cloth draping over a character, rigid bodies colliding in a destruction sequence, or fluid pouring into a glass — relies on the same core loop: a solver steps through time, computing forces and positions frame by frame, and the results are either held temporarily in memory or permanently committed to disk as a cache.
Simulation Solve
Baking
Cache Files
Cache Invalidation
Frame Range & Resolution
A critical distinction for production work is the difference between internal caching (data stored within the .blend file) and external caching (data written to a folder on disk). Internal caches are convenient for small simulations and personal projects because everything lives in one file. External caches, however, are essential for team workflows, large datasets, and render farms because they decouple the simulation data from the scene file, allowing multiple artists or machines to access the same cached result without transferring a bloated .blend.
Visual Explanation — The Baking Pipeline
The following diagram illustrates the complete baking pipeline from simulation setup through cache management. Each stage represents a discrete step that you will encounter in Blender's Physics Properties panel, and the arrows indicate the directional flow of data — from solver to cache, and from cache to render engine.
Notice that the pipeline is not purely linear. The Cache Management Zone introduces a feedback loop — a reality of production work where artists iterate repeatedly. When you change a collision object's position or alter the viscosity of a fluid, Blender marks the existing cache as stale. You must explicitly free the bake (delete the old cache data), adjust your parameters, and then re-bake. This deliberate invalidation model protects you from accidentally rendering with outdated simulation data — a mistake that in professional studios can waste hours of render-farm time.
How Baking Works Under the Hood
While Blender abstracts much of the complexity behind a single "Bake" button, understanding the underlying mechanism deepens your ability to diagnose problems, optimize performance, and make informed decisions about cache strategies. At its core, baking is a serialization process — the solver's in-memory state is converted into a structured data format and written to storage.
The Frame Loop
When you click "Bake," Blender enters a sequential frame loop beginning at the cache's start frame and ending at the end frame. At each frame, the solver evaluates the physics equations for that timestep, considering all forces, collisions, and constraints. Crucially, simulations are temporally dependent — frame 50 cannot be computed without first solving frames 1 through 49, because each frame's state depends on the previous frame's result. This is why you cannot bake arbitrary frame ranges out of order, and why a partial cache break at frame 100 invalidates everything after it.
Cache Size Estimation
For production planning, estimating cache size is important. The total disk footprint of a baked simulation depends on the amount of data per frame multiplied by the number of frames. For particle systems, each particle stores position (3 floats × 4 bytes), velocity (3 × 4 bytes), and additional attributes, while fluid simulations store full 3D voxel grids whose size scales with the cube of the resolution divisor.
Detailed Breakdown — Cache Types & Management
Different simulation systems in Blender produce different types of cache data, and understanding these distinctions is critical for managing disk space, organizing project directories, and collaborating with other artists or departments. The following diagram provides a classification of cache types organized by simulation category.
Cache Directory Structure
When you set an external cache path, Blender creates a folder structure that organizes cache files by object name and simulation type. A well-organized cache directory is essential for team workflows. A typical Mantaflow fluid bake generates three sub-caches within the domain's folder: data (the volumetric simulation data), mesh (the generated liquid mesh), and particles (spray, foam, and bubble secondary particles). Each sub-cache must be baked independently, and they must share the same frame range to remain synchronized. Failure to bake all three results in partial or invisible fluid renders — a common pitfall for artists new to Mantaflow.
| Simulation Type | Cache Format | Typical Size / Frame | Key Notes |
|---|---|---|---|
| Cloth / Soft Body | .bphys | 50 KB – 2 MB | Stores vertex positions per frame; size scales with mesh density |
| Particle Emitter | .bphys | 100 KB – 10 MB | Linear scaling with particle count; velocity & rotation optional |
| Rigid Body | .bphys or keyframes | Minimal (~5 KB) | Can bake to F-curves for editing in Graph Editor |
| Smoke / Fire | .vdb | 10 MB – 500 MB | Cubic scaling with resolution; use adaptive domain to reduce |
| Liquid (Mantaflow) | .vdb + .obj/.bobj.gz | 50 MB – 2 GB | Separate data, mesh, and particle bakes required |
| Geometry Nodes Sim | Internal or .blend | Variable | New system (Blender 3.6+); bake via Simulation Zone panel |
Worked Example — Baking a Cloth Simulation
Let us walk through a complete baking workflow for a common visual arts scenario: a fabric curtain affected by wind, draped over a collision object. This example covers the full cycle from setup through cache management and demonstrates the decisions you will make in any baking workflow.
Properties Panel → Physics → Cloth. Set the preset to "Silk" for lightweight draping behavior. Add a Collision modifier to the rod/sphere object.Spacebar or Alt+A). Blender will compute the cloth simulation in real-time (or as fast as it can) and store the result in a temporary memory cache. This preview cache is volatile — it vanishes if you change any physics parameter. Use this step to verify the general motion looks correct before investing time in a full bake.External if you want to write .bphys files to disk (recommended for any scene you plan to render on a farm or share). Set the cache path to a project-relative directory, for example: //cache/cloth_curtain/. The // prefix tells Blender to use a path relative to the saved .blend file location.//cache/cloth_curtain/; external caching enabled..bphys files (one per frame). The "Bake" button changes to "Free Bake," indicating that the simulation data is now locked.cloth_curtain_v02). Blender does not version caches automatically, so manual backups are your safety net. In team environments, use a naming convention like projectname_simtype_objectname_v## to keep caches organized.Strengths, Limitations & Comparisons
Baking is not without tradeoffs. Understanding when to bake, when to rely on live preview caches, and when to use alternative approaches like Alembic export or bake-to-keyframes requires weighing several factors including disk space, iteration speed, portability, and render-farm compatibility.
| Factor | Baked Cache (Disk) | Live Memory Cache |
|---|---|---|
| Persistence | Survives .blend reload, Blender restarts, and system reboots | Lost on file close, parameter change, or Blender crash |
| Render Farm Support | Fully supported — farm nodes read cache files without re-solving | Not supported — each node would re-solve independently, producing inconsistent results |
| Disk Usage | Can be very large (GB–TB for fluids) | Zero disk usage; stored in RAM |
| Iteration Speed | Slow — full re-bake required for parameter changes | Faster for quick prototyping — just play the timeline |
| Portability | Can be shared independently of the .blend file | Embedded in the session; not transferable |
| Timeline Scrubbing | Instant random-access to any baked frame | Only forward playback; backward scrub resets to frame 1 |
Bake-to-Keyframes vs. Bake-to-Cache
Rigid body simulations offer a unique option: Bake to Keyframes (found under Object → Rigid Body → Bake to Keyframes). Instead of writing cache files, this converts the simulation into traditional location and rotation keyframes on each object's F-curves. The advantage is that you can then manually edit the motion in the Graph Editor — nudging a bouncing box's final resting position, for instance. The disadvantage is that the simulation's physical accuracy is lost once you begin editing individual curves, and the approach does not scale well to scenes with hundreds of rigid bodies.
Connections to Advanced Workflows
The baking concepts covered thus far form the foundation for more advanced simulation workflows that you will encounter as you progress in visual effects production. Two major areas extend naturally from this lesson: Geometry Nodes simulation zones and cross-application cache pipelines.
| Aspect | Traditional Physics Baking | Geometry Nodes Sim Zones |
|---|---|---|
| Solver | Built-in solvers (Mantaflow, Bullet, Cloth engine) | Custom node graphs — you design the solver logic |
| Cache Location | External disk (.bphys, .vdb) or internal | Baked into the .blend file; external bake in development |
| Bake Trigger | Dedicated "Bake" button in Physics panel | "Bake" button on the Simulation Zone node group in Sidebar |
| Flexibility | Fixed to predefined simulation types | Unlimited — any procedural effect can be frame-cached |
| Maturity | Stable, production-proven | Newer feature; API evolving with each Blender release |
The OpenVDB format deserves special mention as a bridge to cross-application workflows. Because OpenVDB is an open-source industry standard maintained by the Academy Software Foundation, smoke and fire caches baked in Blender can be imported directly into Houdini, Nuke, or any VDB-compatible renderer. Similarly, Alembic (.abc) serves as the universal mesh-cache format for exchanging animated geometry between Blender, Maya, Cinema 4D, and Unreal Engine. As a visual arts student, developing fluency with these interchange formats positions you to work effectively in multi-software studio environments.
Practice Problems
The following problems test your understanding of simulation baking concepts, cache management, and production decision-making. Work through them in order; they progress from conceptual understanding to applied critical analysis.
Lesson Summary
Baking is the process of committing a Blender simulation's solved state to persistent cache files, eliminating the need for re-computation during playback and rendering. The three primary cache formats — .bphys for point-based simulations like cloth and particles, .vdb (OpenVDB) for volumetric smoke and fluid data, and .abc (Alembic) for mesh sequence exchange — each serve distinct roles in a production pipeline. Simulations are temporally dependent, meaning every frame relies on the previous frame's state, which is why baking always proceeds sequentially and why parameter changes invalidate downstream cached frames.
Effective cache management involves choosing between internal and external cache directories, estimating storage requirements (especially for fluid simulations where cache size scales with the cube of resolution as a dense upper bound, with Mantaflow's sparse OpenVDB storage often yielding smaller actual sizes), and following an iterative free → modify → re-bake cycle. For render-farm workflows, always bake to external disk caches on a shared network path. As Blender evolves, Geometry Nodes simulation zones extend baking concepts to custom procedural solvers, opening new creative possibilities while the traditional physics baking system remains the production standard for physically based effects.