Skip to content

[Feature] Destruction: fractured props and breakable structures #1239

Description

@miogds

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions