Breaking the Box: A Deep Dive into Teardown’s Voxel Collider System
Teardown represents a paradigm shift in game physics, moving away from traditional rigid-body hulls toward a granular, voxel-based collision architecture. In 2026, as destructible environments become the benchmark for immersive sims, understanding how Teardown handles colliders is essential for any modder or developer. Unlike standard engines where a "Collider" is a static invisible mesh, Teardown’s collisions are derived directly from the voxel data of its XML-defined shapes. Every object is a collection of voxels that act as both the visual representation and the physical boundary. This tutorial deconstructs the hierarchy of Bodies, Shapes, and Voxels to help you build stable, interactable, and realistically breakable assets.
Table of Content
- Purpose: Physics Fidelity and Destructibility
- The Hierarchy: Body, Shape, and Voxel
- Step-by-Step: Proper Collider Configuration
- Use Case: Building a Destructible Bridge
- Best Results: Balancing Complexity and Performance
- FAQ
- Disclaimer
Purpose
Properly configuring colliders in the Teardown engine serves several technical goals:
- Structural Realism: Ensuring that objects support weight and collapse only when a specific number of voxels (connections) are destroyed.
- Interaction Accuracy: Allowing tools like the sledgehammer or explosives to interact with the exact geometry of the object rather than an approximation.
- Dynamic Debris: Enabling "chunks" of a larger object to break off and become their own independent physical entities with unique collision properties.
The Hierarchy: Body, Shape, and Voxel
In Teardown, collision logic flows through a strict XML hierarchy:
Body: The top-level physical entity. A Body can be dynamic (affected by gravity) or static (fixed in the world). It acts as the container for all physics calculations.
Shape: Contained within a Body. This is the actual .vox file. The shape defines the material properties (wood, metal, glass) and the initial collision boundary.
Voxels: The individual 0.1-meter units. Collision is calculated at this level. If two voxels within a Shape are adjacent, they are "welded." If the connection is broken, the engine re-evaluates if the Shape should split into two separate Bodies.
Step-by-Step
1. Defining the Body Type
Decide how your object should exist in the world. In your XML file, define the tags:
<body dynamic="true">: Use this for vehicles, debris, or handheld items.<body static="true">: Use this for buildings or ground terrain that should not move unless detached from the earth.
2. Importing the Voxel Mesh
Assign a .vox file to a shape tag. The engine automatically generates a collider based on the non-transparent voxels in this file.
<shape src="mod/models/my_object.vox">
3. Configuring Material Density
Collision behavior is dictated by the material palette within your voxel editor (like MagicaVoxel).
- Assign index colors to specific materials (e.g., index 1 for heavy metal).
- In the Teardown editor, verify the material mapping. Heavy materials require more force to "break" the collision connection between voxels.
4. Establishing Joint Connections
If you want two separate Bodies to interact without merging their voxel data (like a door hinge), you must use Joints. Joints act as constraints between colliders, allowing for rotation or sliding while preventing the objects from passing through each other.
Use Case
A developer is creating a "Wall" that should shatter when hit by a vehicle but remain standing if hit by a player.
- The Action: The developer creates a
staticBody containing ashapemade of "Masonry" voxels. - The Implementation: They ensure the base of the wall is slightly embedded into the ground (static voxels touching static ground).
- The Result: When the vehicle hits, the energy exceeds the "stress" threshold of the voxel connections. The engine creates a "hole" in the collider, and the detached pieces become
dynamicdebris automatically.
Best Results
| Optimization Factor | Recommendation | Impact |
|---|---|---|
| Shape Complexity | Avoid massive single-shape files | Higher FPS; faster physics updates. |
| Material Choice | Use "Glass" for weak points | Easier destruction triggers. |
| Static vs Dynamic | Set large structures to Static | Prevents physics "jitter" in buildings. |
| Collision Margins | Keep voxels aligned to 0.1m grid | Avoids "ghost" collisions or snagging. |
FAQ
Why is my object falling through the floor?
Check if your floor is part of a static body. If both the object and the floor are dynamic but not supported by anything else, they will both fall into the void. Ensure your environment has a base static layer.
Can I use a custom mesh (OBJ/FBX) as a collider?
Teardown does not support traditional mesh colliders. You must convert your 3D models into .vox files. The collision is strictly generated from the voxel grid.
How do I make an object "unbreakable"?
Use the "Unbreakable" material property in the voxel palette. While the object can still be moved if it's dynamic, its voxels cannot be destroyed by hammers or explosions, maintaining its collider shape permanently.
Disclaimer
Physics simulations in Teardown are highly CPU-intensive. Creating a single Body with an excessive number of Shapes can cause "lag" when the engine tries to calculate new colliders after a fracture. This guide reflects 2026 modding standards for Teardown. Always backup your .xml and .vox files before making major structural changes. March 2026.
Tags: TeardownModding, VoxelPhysics, GameDevColliders, LevelDesign
