redeclipse / base

Base environment for Red Eclipse and associated source files.
https://redeclipse.net/
431 stars 88 forks source link

Editor: Generator for simple round shapes #1441

Open MirceaKitsune opened 11 months ago

MirceaKitsune commented 11 months ago

Given the nature of the octree system, any round structure such as a sphere or cylinder currently needs to be created manually by pinching the corners / edges of multiple cubes. Even a simple curve is the most challenging operation in mapping, as countless boxes need to be manually bent and stretched just right to get the proper roundness. The lower the grid size of a structure, the more effort is needed to build your shape, and the higher the risk of getting stuck at a point where even at the smallest grid size of 1 you no longer sync up and need to start all over again to make it work.

20230926_034704

It would be wonderful if the editor could generate simple round shapes for us: At least a cylinder, potentially a sphere, or if we can dream that far even a torus. You'd select an area then use a new editor menu giving you the shape generator options, the editor then fills that area with your chosen shape using the lowest resolution possible that allows the octrees to sync up and form it without breaks or cracks. For a cylinder or cone the highlighted side of the selection box represents where the top / bottom point to, shapes can be oval or stretched if the selection box is not even. There should be two options for inside and outside distance / thickness, indicating the empty space in each direction if either is desired... you can thus create round walls with a given thickness that can be seen from both inside and out.

As a mapper who's been using the editor for over an year, this is an option I strongly feel the lack of and really hope can be achieved in some form. I know the mathematics behind it must be very complicated, but if anyone with knowledge on how it could be implemented is around I hope at least a simple generator of this sort can be attempted.