Goal
A world the player can break: crates that splinter, a wall that comes down under enough hits, props that shatter when thrown, with the pieces falling, bouncing and coming to rest under physics, debris and dust in the air, sound on impact, and damage that stays: a wall broken in one visit is still broken in the next. Nothing exists in the engine; it builds on the Jolt plugin (untoldengine/UntoldArcade#27) and on the mesh-collider work of the physics seam.
The goal is destruction in two halves. At cook time, a mesh is fractured into pieces (Voronoi cells with interior faces and their own material) and stored in the .untold asset next to the intact mesh, by a Blender or CLI step, so the runtime never computes geometry. At run time the intact mesh swaps to its pieces on impact or when its health runs out; pieces become Jolt bodies held together by breakable constraints, scatter, sleep, and merge back into static geometry once settled so the scene does not fill with live bodies; small pieces become particles and dust comes from the particle system; each breakable carries a health and a damage state saved with the scene.
Status
| Step |
Plan |
Status |
| Requirements |
What breaks in the game and how (pre-fractured props, damage states on structures, debris lifetime), budgets |
Not started |
| Fracture at cook time |
Voronoi fracture of a mesh into pieces with interior faces and materials, stored in the .untold asset; a Blender or CLI step |
Not started |
| Runtime break |
The intact mesh swaps to pieces on impact or damage; pieces become Jolt bodies (compound shapes, breakable constraints), sleep and merge back into static geometry after settling |
Not started |
| Debris and dust |
Small pieces as particles; dust from the particle system |
Not started |
| Explosions |
Radial impulse on Jolt bodies and radial damage to breakables in range, triggered together with the particle effect |
Not started |
| Damage states |
Health per breakable, persistent state saved with the scene |
Not started |
| Sample |
A wall the player breaks in one of the demos |
Not started |
Next steps
- Requirements note; cook-time fracture first, since it needs no runtime physics change.
- Depends on the particle system and on mesh colliders in the physics seam.
Goal
A world the player can break: crates that splinter, a wall that comes down under enough hits, props that shatter when thrown, with the pieces falling, bouncing and coming to rest under physics, debris and dust in the air, sound on impact, and damage that stays: a wall broken in one visit is still broken in the next. Nothing exists in the engine; it builds on the Jolt plugin (untoldengine/UntoldArcade#27) and on the mesh-collider work of the physics seam.
The goal is destruction in two halves. At cook time, a mesh is fractured into pieces (Voronoi cells with interior faces and their own material) and stored in the
.untoldasset next to the intact mesh, by a Blender or CLI step, so the runtime never computes geometry. At run time the intact mesh swaps to its pieces on impact or when its health runs out; pieces become Jolt bodies held together by breakable constraints, scatter, sleep, and merge back into static geometry once settled so the scene does not fill with live bodies; small pieces become particles and dust comes from the particle system; each breakable carries a health and a damage state saved with the scene.Status
.untoldasset; a Blender or CLI stepNext steps