Those animations look amazing!! Great job!
Very cool review of the making of Spellbreak. Would be even more cool to see some videos inside UE4 showing how they do a few very specific things unique to them.
This was so helpful for me. I'm hoping to adapt your tutorial to pull off something similar comparing modern satellite imagery with historical maps. No topo, so my steps should be simpler, but I'm a novice with Blender and you've really helped. Thanks!
Michael Andrews showed how he uses a modular approach to create a stunning part of a fictional city. Lovely work with the lighting and architecture.
Hi, my name is Michael Andrews. I’m a 20 year old game student from northern New Jersey. Currently I’m in my junior year at Champlain College majoring in Game Art and Animation. Specifically, I specialize in hard surface prop modeling, texturing, and environment art. Up until now I have only worked on projects for school, making various props and environments to further my artistic and technical skills. The Champlain game program has really given me the tools I need to be successful after I graduate. I just finished a semester in Montreal where I studied under Vincent Joyal who really helped me understand environment art and taught me what it takes to produce acceptable work.
At the beginning of every project, I first look at the big picture and decide what the main aspects that I want to capture are. Working off of the concept by Giorgio Grecu, I knew from the beginning that what I really wanted to capture was the scale and the atmosphere of the piece. I decided that the lighting, architecture, and smoke/fog were the things that really made this concept pop out to me. Capturing these were the main challenges I faced during this project. One of the more tangible challenges I had to deal with was what to do with the foreground. I decided to not include people in the piece so that left me with a large, open, flat space that really detracted from the composition. I resolved this by adding levels to the ground plane in the form of stairs. I also added benches, a fountain, an extra archway, and small leaves and other details to make space feel populated. Other than the foreground, the other main task was the sheer number of modules and the scale of the architecture itself. That was just a matter of hours and making the modeling interesting but still believable.
One of the reasons I was so interested in doing this project was because of the architecture. I really love modeling and the idea of doing intricate victorian architecture was really exciting. The concept I was working off of was also loose in some places so I could take artistic liberty with the detail and construction in those areas. To start production I brought the image into Photoshop and measured the approximate height of the buildings. By keeping the units consistent I found that this technique is really helpful for making sure everything is in scale relative to each other. Sometimes I would round up to exaggerate certain aspects and make the scene bigger. At this stage I worked with large cubes to block everything in. Once I achieved the scale and the perspective I was looking for, I started modeling. Most of the modules are fairly simple on their own. While some of them are complex, its when they all come together and compliment each other do they form interesting architecture.
To start I broke down each building into modules in the most efficient way possible. I looked at repeated architecture, patterns, and what pieces always appeared attached to other pieces. I also looked at how to create modules in the most versatile way possible so I can use them in other parts of the scene. For example, the tower in the back left is completely constructed from modules that I already made. This gave me more time to focus on other aspects of the environment.
The hardest part of the modular workflow was getting all the pieces to snap together perfectly on Unreal’s grid. All of the modules have to be compatible with one another or else you won’t be able to use them in other parts of your scene. This process is equal parts planning and trial and error. Vincent Joyal taught me a good phrase to remember when working through this part of production; “The grid is god”. The grid dictates everything in a scene.
Once I had all of my pieces built and snapping, it was just a matter of replicating the concept where I could and making interesting architecture where I couldn’t. In terms of my actual process, I take the shapes I used for blocking out the buildings, extract the face I want off of the shape, split it into as many sections as
I want modules for that side of the building, and model each module into each section. That way I know that everything is the correct size and will fit together properly.
To start, I decided what to and what not to include. I decided that the lamp posts and trees added a lot to the scene so I knew I wanted to include them. Past these, I took artistic liberty with the rest of the small environmental touches. I felt that the foreground was very empty without people so to combat this I added stairs, benches, and the fountain. In addition to these I also put small leaves in between the bricks on the wall to add more detail to the foreground.
The rest of the details were created and placed to break the perfect 3D effect. I feel like this is one of the most important lessons I learned from Vince and from this project. I didn’t want to have any completely flat, sharp edges that would take away from the realism of the piece. That led to me placing wires between buildings, attaching a clock on the side of a building, putting weather vanes on roofs, and modeling in some roof tiles. To finish off these details I put birds on the wires, hanging lanterns, a few ladders, and loose rocks on the ground. Anything to break the 3D model effect and fill in boring or lacking areas.
The creation process for each of these details varied greatly. For example, the benches, lamp posts, weathervanes, and the fountain are all modeled and textured. The trees, birds, leaves, and clouds are all flat planes. I found an image or silhouette, made a material with that and an opacity map and applied that to a flat plane. For the wires I used the cable actor in Unreal Engine 4. I tried to purposefully place detail throughout the scene to help the viewer’s eye move through it rather than just randomly throwing small details around.
Everything in the scene was textured using Substance Designer. The buildings, lamp posts, ground, benches, roofs, everything was created using designer. I made this decision because I really wanted to advance my skills with the program and I also think that designer is very powerful.
In the scene there are a few different kinds of textures. There are trim and tileable textures, used for all of the architecture as well as the ground, and unique textures, which were used for the props. I tried to reuse textures and make instances wherever I could. For example, the metal from the lamp post is also used for the metal on the bench and the weathervane.
I approached all of my tileable textures the same way. Once I had a sure grasp on the material and gathered reference, I started with the normal map. I always start any texture with the normals because so many things are influenced by height changes on a surface or object. I work with a tessellated cube and height map which I convert into a normal map. I do this for the control a grayscale map gives me when working with height differences. Down the road I swap to prioritizing my normal map so that I can independently control the normal intensity of certain tertiary details.
After I am satisfied with my normals, I move into color and roughness. I work on these maps at almost the same time because of how much they affect each other. A roughness change will often mean a color change in the material and vice versa. Sometimes it is better to show a change in the material through a color shift and sometimes it is better to do so through roughness variation. Roughness is an extremely important map and should never be underestimated or glossed over.
Having the materials be visible and interesting from such a distance and in such dark light was a big challenge with a very simple solution; I pumped the normal intensity of all my textures to the point where I thought they were sure to look awful and then kept increasing the intensity. This, coupled with close attention to the ambient occlusion map, made sure that my textures would read well from a distance.
Once these textures were completed, I mapped the UV’s of each module to the texture. This is where the workflow for props differs from the modular workflow. Props are unwrapped then textured while modules are mapped to the texture itself. For the props in my scene I unwrapped them before bringing them into designer. This workflow allowed me to bake maps down from a high poly model. These include normal, AO, position, and color ID maps, all of which make texturing much faster (provided you’re not met with baking errors at the end of your bake). I used my world space normal and position maps to generate things like dirt and rust in a realistic way. However on my props I still began with normals before moving into color and roughness.
The majority of the scene is lit by one light source then tinted and tweaked with post-processing effects. The artificial lights took more attention. The windows all have an emissive map that glows an orange color because I wanted the color of the light to resemble candlelight. I then went to each of the windows and hand placed a point light on each and every window to get light to spill onto the architecture around them. I changed the color to match the emissive and tweaked the intensity until I was happy with the effect it gave me. I did the same thing with the lights inside the arches and the lamp posts. The intensity was tricky to get right so that the window lights would still be noticeable but the atmospheric light would still be the dominating light source. Through just trial and error I was able to get it looking the way I wanted it to. I was going to make a shader for flickering candlelight with the help of my other professor Bruno Afonseca but since the final render was a still image I decided against it.
I did not use photoshop whatsoever in this project, it was created entirely in UE4. I created the smoke using a combination of a few different techniques.
I first added an exponential height fog from UE4 to get the atmospheric perspective I wanted on the buildings in the far back. I then added the volumetric fog option to get the halo/dissipation effect I wanted around the lamp posts and lights inside the arches. This took some tinkering because it was the first time I used Unreal’s volumetric fog but eventually I achieved the result I wanted. The final touch were the clouds, which were flat planes with a cloud image and an opacity map.
How do you think this project would work in the game?
If I was to bring this scene into a game I would first work on optimizing it further. I would optimize the textures as best I could, I would clean up or simplify some of the models, and I would bake normal information onto more of my props. I would also want to build more for the environment and expand it. The modules would be great for creating lots of new buildings.