This week, I was tasked with recreating a real-world environment via blockmesh in Unreal Engine. The environment had to be an interior based on actual reference photos. Not just an assortment of shapes, but a readable and navigable area.
Concept and Planning
My first challenge was trying to decide what real-world representation I was going to recreate. I struggled with this choice because there are a lot of things to consider. I didn't want to choose an area that's too large for fear of overshooting the scope of a relatively simple assignment. The area had to be decently sized, not too big but also not too small. And it should be populated with items, not overloaded, but also not empty and sterile.
Ultimately, I decided to recreate my apartment living area. In total, this includes the foyer, living room, and kitchen. Recreating my apartment had its own set of benefits. For one, I would be intimately familiar with the scale of the objects in the room relative to each other. Also, I had a fairly dense living space that I felt would look interesting when blocked out.
Development Process
The actual development process was relatively simple. Based on the reference images, I started to construct some of the walls in loose shapes, frequently running around in the third-person character controller to ensure the scale felt appropriate. Then I started from the back of the room, slowly adding items and checking their scale in reference to both the player model and the other objects in the room. The objects were recreated using geometry boxes and the brush modeling mode to edit them. Below is the work-in-progress version room
After finishing the above version, I sat down and asked for a review of my level. The main takeaways were that some blocks were not readable enough and just gave the impression of being basic cubes. Additionally, the height of some of the counters seemed a bit high, and the roof could go with being more detailed after all this. I also decided to change the lighting, materials, further detail some meshes, and add binds to the windows. Below is the finished version after a review.
Challenges and Solutions
I struggled a fair bit during this assignment. The reasons were a combination of things, but the main struggle came from the workflow of using Unreal's modeling tools. For some reason, the process felt unintuitive to me. Having to use transform gizmos to move dozens of blocks felt tedious, as did having to tab into another window and back each time I wanted to switch from extruding to edit mode.
Some things I can do to improve on this are:
Get more familiar with UE's modeling tools and practice in order to work faster and more efficiently. Additionally, I could also try to figure out another workflow where the level blockout is imported from an actual modeling program, where I can iterate and develop much faster