Hi. I've been working on an addon for blocking in 3D levels in the Godot editor. Basically you create a node to be the root of your environment, and then you can click and drag with the mouse to create blocks in the editor viewport. There are other tools that let you select, move and reshape blocks. I've put together a YouTube video that explains how to use it.

Anyhow, I'm calling it the Cyclops Level Builder. It's under the MIT license so you can use it in your own projects. I hoping folks will find it useful.

Edit:
Here's a link to the Github page too.
https://github.com/blackears/cyclopsLevelBuilder

    kitfox changed the title to New addon for blocking in 3D levels .

    kitfox Looks great. What do you think of generating block by script too ?
    I mean, we fill a 2D array (or later a 3D array), with 1x1x1 cube block to start, and we'll got all 3D blocks added for us. This would be nice for random/procedural level generation, for instance to make a 3D dungeon like old classic Dungeon Master/Chaos Strike Back.

    Also, it would be better to add a direct link to your github project on your post.

      That's excellent!! It would also be nice to be able to do a wall rounding…

      It must be hard to replicate Sweet Home 3D in Godot?

        JusTiCe8 Yes, you could create a script like that. For now I'm working on lower level stuff, but I could definitely see writing scripts to autogenerate basic layouts.

        I've updated the original post to include a link to the Github page.

        Tomcat Something like Sweet Home 3D would be a lot of work and would require a different approach to what I did in Cyclops. But I could see something like that running in Godot.

        You can make the walls appear rounded by using a lot of small blocks and arranging them in a circle. Maybe a script could be developed to layout something like that automatically in the addon.

          kitfox You can make the walls appear rounded by using a lot of small blocks and arranging them in a circle.

          Looks like that's what's done there — the rounded wall is broken up into small straight sections. I guess I'll just use the Sweet Home 3D export for starters. Unfortunately, glTF is not supported there.

          This is looking crazy good 👍

          kitfox You can make the walls appear rounded by using a lot of small blocks and arranging them in a circle. Maybe a script could be developed to layout something like that automatically in the addon.

          For convex rounded walls It'd probably be easy to add a cylinder primitive, which is just an n-sided prism. And for concave walls something like a (partial) tube that's parametrized by inner/outer radius, a swipe angle and a number of steps. The editor would then generate N adjacent quadrilateral prisms arranged in a circular pattern to form a pipe. This it's tedious to do by hand but could be quickly implemented on top of what you already have.

            xyz something like a (partial) tube that's parametrized by inner/outer radius, a swipe angle and a number of steps

            That's a quadric, which looks intimidating like this but libGLU can handle them with ease, code is open-source so, if needed, it can be used as reference unless there is some way to access openGL low level layers from Godot and expose the API.

            • xyz replied to this.

              JusTiCe8 I meant a regular hollow cylinder. It can simply be done by assembling slanted quad prisms, which @kitfox already has implemented.
              Like this:

              No need to go into mathematical parametric surfaces.

                xyz It can simply be done by assembling slanted quad prisms, which @kitfox already has implemented.

                Yeah, it's very similar to the one in Sweet Home 3D.

                7 days later
                6 days later

                xyz There's now a Cylinder tool in Cyclops, so you can create shapes like this now.