← Back to Blog 3d-modeling

Rigid Body Physics for Game Props: Blender Setup, Export, and Engine Integration

By BitSoul Team5/9/2026Updated 8/2/20266 min read84 views
Rigid Body Physics for Game Props: Blender Setup, Export, and Engine Integration

Destructible crates, tumbling barrels, cascading debris — rigid body physics can make or break the feel of your game world. Yet most 3D artists spend hours fighting mismatched scales, broken constraints, and physics colliders that look nothing like the visual mesh. This guide covers the full pipeline: simulation in Blender, baking, and clean export to Unity, Unreal Engine 5, and Godot 4.

Why Rigid Body Physics Matters for Game Props

Physics-driven props add weight and believability that no hand-keyed animation can fully replicate. A bottle that shatters realistically, a shelf of books that topples when a player brushes past — these moments are cheap to author with a solid rigid body setup and expensive to fake without one.

The challenge is that Blender's rigid body solver and game engine physics systems are entirely separate. Blender simulates on the CPU using Bullet Physics; Unity uses PhysX 4 or Havok; Unreal Engine 5 uses Chaos Physics; Godot 4 ships its own Jolt-based solver. You cannot directly transfer a live simulation — you must either bake it to keyframes and export animation, or define physics properties (mass, friction, restitution) that the engine recalculates at runtime. Knowing which path to take is the first decision you'll make in every project.

Baked animation is the right choice when the physics sequence is scripted — a scripted cinematic, a one-shot destruction event, a cut-scene prop. Runtime physics (collider + rigid body component) is the right choice for interactive props the player can push, knock, or shoot. This guide covers both.

Setting Up Rigid Body Simulations in Blender

Start with correct scale. Blender's rigid body solver is calibrated to real-world metres. A crate that is 1 m × 1 m × 1 m in Blender will behave like a 1-metre crate. Apply scale (`Ctrl+A → Apply All Transforms`) before you enable rigid body physics — unapplied scale is the single most common cause of jittery, explosive simulations.

Setting Up Rigid Body Simulations in Blender — illustrated

Enable rigid body via Properties → Physics → Rigid Body. For props that should move freely, choose Active. For the floor and static geometry, choose Passive. Key settings per prop:

```python
# Blender Python: batch-set rigid body mass for selected objects
import bpy

DENSITY_KG_M3 = 600 # e.g. pine wood

for obj in bpy.context.selected_objects:
if obj.rigid_body:
vol = sum(p.area for p in obj.data.polygons) / 6 # rough approximation
# Better: use actual volume from bpy.ops.object.volume_to_weight if available
obj.rigid_body.mass = max(1.0, DENSITY_KG_M3 * 0.01)
```

Run the simulation with `Space` in the timeline. If objects explode or clip, reduce the Substeps Per Frame (try 10–20) and enable Split Impulse in the Scene → Rigid Body World → Settings panel. These two settings cure 90% of instability issues.

Constraints and Compound Shapes

Many props need internal structure: a drawer that slides, a lid that hinges open, a chain of barrels linked by ropes. Blender's Rigid Body Constraints handle this.

Add a constraint via `Add → Empty → Plain Axes`, then in Physics → Rigid Body Constraint select the Type (Hinge, Slider, Generic, etc.) and assign Object A and Object B. Hinge constraints use a single rotation axis and are ideal for doors and lids. Generic constraints expose all six degrees of freedom with individual limits — useful for ragdoll-style joints or barrel chains.

Compound shapes solve the concave problem for active objects. Split your concave mesh into convex parts (Blender's `Mesh → Separate → By Loose Parts` after cutting), set each part to `Convex Hull`, parent them all to an Empty, and enable Rigid Body on the Empty. The children act as one compound collider.

| Collision Shape | Best For | Notes |
|---|---|---|
| Box | Crates, books, bricks | Fastest; use when visual is roughly box-shaped |
| Sphere | Barrels, balls, boulders | Very stable; slight shape mismatch is fine |
| Capsule | Bottles, pillars | Good for tall props with rounded tops |
| Convex Hull | Complex props, furniture | Wraps the mesh; no concavities |
| Mesh (passive only) | Terrain, hollow geometry | Slow; never use on active bodies |
| Compound | Concave active objects | Split into convex children + Empty parent |

Baking and Exporting to Game Engines

Once the simulation looks correct, you have two export paths.

Path A — Baked Keyframe Animation (FBX/GLB)

Bake the simulation to keyframes: Object → Rigid Body → Bake to Keyframes. Set the frame range to your simulation window. Blender writes a keyframe for every frame on every object. Clean up with `Object → Rigid Body → Connect` to remove the physics modifier — game engines do not read Blender's rigid body data, only the resulting animation curves.

Export as FBX or GLB. In Unity, import the FBX, expand the clip in the Animator, and set Loop Time to off for one-shot destruction sequences. In Unreal Engine 5, use a Level Sequence or a Matinee-style Sequencer clip. In Godot 4, import as an `AnimationPlayer` track.

Path B — Runtime Physics (Collider Mesh Export)

For props the player can interact with at runtime, skip baking. Instead, export the visual mesh as a GLB/FBX, then separately export a low-poly collision mesh. A good collision mesh has 20–60% fewer triangles than the visual and no thin faces or T-junctions.

Baking and Exporting to Game Engines — illustrated

In Unity: add a `Rigidbody` component, set mass/drag to match your Blender values, and assign a `MeshCollider` (convex = true for active bodies) or a Primitive Collider chain. Use `Edit → Project Settings → Physics` to set Default Contact Offset to 0.01 and Solver Iterations to 8 for stable stacking.

In Unreal Engine 5: enable Simulate Physics on the Static Mesh Actor, set Mass (kg) manually, and use a UCX_ prefixed convex hull mesh in the same FBX for automatic collision import. Name your collision mesh `UCX_PropName` and UE5 picks it up automatically — no extra import steps.

In Godot 4: use a `RigidBody3D` node. Assign a `CollisionShape3D` child with a `ConvexPolygonShape3D` for moving objects. Set `mass`, `physics_material_override` (for friction and bounce), and `linear_damp` to prevent infinite sliding on flat surfaces.

```gdscript
# Godot 4: runtime physics property setup
extends RigidBody3D

@export var prop_mass: float = 20.0
@export var prop_friction: float = 0.5

func _ready() -> void:
mass = prop_mass
var mat := PhysicsMaterial.new()
mat.friction = prop_friction
mat.bounce = 0.1
physics_material_override = mat
```

Sourcing Ready-Made Physics Props

Building every crate, barrel, and debris piece from scratch is time-consuming. The BitSoul marketplace stocks game-ready props with pre-built convex collision meshes and correctly scaled transforms — ready to drop into your physics scene. Look for assets tagged `collision-ready` or `game-physics` in the BitSoul marketplace to skip the collision-mesh authoring step entirely.

Whether you're simulating a crumbling wall or a shelf of jars that shatters on impact, the pipeline is the same: correct scale → stable Blender sim → bake or runtime export → engine-side collider setup. Nail each stage and your physics props will feel as solid as the world around them.

Browse physics-ready 3D game props at BitSoul Marketplace →

Tags: rigid body physics blender physics game props unity physics unreal engine 5 godot 4 3d game assets collision mesh

Skip the modelling — download it instead

A free BitSoul account gets you 2 game-ready models every month plus 25 AI Engine credits to generate one of your own, no card required. Clean topology, PBR textures, and GLB downloads that drop straight into Unreal, Unity, Godot or Blender — plus OBJ and 3D-printable STL export.

Create a free account → Browse 846 models