How jarceloelement/godot-softbody2d works
This is a Godot 4.2 plugin for creating deformable 2D softbodies. Its main workflow turns texture outlines (and optionally a hole outline) into filtered regions, assigns those regions to a Skeleton2D, then creates connected physics bodies that drive the bones and deform the texture. The README also documents breakable and bouncy variants. Source excerpts were unavailable, so paths and relationships below rely on the tree and documented behavior; uncertain internal call wiring is omitted.
Main entry points: softbody2d.gd SoftBody2D · voronoi2d.gd Region creation · softbody2d_rigidbody.gd Rigid bodies
Components 14
Shape generation
- SoftBody2D
addons/softbody2d/softbody2d.gd - Texture outline
addons/softbody2d/softbody2d.gd - Hole outline
addons/softbody2d/softbody2d.gd - Region creation
addons/softbody2d/voronoi2d.gd - Region filtering
addons/softbody2d/softbody2d.gd
Deformation rig
- Skeleton2D
addons/softbody2d/softbody2d.gd - Bone weights
addons/softbody2d/softbody2d.gd - Texture deformation
addons/softbody2d/softbody2d.gd
Physics simulation
- Rigid bodies
addons/softbody2d/softbody2d_rigidbody.gd - Collision shapes
addons/softbody2d/softbody2d.gd - Connecting joints
addons/softbody2d/softbody2d.gd - Bone positioning
addons/softbody2d/softbody2d.gd - Joint breakage
addons/softbody2d/softbody2d.gd
Other components
- Plugin user
Connections 16
- Plugin user → SoftBody2D: creates
- SoftBody2D → Texture outline: extracts
- SoftBody2D → Hole outline: optionally extracts
- Texture outline → Region creation: defines bounds
- Region creation → Region filtering: produces regions
- Hole outline → Region filtering: cuts regions
- SoftBody2D → Skeleton2D: creates
- Region filtering → Bone weights: assigns regions
- Skeleton2D → Bone weights: contains
- Bone weights → Texture deformation: deforms texture
- SoftBody2D → Rigid bodies: creates
- SoftBody2D → Collision shapes: creates
- SoftBody2D → Connecting joints: connects bodies
- Rigid bodies → Bone positioning: drives bones
- Connecting joints → Joint breakage: break when stretched
- Joint breakage → Bone weights: updates weights