Ziyi Yang told us about the workflow behind the Paradise project, shared the core modeling technique used in it, and talked about the importance of planning ahead.
Hello everybody! My name is Ziyi Yang and I am a second-year Environment Art student at Solent University’s BA Computer Games Art Course. My work has been largely inspired by the expansive and realistic environments in Ubisoft’s Watch Dogs and Assassin’s Creed franchises. The scale and immersive quality of these environments have always been a benchmark for my school work – this has also carried over to my 3D Mapping work for MooVita and my contract modeler work for a former university lecturer.
I was introduced to the Grads in Games competition in my foundation year at Solent University. While I gave my submission my best attempt, I felt I could do better. It was comparable to my other schoolwork – which, objectively speaking, was polished but lacked the inspiration I knew I could achieve. In my second year, I challenged myself to design and build a submission that showed my technical and creative skills – something which was impressively unique, that hadn't been seen before in published games. This was the motivation for my Search For A Star submission – Paradise City!
The Paradise Now Project
Since this was a project where I wanted to challenge my skill set, I needed to adopt a different point of departure than in my previous university projects. I spent some time writing a narrative for the environment. Not only thinking about what the environment may look like, but where it is located, who inhabits it, and what its history is. This narrative was instrumental in guiding the creative direction of the project as much as the schedule and reference resource.
Again, my goal was to create something that was unique and not only developed my skills artistically but also improved my time management skillset. I wanted to produce something unique.
You can see my final creative direction here.
There were four main reference categories that were used for Paradise Now: the landscape, the mining machine, the post-apocalyptic community, and the hidden place. These were added to the four key assets required in the submission brief for the Grads in Games: Search for A Star Challenge – centerpiece, large decorative piece, architectural statement, and supporting props. The references were drawn from a variety of sources – movies, concept art, anime, industrial photography, and architecture. Most if not all of the references had steam or cyberpunk themes to them.
Some of the references served as an overall guide that provided a starting point for assets while others were a blueprint that I used for modeling and/or material creation. This proved true to the centerpiece asset which drew heavily on Art Deco detailing and Byung-Ju Bong's concept art. As I was using references from several different genres, I was careful to provide a consistent style for the textures to conceptually unify the assets.
Take a look at all of my references here.
There were two asset workflows for this project: Landscape creation and Hard Surface Modeling.
The landscape was the very foundation of this world, so I needed to create it first to have a general feel of the world and keep improving it during the production. I used Gaea to create the landscape mesh, Quixel Bridge for the textures, and Unreal Engine to blend the materials.
Gaea is software that can generate large landscapes. I chose it because I thought the nodes connection workflow was like my experience in Substance 3D Designer, and I found that very convenient and effective.
For the landscape material, I planned to follow some tutorials and make a very complex material blend to remove repetitions, adjust the UV Scaler, and add tessellation and dithering on the large landscape mesh I just created. So, to ensure the output quality after all the material manipulations, I took advantage of Megascans' textures to make sure I had the most sophisticated texture inputs to start with.
I also took advantage of the small limestone rocks and I will show later how I created a landscape mask to randomly place them by using the Landscape Grass Type tools.
- A type of noise
- Created intentionally
- Used to blend other objects into the master material
- Works well on sand materials
- Used for tessellation
- Makes the cliff textures stand out more
- Cause small issues
- Select specific UV Channels and tilings
From textures Lerp
- Blend A and B based on Alpha
Landscape Grass Type
- Place rocks as grass
- Random sizes, locations, rotations, etc.
- Use different Megascans rocks and a macro masking map to break up the repetition
- Adjust texture scales based on their distance to the camera position
- Reduce repetition through scaling up textures in the distance
Final Master Landscape Material
Core Modeling Technique: Face Weighted Normals
Early on, I decided to use Face Weighted Normals as my core modeling technique. To explain this process, I want to talk about normals first. Normals define the orientation of a surface, and one vertex only has one normal. That's why in the true structure of this model, 1 edge is technically 2 edges and 1 vertex contains multiple vertices and multiple normals. This is also why the edges look sharp and hard without any adjustment of the normals.
However, it is not ideal as it makes the model uniformly smooth, and only a few scenarios need this type of shading, such as making spheres. So, I have to manipulate the model further to fix the issue.
After chamfering the edges, those edges are doubled and this is similar to the true structure of the model at the beginning. The shading on the new faces or the outline looks much smoother, but the shading on the larger faces still needs to be fixed.
So, to implement this technique, usually, I needed to select all sharp edges, chamfer them, put shading across the entire model, then adjust normals to snap to large faces.
However, with tools from 3ds Max such as Chamfer Modifier and Weighted Normals Modifier, this process can be optimized.
I noticed I had triangle density issues on some small elements from my wireframe renders and I was aware that it might cause issues like quad overdraw in the engine. I needed to try to fix them by removing edge loops from those elements to achieve an overall more balanced triangle density. On the other hand, from what I had observed, my model was free of shading errors, which meant I had applied weighted normal techniques correctly on all objects.
The centerpiece was an elite residence layer inspired by ancient Chinese dynasty cultures. The appearance of this entire layer was a display of preserved culture and history. What’s more, this layer was meant to be the most unique compared with the rest of the world, but I put enough details on them to make them still look like they were coming from the same world and the same art direction.
The clock door was inspired by traditional Chinese timekeeping. Those words represented the time of a day but they didn’t describe numbers directly, they also had other meanings in people’s lives because in ancient dynasties, people believed that their fate, time, nature, and many things in life were deeply connected.
I used the Text Tool in 3ds Max to help me create those characters accurately. There were some edge loop issues but they were relatively easy to clean up.
Initially, I had a problem with the flags, it was hard to determine what the materials were because the fabric part of the model looked too hard and unnatural. So I used mCloth with gravity to simulate better fabric models. I needed more polygons to do this, but I believe this was where I had to invest in polygons if I was determined to make realistic cloth models.
This was where I wanted to blend in the Steampunk style – a more universally recognized art culture. Ancient dynasty art styles were cool, but I wanted to have a universal culture language first so players could feel both familiar with this world and refreshed.
Structural pieces were also made with the modular approach. For the excavator, many supporting structures looked repetitive at that moment, but they would be covered by a lot of containers and props, so repetition would not be a problem. As for the containers, I wanted to give them different modifiers for reinforcement and chains as one way to break up repetitions.
Most supporting props had a relatively low level of detail as they most likely would not appear individually in the central area. Their purpose was to populate and decorate larger props and structures to make the city feel lived-in and busy.
Texturing was mainly achieved in Substance 3D Painter. For each asset, I always started with a basic material, then added generators and modified the layers. In some cases, I also made different textures for the same models in order to add more variety. Due to the scope of this project, I had to prioritize efficiency, so I created customized smart materials for texture layers that could be used for most of the assets such as dirt and rust as they should be the most common texturing features in a post-apocalyptic environment.
The color language of the containers was following the five elements. Each of them represented fire, earth, metal, water, and wood. This meant to be a hidden detail for players that spent a lot of time discovering.
You can find the UVs for my assets here.
Assembling the environment in Unreal Engine 4 was a challenging but rewarding process. Originally, I planned on researching Blueprints to see if there was a procedural way of creating the storage container blocks in Paradise. However, due to my limited understanding of Blueprints and the tight schedule of the Grads in Games competition, experimenting with procedural building, akin to Blender’s Geometry Nodes, was not possible. Instead, I used the blockout as a basis to build out the environment, primarily with the storage container assets. This worked in my favor as I had complete control of the silhouette of the City, something that proved quite powerful as I built out the environment.
A pleasant surprise when assembling the city was the detail of the modular pipes. Originally planned just as a nice detail to decorate the bottom of the storage containers, these modular pieces really gave the underbelly of Paradise a real-world structural feel. They ended up adding to the overall architectural language of the City.
The Water Pipe System/Placements
The entire basic water pipe systems were created using these three modular pieces. They were also textured together and shared the same Texture maps. I thought they were the best demonstration of a successful modular approach in this environment because they were quick to make but they could be pieced together seamlessly in many different ways.
You can see my initial placements here.
Using the robust Unreal Engine lighting provided a broad range of tools to create an immersive lighting system. As I was familiar with the basics of Precomputed Lighting, I used this project to explore Dynamic Lighting, Exponential Fog, Sphere Reflection Captures, and fully leverage the power of Post Processing Volumes. In the end, the final lighting rig was accomplished through exhaustive technical and artistic iteration of the lighting and visual effects tools. However, once the toolsets were mastered, they proved quite powerful in painting mood and atmosphere into the scene.
Initial Lighting Reference
I decided early on that the lighting must look heavenly and somewhat overexposed so it would have the dreamy and pleasant feeling of paradise. The references I collected were for showcasing royal buildings and parades. I thought they were very close to the environment that I was making where people celebrate elite cultures and harmony.
First Lighting Iteration
This lighting pass was focused on presenting the centerpiece – the elite layer. This layer had lots of very reflective materials such as gold and copper. So I really wanted to bump up the exposure and blooms to make them stand out. As royal structures, the lighting also helped to give them a heavenly and dreamy look, like in the lighting reference images. However, as I iterated the lighting, I decided to light the entire environment and not just one area of it.
Second Iteration – Color, Atmospheric Lighting & Fog
To push the realism and atmosphere further, I researched Blade Runner 2049 and Mad Max: Fury Road. I thought they were good fits to my desert post-apocalyptic environment. I adjusted the main theme to have warm and saturated colors.
As previously mentioned, it cannot be overstated how important the UE4's fog and visual effects tools were for “painting” the right atmospherics in the environment. The goal at this stage was to add fog and atmosphere to accentuate the sense of scale and depth between the environment and the structure. The final fog and visual effects blended everything together making the world feel more believable within its narrative.
Without exponential height fog
With exponential height fog. Changed tones of lighting and sky to warm yellow colors
For the fog effects, I utilized fog sheet blueprints from one of the early Unreal Engine demo projects. Those blueprints were designed to be highly customizable and used in a lot of ways, according to that demo. So, I migrated the fog sheets into my environment and used them as steam and desert dust after some tweaking.
My original plan was to use movable lighting to set up the scene first, then I would change every light to static baking to get the best shadow quality. However, after the baking tests, I found this plan was no longer viable as there were too many issues and I had to stick with movable lighting due to time constraints.
Final Lighting Solution
Dusky saturated color scheme. Thick fog in the background. The foreground has a sandy, dusty feel.
The final lighting and atmospheric design took several days of research and iterative development, and the tweaking continued until the last few days before the project was submitted. Additional background assets were added to provide more depth and scale to the environment. I was very satisfied with the final presentation, although I am planning on revisiting the project and implementing other lighting schemes – night, dusk, etc.
The full schedule for Paradise City from pre-production to final submission was approximately eight weeks, December 15 – February 6, of full-time work averaging 40-50 hours per week. Due to my elaborate pre-production planning, I was able to finish a few days early and expand the project with an interior room – the Hidden Garage. This was designed to be a secret area for the players who wanted to explore the city. The garage provided an opportunity to implement an interior lighting solution as well as play for the narrative culture of the peoples who inhabit Paradise.
There were two primary challenges for Paradise: the pre-production blockout and the project schedule.
I cannot stress enough how important the blockout is. The pre-production iterative blocks were instrumental in making this a successful project. Experimenting with the silhouette and morphology, creating several different variations, and designing how the different “massing” zones of the City would complement one another. It was necessary to explore different variations of the environment before deciding what variation worked best. “Playing” with the shape was rather enjoyable. I would recommend trying to enjoy this iterative process.
Here is my pipeline overview with blockouts.
Project Schedule & Asset List
Creating a practical schedule and an asset list was essential for this project. In fact, I would say that without them, this project would not have been completed on time. It was incredibly important to master my time management skills and keep to the schedule. It is too easy to spend too much (unscheduled) time redesigning and fine-tuning models and materials.
This addition of the features to the environment may lead to unwanted complexity and diminish the overall project. One of my teachers recommended thorough planning to scope the project realistically. The pre-production schedule as well as advice from my industry friends were critical for keeping the project on track. I found that adhering to the schedule focused me professionally and enabled me to finish the project early – allowing me, in fact, to go back and invest more time in key areas of refinement and polishing.
Here is my production plan.
Finally, I'd like to add that you must treat yourself as an industry professional, keep your standards high, and your time – focused. Above all, love your work! If you are not loving what you are working on, then your final project will never be as inspiring.
You may find these articles interesting