Skip to content

Latest commit

 

History

History
108 lines (86 loc) · 2.5 KB

README.md

File metadata and controls

108 lines (86 loc) · 2.5 KB

Documentation | Discord


2D squishy softbodies for the Godot game engine.


Adds the SoftBody2D node which creates a set of RigidBody2Ds and Joint2Ds used with a Skeleton2D in order to deform the texture.

Installation

  • Automatic (Recommended): Download the plugin from the official Godot Asset Store using the AssetLib tab in Godot.
  • Manual: Download the source code and move only the addons folder into your project addons folder.

Features

You can create multiple types of softbodies with this plugin, such as:

  • Bouncy SoftBody2D
  • Breakable/Deformable SoftBody2D
  • SoftBody2D with Hole

How this plugin creates a softbody

1. Create polygon from texture around edge.
2. Optionally do the same for hole texture.
3. Create multiple regions of same size around polygon.
4. Delete the regions the polygon or inside the hole polygon.
5. Creates a `Skeleton2D` child. Creates a set of `Bone2D` nodes of the `Skeleton2D`, each having a region and assign correct weights to them.
6. Creates a set of `RigidBody2D` nodes, one for each region with a `CollisionShape2D` child, a `RemoteTransform2D` child that targets the coresponding `Bone2D` position, and a set of `Joint2D` children that connect neighbouring rigidbodies. Also for each `Bone2D` node, make it lookat another neighbour node.
7. When the joint length is too big, the joints breaks. Then, the weights for both bones are updated to no longer have weights in the other region.