/godot-subdiv

Godot Engine Module for Fast Subdivision in Godot with opensubdiv

Primary LanguageC++MIT LicenseMIT

Godot Subdiv

This is a modified version of tefusion/godot-subdiv to be a Godot Engine C++ module.

UV Subdivision Skinning subdivision

Getting Started

Importing

After installing the addon and enabling it in the settings, you can select the custom Godot Subdiv Importer in the import settings for any glb or gltf file. You can also use the subdivision settings in any scene importer to be able to make use of all the features of the 3d import pipeline from Godot.

There you will see one option.

SubdivMeshInstance3D

Doesn't bake. Skinning and blend shape changes get processed by CPU and then directly thrown at the RenderingServer. This is useful if you have a changing mesh or changing subdivision level.

Adjust the subdivision level, click reimport and you should see your mesh subdivided.

Modeling Tips

OpenSubdiv has a great section on modeling for subdivision. Not all of them apply for Godot Subdiv though: You can currently only import either quad only meshes to use the Catmull-Clark scheme or any other mesh which will default to the Loop subdivision scheme.

Building the project yourself

To build this project you need to have SCons installed, otherwise everything is included in the project.

For just building and trying out the project, do:

scons target=template_debug

in the cloned folder.

For running the tests, do:

scons -Q tests=1 target=template_debug

which will run simple doctest tests when starting godot on the terminal:

path/to/godot --editor --path ${workspaceFolder}/project

See more in the SConstruct file.

FAQ

How to create a mesh only containing Quads?

In Blender, you can go in Edit Mode and go Select->Select All by Trait->Faces by Sides and set it to Not Equal To 4. After removing the then selected faces and replacing them with quads, Quad import will work.

Acknowledgments

License

MIT

Third-party notices are in THIRDPARTY.md.