Texturing Breakdown – Creating a Cyberpunk Environment with Junliang Zhang

Today we have a look at the texturing of CyberNeon, a cyberpunk environment created by young 3D artist Junliang Zhang, who won this year’s The Rookies Excellence Award for his stunning project.


Introductions

Hello, my name is Junliang Zhang, I am from Shanghai, China. I am a 3D Environment Artist working at 3BLACKDOT in Los Angeles, USA. I am also studying for a master’s degree in the entertainment arts and engineering program at the University of Utah. 

My passion for the game industry comes from my childhood. I still remember how often I sat in front of the computer back in the ’90s, playing classical PC games like StarcraftCommand & Conquer, and Age of Empires II. When I played those games, I always wondered how they were made — in terms of art and gameplay — and how I could make cool mods on my own. 

In order to pursue this interest, in 2010 I started to teach myself 3D modeling, texturing, and game engines. At the same time, I went to Shanghai Art & Design Academy to study game and interactive media design. I studied a lot of 2D and 3D game art fields, such as concept art, 2D/3D character design, environment modeling, and game design. 

In September 2014, I went to New York Film Academy (NYFA) to study for a bachelor’s in fine arts in game design. Since then, I have kept track of the newest game industry workflows and also learned a lot from many professional artists through watching their tutorials. After graduating from NYFA, I gained a lot of great experience in 3D environment art and lighting, joined 3BLACKDOT, and participated in the production of Dead Realm (2017), No Way Out – A Dead Realm Tale (2018), as well as some unannounced projects. 


The Rookies Contest Excellence Award for CyberNeon

I was very fortunate and excited to receive five awards from The Rookies in 2019. Thanks, everyone, for the support and feedback! I will never forget it. I could not make it happen without your support and encouragement. 


The CyberNeon Project

The environment was inspired by Josh Van Zuylen’s CyberRunner project, which also took two years to finish. At that time, I found Josh’s work striking and I admired it, so I decided to make a unique Chinese Cyberpunk world called CyberNeon. 

I worked on the CyberNeon project from Oct. 21, 2017, to March 15, 2019. As I work full time at 3BLACKDOT, I only worked on the project after work and on weekends.  

Back in 2017, I set three main goals: 

  • All scenes had to be designed from zero to complete in independent production. 
  • Implement Chinese style in the Cyberpunk world. 
  • Make a scene of a larger scale than CyberRunner. 

I think that the biggest challenges were the composition and design of different assets. I spent almost a year working on the pre-production stage. I spent a lot of time on shaders, new assets design, resolving technical problems, studying blueprints, and so on. But I should say that I have learned a lot from CyberNeon project. I’ve gained a lot of great experience in 3D environment art, shaders, cinematic animations, composition, and lighting. 


Pipeline

The pipeline was the following: 

1) Unreal Engine 4: Blockout with simple white boxes. 
2) Maya: Create low-poly meshes. 
3) Maya: Create high-poly meshes. 
4) Substance Painter: Baking and texturing. 
5) Substance Designer/Quixel Mixer: Create tilling procedural textures. 
6) SpeedTree: Create organic foliage and trees. 
7) UE4: Set up scenes and create unique shaders, if needed. 

Once the workflow was clear, it was time to get started blocking out some simple white boxes and created some basic shaders and rain effects before the pre-production stage. 


Substance Workflow

I have been using Substance toolset for over three years so far since 2016. It was introduced by one of my instructors at the New York Film Academy, where I studied for my bachelor’s degree in game design. I still remember that I was very stoked and excited when I was playing around with Smart Materials. I just told myself the Substance software would be a revolution in the game industry! From now on, I can create textures with high-end qualities so much faster compared to old-school Photoshop hand-painting methods. 

In the CyberNeon Project, I mainly used Substance Painter and Substance Designer to create all the textures and materials across the entire project. I also created some custom master materials in Unreal Engine 4 for my pipeline and simplify steps in the entire creating process. Substance provided a procedural and non-destructive workflow that helped me to create all textures faster and change more easily than ever before! 

➤ Substance Painter Workflow: 

Each asset starts with imagination and references that I found. Once I create all the modeling pieces, which include the low-poly models with unwrapped UV and high-poly models, it is time to start to work on the baking process with Substance Painter. Here is an example for the texturing process. 

Different types of materials have different sketches, reflections, and dirt, so usually, I will add a base smart material to identify specific textures, such as metals, rubble, and plastics. Substance Painter can make it a very quick process by adding each material with color selection based on the ID Color Maps.  

After finishing the base materials, I can add more interesting details, such as tear, edge wear, dirt, decals, and surface damage. Substance Painter provides many different ways to create those details, such as Smart Mask, Hand-Painting, Generators, fiters, and so on.  

If I think everything is looking great and I am satisfied with the details and colors, I will export all the textures to Unreal Engine 4 and connect to my master materials that I already set up in the engine. 

Here is the result of the instance material set up in UE4. 

➤ Substance Designer Workflow: 

I start with a paving ground height map by creating a base 4×4 square shape. I use Flood Fill Node to create three different grayscale and gradient maps so that it will provide more randomness to the texture.  

And then I create edge damage and surface cracks to make the texture more realistic. At the same time, I make some dirt and concrete underneath the paving ground with Height Blend Node. That is a very visual node for the artist creating or adjusting any variety of details on the ground. 

Once I finish the height map, I create Albedo and Normal maps.  

First, I use Flood Fill Node connect to Gradient Map to make base colors for Color Blend 1. 

Second, I create an Ambient Occlusion Map (AO) and Curvature Smooth Map that converts from my Normal map. And then I combine both maps together and blend with the color map that I created in the Color Blend 1.  

Third, I do some Level adjustment and add some micro details as well. That’s for the final Albedo Map. 

For the creation of a Normal Map, I convert from my final Height Map. 

The next step is the Roughness map. I use Concrete 044 and Crystal 2 as a base noise map. I blend those together (See red frame, above). At the same time, I add some very tiny noise dirt and ash (See yellow frame, above). Then, I blend with the Curvature Smooth Map (See green frame, above) and noise map to turn it into the final roughness map. As a result, I can see that there are many tiny dirt and ash details on the surface of the texture.  

Final Graph for the Paving Ground. 

Texture Preview for Paving Ground. 


Things I learned

I think the biggest thing would be Anchor Points, which is very useful for some Normal Decals. It helps me generate a lot of details, such as edge wear and damage depth, based on the height maps. I used it a lot in the CyberNeon Project. 

The next thing would be the Unreal Engine 4 Livelink plugin. If you want to make any changes in Substance Painter, it will automatically update all of the changes in the Unreal Engine 4 instead of re-importing all of the textures. It is such a lifesaver!  

Failures are not scary; the most horrific thing is to be scared of failure. Just try it!! You won’t regret it.

If you struggle with figuring out good ideas for your project, I would recommend you go outside and see the real world, which can actually give you a lot of fresh inspiration and new ideas. And enjoy life! 


Future projects

The next step will be studying procedural modeling generations and texturing techniques with Houdini and Substance MDL. It would be the biggest challenge for me. I would like to be a Technical Artist and think about more interesting ways to achieve high-end quality game arts efficiently.   

Here is my personal workstation set up for CyberNeon Project: 

In the end, I would like to thank Adobe Substance for this great interview and all of the readers. I hope you enjoyed this interview breakdown and that it can help you and your projects! If you have any questions or feedback, you can find me here: 

All images courtesy of Junliang Zhang.