Thanks to visit codestin.com
Credit goes to github.com

Skip to content

sanyabeast/GodotDeformableMesh

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

41 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Version License

godot-deformablemesh

This addon allows to deform 3D meshes using a stack of customizable deformers at run-time

Main Features

Use the default deformers:

  • SphericalDeformer
  • StandardDeformer (Bend, Twist, and Taper)
  • DragDeformer (In Rest Pose Mode, position the deformer, toggle it off, and deform the mesh by moving the node.)

Or easily create your own by extending the base class and overriding just a couple of methods in dm_deformer.gd.

Why This Fork

This fork is optimized for use as a Git submodule in Godot projects. It maintains the core functionality of the original plugin while making it easier to integrate into your project's version control workflow.

Getting Started

  1. Add this fork as a Git submodule (recommended):
# Add the submodule to your project
git submodule add https://github.com/sanyabeast/GodotDeformableMesh addons/deformablemesh
git submodule update --init --recursive

# To update the submodule later
git submodule update --remote --merge

# To remove the submodule if needed
git submodule deinit -f -- addons/deformablemesh
git rm -f addons/deformablemesh
rm -rf .git/modules/addons/deformablemesh
  1. Activate DeformableMesh under Project > Project Settings > Plugins.
  2. Add a deformer node and a DeformableMeshInstance3D to your scene.
  3. Set the Original Mesh, link your Deformers, and tweak properties to achieve the desired result.

Known Limitations

  • This addon is designed with simplicity and versatility as primary goals, making it well-suited for simple, standard use cases. However, it is not optimized for specialized use cases, such as higher-density meshes (and, in some cases, multiple surfaces, which may also impact performance) in performance-critical applications. Users are encouraged to thoroughly test the addon to ensure it meets their specific requirements.
  • While other deformers support deforming multiple meshes at once, a DragDeformer can only be tied to a single mesh at a time.

Credits

This fork is primarily intended to be used as a Git submodule for easy integration. It is based on the original work by Claudio Z. cloudofoz. All credit for the core implementation goes to the original author.

I wish to thank the community for any contribution or feedback. Special thanks to:

  • Kevin Loustau, for sparking the idea behind the DragDeformer feature.

Changelog

v0.40

  • Add: DragDeformer node.
  • Add: _on_end_update() overridable method for the deformer base class.
  • Fix: _on_begin_update() is now called only once, even with multiple surfaces.

v0.30

  • Add: StandardDeformer (Bend, Twist, and Taper).
  • Remove: BendDeformer (now included as part of StandardDeformer).
  • Improve: Deformer selection list.

v0.20

  • Add: Bend deformers.
  • Add: Base class to easily create custom deformers.
  • Refactor: Codebase and minor improvements.

v0.10

  • First release

License

MIT License

About

Addon to deform 3D meshes using customizable deformers at run-time.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • GDScript 100.0%