3d artist Andrew Weir talked about his amazing ‘City on Water’ project, which has very complex structure, sweet materials, and beautiful lighting.
3d artist Andrew Weir talked about his amazing ‘City on Water’ project, which has very complex structure, sweet materials, and beautiful lighting.
Introduction
Hey 80.lv! My name is Andrew Weir and I’m a 22-year-old student currently obtaining my Master’s Degree at Sheffield Hallam University. My first experience with Unreal Engine was a solo project in which I attempted a realistic rendering on a remaster of a level from TimeSplitters 2. My second project went down a stylized route, which I’m fortunate to have already talked about on 80.lv! I felt for my third project, in the interest of pushing my education into unexplored areas, I would try an off-realism environment.
For my third assignment, I was tasked with creating whatever I wanted! Naturally, I decided to further hone my skills by diving deeper into already familiar softwares, which meant working with Unreal Engine and Substance Designer/Painter. During this period, I also developed less technical skills, such as planning, organization and time management.
I kicked off the first few weeks of the project by creating a multi-layered natural environment based off the “Legacy” map from Epic Game’s Paragon. However, I quickly scrapped this idea after I came across an amazing painting by Chong FeiGiap but the layered environment idea kept floating around in my head!
This concept became the main, driving reference for the project. I spent the rest of my module alongside 4 other modules.
Blockout
Like my last project, I broke this assignment down into connected sections with a key point of interest. From there, I prioritized my favorite ideas and cut off sections as well as tossed those ideas that didn’t reach the same standard as the rest of the project, or would be too ambitious to achieve within my timeframe.
I started with some rough layout sketches, plenty of inspirational images from Pinterest and some intense, totally educational, gameplay sessions on Gravity Rush 2. For the project, I knew I wanted to include some key features—namely, a multi-layered surface, water surrounding the project and some tight alleyways and tall buildings. These features led to my first block out, as seen below.
This block out contained all the features I wanted to present, however, I knew trying a few more times from scratch would be better practice and allow me to explore the project in more detail. As a result, I moved onto a less realistic structure and layout, which better suited the reference artwork.
I took the final block out into Unreal to color code the different types of assets required for my project. Most importantly, I spent the greatest amount of time on the red assets because they were the key focus assets within the project.
From this point, I mostly took the simple shapes and re-imported the assets once I had developed them further.
Theme Setting
I knew I had to establish the standard of the project early on and test how various procedural systems would work. As a result, I decided to take the main building and develop it to a standard, which best reflected my abilities, that would be replicated across the level.
This included a custom array blueprint for the roofing, which allowed me to randomly select a corrugated roofing asset from three array variations, as well as a standard array system with a 3D distance slider, for the placing of more repetitive assets (railings and supports).
It also included a procedural rust system that was mapped to the world space, which gave the effect of vertical angles being more streaks of dripping rust rather than rust just gathering on top. This was also painted onto assets via Vertex Paint.
I was able to expand and move outwards from this point with these systems and materials acting as a solid foundation.
Asset Workflow
To create such a large scene within the time available an area of design had to take a hit. For me, this project was about the overall feeling and theme—the individual assets were created a lot faster than they would have been in a smaller scene or if there were more than one person working on the project.
The asset list can roughly be broken down into two different sections. Environmental assets, such as windows, doors, buildings and vents, which can pass visually with weighted normals and tiling textures, decals and other effects for greater variation compose the first group. The second group is composed more so of specific props, such as AC units, tables, chairs and steps, which benefit more from a baked high to low-poly information and specific textures in 0-1 UV space.
The foliage was a basic set of edited Quixel Megascans texture sheets, which require the assets themselves to be modeled and UV unwrapped. This gave me a great base to make the foliage types I wanted. With edits, I made them look lime-green as opposed to a realistic, darker green.
Lighting and Color
I spent a great deal of time creating the colors by deconstructing the original paintings. However, it was difficult to reproduce a color set that worked without overwhelming the viewer. As a matter of fact, I’m unsure whether or not I have achieved this feat! During the middle of the project, I spent a very long time regretting every color choice I made and changed them around for hours. Eventually, I found that shades of yellow and red worked better on the buildings.
The unlit scene here is quite ugly, yet it shows how many subtle colors I squeezed into the lighting.
For the cloth, I briefly spent some time looking into translucent shadows. However, to my knowledge and as the name suggests, this effect is only available on translucent materials. Consequently, I decided to fill out the light-passing-through effect with some fake lights.
It’s also important that these lights have their shadows turned off—as well as their roughness turned all the way up—otherwise they will be visible in the final result.
I discovered lighting functions thanks to a tutorial I found on this website. I used them for a subtle-cloud passing effect and the water caustics as seen below.
One of the proudest little discoveries I made throughout this project, which is probably not even worth the excitement and is hardly visible in the final effect, is that one can warp an image in Unreal by plugging a panning texture into the UV node before it maps the texture, resulting in a slight shifting of the position of the texture.
Materials and Textures
Lastly, I wanted to discuss my approach to materials and textures. A key focus of mine was to use Substance Designer as much as possible, while utilizing Megascans and other texture websites, too. I knew I wanted a stylized look to the scene, which gave me a legitimate excuse to make sure that all of the materials did not stand out on their own. Only a few of the materials in the scene are polished to a standard that they can be fully presented. But, once they appear within the scene, with less focus on them, they form a better result.
For materials that didn’t require much in-game tweaking, I created a master material that covers all the assets as seen in red below.
Clearly, this is a large percentage. The scene itself contains about six master materials, including decals and light functions. The only specific material being used is on the water. The walls are a specified master material due to its ability to change the colors and the amount of wear, which is partially generated via the baked ambient occlusion information with parameters to scale the wear inwards and outwards.
Overall, the response to this project has been wonderful! Thank you for checking out my work. I continue to strive to push myself further and have some exciting projects on the way!