3D Brush base Level editor

Sample Instructions



This project is a 3D level editor inspired by the Hammer editor, designed to provide an intuitive and versatile tool for creating detailed 3D environments. The editor combines flexibility with ease of use, allowing level designers to create, modify, and experiment with 3D worlds in an interactive and efficient way. Whether for games, simulations, or architectural visualizations, this tool aims to empower users to bring their creative ideas to life.

Brush-Based Level Editor

The core of this editor is its brush-based approach, where 3D objects are constructed as "brushes." A brush is essentially a convex volume defined by the intersection of multiple planes. For example, a cube is considered a brush because it can be described by six planes that enclose a rectangular volume. This method allows for a modular, highly flexible approach to 3D object creation.

The brush-based system gives users the freedom to build levels by combining simple geometric shapes into more complex structures, offering a fast way to create environments. Additionally, the system supports precision, as brushes can be manipulated and clipped in various ways, making it ideal for creating intricate 3D worlds.

Key features of the editor include:

Developing this 3D level editor has been an invaluable learning experience. I gained a deeper understanding of 3D geometry, game development, and scene management by implementing a brush-based system. This approach allowed me to explore the intersection of planes to create flexible and precise 3D objects for level design.

I also learned how to optimize performance by implementing binary file saving/loading and how to manage multiple viewports to improve editing efficiency. These challenges enhanced my technical skills and problem-solving abilities, preparing me for more complex game development tasks in the future.