Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
mphe committed Jul 22, 2024
1 parent f1288bc commit cefbc96
Showing 1 changed file with 11 additions and 9 deletions.
20 changes: 11 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

<img src="https://github.com/mphe/GDNative-Ropesim/assets/7116001/272f4f65-cb79-4798-97ba-f0d43589caef" width=128px align="right"/>

A 2D verlet integration based rope simulation for Godot 4.2.
A 2D verlet integration based rope simulation for Godot 4.2+.

The computation-heavy simulation part is written in C++ using GDExtension, the rest in GDScript. This allows for fast processing and easy extendability, while keeping the code readable.

Expand All @@ -15,9 +15,9 @@ The last Godot 3.x version can be found on the [3.x branch](https://github.com/m
* [Download](https://github.com/mphe/GDNative-Ropesim/releases/latest) the latest release from the release page, or
* [Download](https://github.com/mphe/GDNative-Ropesim/actions) it from the latest GitHub Actions run, or
* [Compile](#building) it yourself.
3. Copy or symlink `addons/ropesim` to your project's `addons/` directory
4. Enable the addon in the project settings
5. Restart Godot
2. Copy or symlink `addons/ropesim` to your project's `addons/` directory
3. Enable the addon in the project settings
4. Restart Godot

# Building

Expand All @@ -29,7 +29,7 @@ To compile for Linux, run the following commands.
Compiling for other platforms works analogously.

```sh
$ scons target=template_release platform=linux arch=x86_64 -j8
$ scons target=template_release platform=linux optimize=speed arch=x86_64 -j8
$ scons target=template_debug platform=linux arch=x86_64 -j8
```

Expand All @@ -43,15 +43,17 @@ Following nodes exist:
* `RopeHandle`: A handle that can be used to control, animate, or fixate parts of the rope.
* `RopeRendererLine2D`: Renders a target rope using `Line2D`.
* `RopeCollisionShapeGenerator`: Can be used e.g. in an `Area2D` to detect collisions with the target rope.

See inline comments for further information and documentation of node properties.

The included demo project and the showcase video below provide some usage examples.
* `RopeInteraction`: Handles mutual interaction of a target node with a rope. Useful for rope grabbing or pulling mechanics where an object should be able to affect the rope and vice-versa.

When one of these nodes is selected, a "Ropesim" menu appears in the editor toolbar that can be used to toggle live preview in the editor on and off.

All rope related tools, automatically pause themselves when their target rope is paused to save performance.

Use the in-engine help to view the full documentation for each node.

The project also includes various example scenes that demonstrate the features of this plugin.
See also the [showcase video](#showcase) for a basic usage example.

# Showcase

A quick overview of how to use each node.
Expand Down

0 comments on commit cefbc96

Please sign in to comment.