Hi Elliott, This is a great breakdown and very generous in sharing your process and insights, you came a long way from the vending machine days!
Are you planning on releasing the UE4 project to the public? Or only builds? I'd love to play around with it in the editor if possible!
Sami Bashir talked about the creation of his UE4 environment. This is a very busy scene with a lot of objects, beautiful lighting and very pretty materials. He described the production, touched on the biggest challenges and dwelled about the creation of the perfect cyberpunk mood.
My name is Sami Bashir and I am an environment artist from Atlanta, Georgia. While I am not currently working in the games or entertainment industry, I used to work at a studio called Thrust Interactive here in Atlanta that mostly built mobile games for clients but now I’m working as an office drone in an unrelated industry until I can get back into video games.
Creating the Scene
I built this scene wanting to learn about how to make more densely detailed interior environments. The bulk of my previous work has been outdoor cityscapes so when principal development of the scene began I wanted to make something challenging but not completely dissimilar to my previous work. I definitely wanted to make something cyberpunky like Blade Runner, The Longest Journey, or Deus Ex as those are some of my favorite IPs and I LOVE the cyberpunk aesthetic.
Production of the Environment
So I originally started this scene with something VERY different in mind. My last big project was a big cyber-punk city that I built two years ago. That city was originally developed based off of concept art for Dreamfall Chapters: The Longest Journey
The Longest Journey was one of my all-time favorite PC games and I really wanted to develop a scene based off of part of it so that’s what I did. The scene came out great and was well-received so I decided to expand upon it. That’s when I built my last scene. I had so much fun building it and learned so much that I was hoping to try and recapture the experience by building another massive city scene.
I started blocking out a large city block based on concept art from Sergey Zabelin titled “Hong Kong Street Patrol”
I got pretty far in blocking it out when I started working on smaller focal points. The first focal point I was working on was the store in the bottom left. I was originally trying to make it accurate to the concept art when I decided it’d look more interesting if I opened it up and moved the boxes. I started doing some minor interior work when I decided I’d actually try and narrow my focus on the scene. As I said, I usually make large scale environments that would take some time to finish so I decided now would be a good time to try and make something smaller scale.
To get a better sense of how to approach a scene like this, I turned to Devon Fay’s recently released tutorial “Creating a Sci-Fi Alleyway”. This tutorial largely influenced how I would handle making the scene and informed how I thought about its composition. It also helped a ton that they were thematically the same.
For references, I searched Google images for shop interiors, cardboard boxes, cans of motor oil, prosthetics, you name it. I wanted each thing I made to feel like it could exist in the real world and I wanted my scene to look like it had actually been lived in. I also, of course, looked to other people’s renditions of cyberpunk environments and tried to incorporate similar visual cues that tip off the viewer that this is a cyberpunk environment and not just a very dirty store. Some of these elements, for example, are unnecessarily complicated machinery, old green computer terminals, Japanese, Chinese, and other far-Eastern elements intermixed with Western elements, and hints of transhumanism.
Building Assets and Materials
I used the following software to build my scene: Maya, ZBrush, Quixel Suite 2.0, Photoshop, XNormal, and, of course, Unreal Engine 4.
In terms of handling production of the assets, it was pretty straightforward, and, thus, time consuming. I didn’t use any tileable textures this time although I really wish I did because it would’ve made propagating changes across my scene much easier. That being said, I did use Quixel Suite very heavily and it made detailing everything in my scene an utter dream.
Most of my normal maps were made using NDO2 but for certain hero objects like some of the prosthetics, I built it out in ZBrush and then baked it down in XNormal. Pretty simple stuff.
I also photosourced lots of minor details on my props. Stuff like creases in cardboard, grunge effects, signage, and labels. DDO2 was used for the base layers of materials and wear and then I’d multiply or overlay these other textures on top to round out the materials.
I’m not sure how many individual objects are placed in the scene but I did make roughly 150 different objects that were then textured multiple times to increase variation. Also, I made sure that most larger assets would be vertex paintable so that I could further increase the level of variation.
A lot of the detail you see wouldn’t be possible without my Master Material setup. Basically,it’s set up so that Albedo, Roughness, Normal, Metal, and Ambient Occlusion are all vertex paintable, with modifiers that allow me to change the color of the Albedo and the strength of the Roughness, Metal, and AO channels.
Since the scene was originally being built as a city, it was already entirely modular by the time I switched focus to the shop part. All of the walls, floors, and ceilings snap neatly to Unreal’s grid.Some other pieces were developed with modularity in mind as well. Pipes, trims, those little tiles on the floor; all snap together neatly. The tiles were fun to design modularly since at first glance they don’t look modular but they actually snap together perfectly and one tile section is actually half the width of one wall section.
For the more minor decorations like the boxes, cans, and random robotic parts, those are all made as one-off pieces that didn’t need to snap together neatly.
Lighting this scene was a lot of fun. I kind of did it like I was painting. First, I layered on the big, formative lights like the skylight, directional lights, etc. I always knew it would take place at night and would necessitate having lots of indoor lights on. Cyberpunk works really well with darker values interspersed with vibrant, lighter values and I didn’t want to change that.
The medium lighting strokes were done as follows: the positioning of light fixtures was done entirely with what I wanted the final lighting to look like in my mind. I knew I wanted the brightest spot to be on the left of the screen so I made a shelf with lighter colored framing and backing so it would reflect the light better. That’s also why I styled the robotics in a two-tone black/white color scheme with white as the primary color; it just reflects the light really well and draws the viewer’s eye to that side of the screen and enhances the camera angle I’ve chosen for my main beauty shot. Additionally, I didn’t want the right side to be boring so I used that space to add the cyberpunky emissive electronics to liven things up.
For the smaller light strokes, I used the aforementioned emissive electronics to break some staler portions of the scene up and then I went in and tweaked the lighting everywhere by adding smaller-radius, low-brightness, non-shadow casting dynamic lights to highlight certain areas I wanted to draw more attention to. I think doing that worked out pretty well and it allowed me to create some interesting lighting conditions that I think really added to the scene.
The scene could be game ready if I brought down the triangle count on some of the objects. For some of the objects, I was just hammering out shapes and trying to get the best look possible. Most of them were built with future use in later projects in mind so I didn’t delete any faces that weren’t visible by the camera.
Also, most of the objects use way bigger textures than I would use in a production environment; most going up to 2048×2048. I could easily scale these down and buy a lot more frames back but, as this is just a portfolio piece built with the intention of flexing my skills, I didn’t worry too much about that.
Finally, the lighting is probably the biggest performance sink of all. I have all of the lights set to dynamic because whenever I built the lighting it made the particles disappear. I’m sure I could’ve resolved that but, since my original intention was only to make the prettiest scene possible, performance wasn’t a major concern.
In terms of the biggest challenges, I would say just finding the time to get everything done. By the time I formed my final vision for how I wanted the scene to play out I felt like time was escaping me. Unlike past scenes where the environment could be easily bashed together using a collection of floors, ceilings, walls, and trims, the bulk of this scene was composed of discrete objects. Unlike modular asset sets that can share tileable textures, the majority of the assets I built were unique objects that were unlikely to be able to share texture sheets. Some things were able to be reused, like the cardboard boxes and random robotic parts lying around the scene, but most of it was unique.