Hoodie is a plugin for Godot Engine 4 that offers a visual scripting interface for generating procedural geometry.
Design parametric mesh geometry using a visual scripting language and iterate quickly over changes: create algorithms with nodes and utilize parameters to customize and fine-tune the generated mesh for your own use cases.
Hoodie is an open-source project licensed under the MIT License, free to use in your projects. If you find it useful for yourself and the community, you may consider supporting its development through this Gumroad page, which also offers additional perks.
This project also has a series of dedicated video devlogs that you can watch here on YouTube.
You can start using Hoodie by directly downloading binary files, or you can compile it yourself.
At this time only Windows is supported, but you can compile it yourself to make it work on different platforms.
bin
folder if it doesn't exists yet.bin
folder. The folder structure should now look something like this:<your-project-folder-name>/
│
├── .godot/
│
├── bin/
│ ├── hoodie.gdextension
│ ├── hoodie.svg
│ ├── libhoodie.windows.editor.dev.x86_64.dll
│ ├── libhoodie.windows.template_release.x86_64.dll
In case your platform isn't included in the shipped binaries, you need to compile the project by yourself from source.
Since this is a Godot GDExtension plugin, the compiling procedure is the same as the one for Godot Engine itself, as stated here on the official documentation. On this page you'll find detailed guides about how to build for each platform.
Generally you want these tools to be installed:
Once you managed to install all the necessary tools, follow these next steps:
scons target=editor dev_mode=yes dev_build=yes
. If you want a more optimized build, use scons target=editor
instead, but remember to change the name of the resulting binary adding dev
to it like in this example: libhoodie.linux.editor.x86_64.so
-> libhoodie.linux.editor.dev.x86_64.so
(N.B. SCons will automatically recognize the OS you're working on, but you can specify it as an additional parameters if needed, following the Godot docs mentioned above).scons target=template_release
to generate the release template binaries, in case you intend to build your game project with Hoodie in it.hoodie/demo/bin
folder.Before you can use Hoodie's visual scripting interface, you need to set up the right nodes, then you'll be ready to go!
MeshInstance3D
.MeshInstance3D
selected, head over to the Inspector and create a new HoodieMesh
through the 'Mesh' property, selecting 'New HoodieMesh'.HoodieMesh
, click on the HoodieMesh
option button to start editing it.Output
node with the 'Add node...' popup menu at the top left of the Hoodie editor.Add node... > Mesh > Primitives > Mesh Grid
.Mesh
output slot of the Mesh Grid
node to the Geometry
input slot of the Output
node.Add node... > Input > Constant > Input Value
to the Mesh Grid
, and see its changes in real time.Path3D
node in your 3D Scene and proceed to model a curve with the designated tools.Path3D
is selected, go to the Inspector and open the Curve3D
option button, then click on Copy.Input Curve3D
node from Add node... > Input > Input Curve3D
.Curve3D
property will appear, where the label name is the id of the Input Curve3D
node you added earlier.Curve3D
property option button, and then click on Paste in order to paste the copied Curve3D
.Add node... > Mesh > Primitives > Mesh Line
: this will be the extruded geometry along the path.Add node... > Curve > Operations > Curve to Mesh
.Curve3D
output slot of the Input Curve3D
node to the Curve3D
input slot of the Curve to Mesh
node.Mesh
output slot of the Mesh Line
node to the Profile
input slot of the Curve to Mesh
node.Mesh
output slot of the Curve to Mesh
node to the Geometry
input slot of the Output
node.Add node.. > Input > Constant > Input Vector3D
node.Creating a custom collider for your HoodieMesh is very easy and straightforward!
HoodieMesh
, click on the Mesh
menu button in the toolbar (refer to the image above).Create Trimesh Static Body
.HoodieMesh
! Remember, the collider will not update automatically as you modify your HoodieMesh
. You'll have to recreate the collider each time you make changes.Feel free to open an issue here on GitHub if you find a bug 😊
To submit feedback, suggestions, or get further help, join the Discord server. You'll find the appropriate Hoodie category where you can join the discussion!
Interested in sponsoring this project? Get featured in this section with your logo and link 👀 Take a look here.
Special thanks to: