Website powered by

Updated WIP Curve Based Level Generation

An update to my previous level generator that takes a NURBS curve to create a path and generate a continuous wall around the area. This update adds in:
- perfect corner pieces for any angle that can be generated
- internal borders for large areas which was broken upon last post.
- cleaner/streamlined generation
- more detailed process overview

Next up:
- integration in UE5 before moving on
- border mesh spawning (non proxy)
- path mesh spawning (non proxy)

Overview of the current state of the level being generated with a close-up of walls and corners.

Overview of the current state of the level being generated with a close-up of walls and corners.

Video of the level being generated and added with a single curve input.

Video looping through various corner wedges that are being generated procedurally. With a little linear algebra and trigonometry perfect angles are calculated to connect angle pieces to the main mesh.

Node snipped that takes the original curve and outputs a proxy level border. This set of nodes checks for internal pieces that could throw things off and removes them before moving on.

Node snipped that takes the original curve and outputs a proxy level border. This set of nodes checks for internal pieces that could throw things off and removes them before moving on.

Node snippet that takes the original curve and generates a path- this will be expanded upon at a later date to create a nicer path with the final mesh.

Node snippet that takes the original curve and generates a path- this will be expanded upon at a later date to create a nicer path with the final mesh.

Node snippet takes the border and finds normal corners and new 'angle' corners. This loop is looking for consecutive small prims and marking them with attributes that signal to ignore them while marking other prims if they'll need an angle piece

Node snippet takes the border and finds normal corners and new 'angle' corners. This loop is looking for consecutive small prims and marking them with attributes that signal to ignore them while marking other prims if they'll need an angle piece

Node snippet that takes marked points for angles and creates new points between the start and end points.

Node snippet that takes marked points for angles and creates new points between the start and end points.