A Godot module for dynamically slicing convex meshes along a plane, ported from Unity's Ezy-Slicer.
Godot-Slicer is a C++ module for the Godot game engine that ports the Ezy-Slicer algorithm from Unity. It enables developers to dynamically slice convex 3D meshes along a plane during runtime, creating separate mesh fragments for effects like cutting, splitting, or destruction. This solves the problem of implementing real-time mesh manipulation in Godot, which isn't natively supported.
Godot developers working on 3D games that require interactive mesh cutting, such as physics-based puzzles, action games with destructible environments, or simulation projects.
Developers choose Godot-Slicer because it brings a battle-tested slicing algorithm from Unity to Godot, offering a straightforward API, integration with Godot's physics system, and the ability to customize cross-section materials for polished visuals.
A port of Ezy-Slicer for the Godot game engine
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Ports the battle-tested Ezy-Slicer from Unity, ensuring reliable and optimized mesh slicing functionality in Godot, as noted in the README.
Seamlessly works with Godot's RigidBody and collision shapes, allowing sliced fragments to interact physically, as demonstrated in the example GDScript code.
Supports applying custom materials to newly exposed interior faces, enabling polished visual effects for sliced meshes, as shown in the export variable in the code snippet.
Provides a simple Slicer node and intuitive GDScript interface, making it easy to trigger slices with plane parameters, as illustrated in the README's usage example.
Only supports convex meshes, which restricts its use in games with complex or concave destructible objects, a significant limitation admitted in the README.
Requires compiling Godot from source with the module, a process that can be barrier for developers not familiar with C++ or build systems like SCons.
Built specifically for Godot 3.2.1, so it may not be compatible with newer engine versions like Godot 4.x without updates, limiting long-term usability.