Spyke

Syndicated from the fediverse. Read and engage on the original instance.

View original on programming.dev
godot·Godotbyzhan

[Godot 4] CSG Blockout v2.0 — World-aligned grid materials and smarter CSG node placement

Hey everyone!

I've just released v2.0 of CSG Blockout, my open-source plugin for faster CSG-based level blockout in Godot 4.

For this update, I mainly wanted to solve two things that were getting in the way of my own workflow: grid materials getting stretched on slopes and boolean shapes, and having to think about CSG hierarchy every time I created a new shape.

1. Procedural world-aligned grid materials

The new grid_triplanar.gdshader uses world-space triplanar mapping, so the grid stays aligned to the world instead of following the object's UVs.

It supports:

  • Major and minor grid lines
  • fwidth()-based anti-aliasing
  • Clean grid alignment on slopes, ramps, and boolean cutouts
  • No UV setup required

I also added Light, Dark, Orange, and Custom material presets, which are stored in ProjectSettings.

You can switch between them or apply one to selected meshes directly from the sidebar.

The Shift+A pie menu also uses the currently active preset when creating new geometry, with full Undo/Redo support.

2. Context-aware CSG node placement

Previously, creating a new CSG shape sometimes meant deciding whether it should be a child or a sibling, either through preferences or modifier keys.

For v2.0, CSG Blockout now uses the current selection to infer what you probably want:

  • Selecting a CSGCombiner3D → new shapes are added as children at the bottom.
  • Selecting a CSGShape3D → new shapes are inserted as adjacent siblings.
  • Selecting something else or nothing → falls back to the normal parent/root placement.

This also required refactoring the creation and deletion logic to keep node order, ownership, and Undo/Redo behavior intact.

Links

GitHub: https://github.com/qwqzhanqwq/Godot-CSG-Blockout

Godot Asset Store: https://store.godotengine.org/asset/qwqzhanqwq/csg-blockout/

I'd love to hear what you think, especially if you run into any edge cases or have other blockout workflow features you'd like to see!

View original on programming.dev
11

1 reply

You reached the end

[Godot 4] CSG Blockout v2.0 — World-aligned grid materials and smarter CSG node placement | Spyke