Interrupt / delverengine

Delver game engine and editor
zlib License
803 stars 81 forks source link

Axis-Aligned Brush #141

Open joshuaskelly opened 4 years ago

joshuaskelly commented 4 years ago

brush-demo

Summary

This feature introduces the concept of an axis aligned cuboid, which will be referred to as a "brush". A brush can be textured on all six sides with wall textures and sized in editor. The aim is to reduce the number of custom meshes needed to prop out a level.

Goals

  1. A brush can be created and sized in editor.
  2. Each brush face can be uniquely textured. Both the texture id and wall atlas.
    • For convention call the brush faces: top, bottom, left, right, front, and back.
  3. The brush should dynamically UV itself to neatly tile.
  4. The UVs should be able to be adjusted. Offset, rotated by increments of 90, flipped, etc.

Stretch Goals

  1. A brush can be rotated arbitrarily.
  2. Handles are shown on the faces for convenient resizing.
Igameart commented 4 years ago

Feature request, configurable incremental adjustment. Snap edges to grid sizes 1 texel and higher configurable in the brush editor menu. Extrusion widgets, grabbable arrows on each face, drag to extrude face along axis, similar to blender's translation widget.

image

joshuaskelly commented 4 years ago

Perhaps we could compromise by reusing the existing tile handles? But yeah, I'd love a nicer way to resize things. Edit: Added as a stretch goal.

Igameart commented 4 years ago

Perhaps we could compromise by reusing the existing tile handles? But yeah, I'd love a nicer way to resize things.

Yeah that could be a great alternative!