Role: Programmer
Category: Tools
Engine: Unity
Team Size: Solo
Time: 2 weeks
Runtime editor for car frame building. The latest build is mainly focused on graphs for building car frames, inspired by games like Dream Car Builder or Main Assembly. The main functionality for selecting and moving vertices could also be used on a level editor or on multiple other applications.
I took this challenge because I wanted to deepen my knowledge of graphs and the command pattern. The images below show some of the inspiration for this project.
State ↓ Event → | OnClickDown | OnClickUp | OnClickAndHover |
---|---|---|---|
Disabled | Idling | - | - |
Idling | Disabled | - | Grabbing |
Grabbing | - | Idling | - |
Function | Behaviour | Input |
---|---|---|
Pan Camera | Pan Camera | WASD |
Select Vertex | Select if vertex is clicked on. Deselect if click and no vertex in range | Mouse Left |
Camera Rotation | Hold to yaw or pitch camera | Mouse Right |
Extrude Vertex | Add vertex connected to selected vertex and select it | E |
Delete Vertex | Remove vertex and all its edges from graph | Delete |
Add Edge | Add edge between two selected vertices | F |
Remove Edge | Remove edge between two selected vertices | X |
Singular/Multiple Selection | Hold to switch from single to multiple vertices selection | Left Ctrl |
Select all | Select all vertices | Left Ctrl + A |
Undo | Execute undo command on top of stack | Q |
Example of how the command pattern is being used to stack commands and then undo them.
When creating a vertex:
When moving a vertex:
This wall builder tool is another project I made where I used some of the ideas from this project. In this project, I'm using procedural mesh generation for the walls and also implementing a different undo system based on the article below. For the meantime, this project is an editor tool but I plan to do a new iteration for an actual room builder and level editor in runtime inspired by The Sims Undo, the art of