Skip to content

A Godot implementation of OBB (Object Aligned Bounding Box) Parcelling to procedurally generate parcels of city blocks.

License

Notifications You must be signed in to change notification settings

stavguo/obb-parcelling

Repository files navigation

OBB (Object Aligned Bounding Box) Parcelling

A Godot implementation of OBB (Object Aligned Bounding Box) Parcelling to procedurally generate parcels of city blocks.

example

Installation

Clone or save this repo locally (instructions), and then import it using Godot's project manager.

Usage

Generate a City Block

Within Godot, run the scene by pressing the Play Scene button in the top-right of the screen or press F6 (Cmd + R on macOS). Every time the scene is run, a new parcel is randomly created.

Regenerate a City Block

To get a new parcel, you can press the R key or the Enter button on the scene window to rerun the scene.

Take a Screenshot

You can save a screenshot of the viewport to screenshots/ by pressing the S key.

Modify Variables

The main logic can be found in the script associated with the parent node, Node2D. The program can be easily configured by modifying the values found in the Godot node inspector tab with the parent node selected. The city block that is parcelled is created by generating N random points on the circumference of a circle of radius R.

  • max_radius (int): The maximum possible length of radius R.
  • min_radius (int): The minimum possible length of radius R.
  • points (int): The amount of points N to be generated on the circumference.
  • min_area (int): Minimum area of parcel. Once area is less than min_area, recursion ends and parcel is created.

To register changes, press the Tab button on your keyboard after modifying an inspector field. Then save the changes and rerun the project.

Credits

About

A Godot implementation of OBB (Object Aligned Bounding Box) Parcelling to procedurally generate parcels of city blocks.

Topics

Resources

License

Stars

Watchers

Forks