logo80lv
Articlesclick_arrow
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_login
Log in
0
Save
Copy Link
Share

Creating a Detailed Cockpit Material Using Substance 3D & Marmoset Toolbag

Alex Luna Garvin talked about how he created the Cockpit Material, explaining how he used Extended Shapes, a tool he created in Substance 3D, and sharing tricks to keep every panel consistent.

Introduction

I'm Alex Luna Garvin, a 3D and Material Artist who started his career as a programmer. I always wanted to work in the game development industry and spent all my teenage years learning to code and using Unity almost every day, until I finally started a college degree in computer science for about 3 months.

That's when I decided to turn my life upside down and start learning art for the first time in my life, drop out of college, and join an animation and 3D environment course where I learned the basics of 3Ds Max, Unreal, and Substance 3D Painter!

I've worked as a Freelance 3D Artist, C# Unity developer for VR/AR experiences, and more recently as a Material Artist at Kitbash3D, where I've contributed to many projects, such as Brutalism 2055, Military Vehicles, Cyberpunk interiors and vehicles, Spaceships, and many more.

Cockpit Project

While I was working on the Military vehicles at Kitbash3D, I collected a bunch of cool cockpit references. Back then, I already wanted to create a material based on them, but I was working on other personal projects, so I never actually started.

A few months ago, I created a new Substance 3D Designer tool named Extended Shapes, which uses SDF math expressions to help me create shapes that usually take a lot of nodes, transformations, and blending with just one simple and quick node, and I was looking for an interesting idea to test this tool. That's when I decided to start working on the cockpit material.

Most of the shapes were created using my custom Extended Shapes tool, and when my tool was not capable enough, I used a classic combination of simple nodes to achieve the result.

Extended Shape Example:

Traditional Shape Creation:

From the beginning, I already knew that this material would become incredibly complex super fast, so being organized and having a clear strategy was key in order to finish this.

So let's take a look at the final graph, while the original image is too large to upload to any webpage (78165x22297 pixels). All we need to focus on to understand the bulk of this material is the colors of each frame.

For each panel, I have 2 mandatory frames: blue color for the Height Map, and red color for the graphics. For panels with a screen, I also used a yellow frame to create that one and have everything compartmentalized.

A lot is going on, so I will do a brief breakdown of the creation of the first panel. First, I will use my Extended Shapes tool to create the base shape of the panel. I use this tool instead of the default shape node because I can create a rounded box instead of the default one to save on a couple of nodes. Keep in mind that with a material this big, each node saved matters.

Immediately after I connect this shape to my panelsBevel, this is probably the most important lesson in this article. I use this trick a lot to keep every panel consistent and to allow me to do big changes later on. If we open the reference for this panelsBevel node, it is just a simple Bevel with a Blur, but creating simple abstractions like this one early on is what makes the difference between a messy material and a finished one.

Another important abstraction I use here is the panelsHeight, which is just a simple level to make every panel consistent and to be able to update all of them at once later on.

After that, the panel creation is very simple. I just use a very basic combination of shapes, mirror, level, and transform to create all the panel elements. But as you can see, I kept my panel centered this whole time. That's where we get to the last step on each panel, the Transformation Panel node.

After finishing my panel height, I just use a Transformation node to set this panel position, and then I abstract this node once again. This will be useful later on. This is a special panel, since it has 3 array copies, which are just 3 transforms blended.

You may be wondering why not just use a simple transform here. But as you can see here, this panel doesn't have any graphics or screens on it just yet, so I can, once again, reuse this Transformation_1 in other elements and keep everything consistent and well-organized.

And this is not the only use case for this trick, for me, it was very important to make each element unique, so we can use this Transformation_1 on the elements of the panel to extract a mask to be used later on when we start doing the basecolor, metallic, and Roughness Map.

Using this technique is very easy to update the position or scale of a panel. With all of this, we can extract masks and blend them to create an ID map. I didn't use this color ID map for the final material, but it was super useful to organize my mask and check my progress.

Substance 3D

My workflow in Substance 3D Designer is very straightforward. I start each project by building a reference file in PureRef. This file is very different from one project to another. Sometimes I use moodboards, color sections, lighting references, etc.

But something I see many people do is use too many references. It is important to have a very clear path on what you want to create, and having too many references could break your whole project. In this cockpit material, my PureRef file was super small, as you can see here.

Once I start working on Substance 3D Designer, my process is always the same, I focus on the Height Map working from big to mid to small details, and while most people finish their heightmap before jumping on the basecolor/roughness/metallic, I try to set up that base as soon as possible, and I usually start with that once my mid shapes are done.

For the cockpit material, it was different, since I finished my Height Map before starting any work on the other textures, since I needed my masks first. To me, the trick to achieving realism in any material is to add little by little. It's better to use 10 blends of slightly different colors with a blending value of 0'05, than using 5 blends of 0'1.

Of course, we have to limit ourselves and not overdo the blending, but this comes with repetition and experience. Eventually, you get to know when enough is enough. In addition to this, it's as important to focus on the render as it is to focus on the material, or even more. You can mess up a material by using a bad render scene, and you can elevate a mediocre material to a stunning one with good lighting and camera settings!

This article is already long enough, and there are plenty of tutorials out there about this topic. I use Marmoset Toolbag 5 for all my renders, but Unreal Engine or any other render engine could do the trick.

This is a special material, with all the buttons, levers, and screens. As you can see by my workflow, I kept everything non-destructible, so you can virtually change anything you want here! From which button is pressed, to the rotation of the elements, or anything else.

I didn't lose my time creating parameters to allow a non-existent user to make changes with an interface, since I created this material just for myself, but it would be quite easy to do if I need it in the future.

Conclusion

This material took me around 1 week of work from start to finish, plus one day for all the renders. However, in reality, I began working on this material during a move to a new place, so I could only do very little each day and had to stop completely working on it for over a month. The project started in September and was finished by the end of November.

The main challenge for the Cockpit material was to come up with all this workflow for the non-destructive and iterative panel creation, but as a surprise, everything worked smoothly from the beginning, which is very strange!

And my final advice for anyone reading this to create appealing materials is to challenge yourself! I see many people scared of getting out of their comfort zone and not trying to do anything that they don't know how to do straightaway.

I always start my projects with the urge of learning something new, and always finish them by analyzing what I've achieved and what I could improve. For instance, in this material, I'm super happy with the result, but I'm still improving my rendering skills and figuring out how to show my process in the portfolio.

Many people have reached out to me with questions about this material, so feel free to contact me through my ArtStation at any time. I'm always more than happy to help. And thank you for reading this interview!

Alex Luna Garvin, Material and Environment Artist

Interview conducted by Gloria Levine

Ready to grow your game’s revenue?
Talk to us

Comments

0

arrow
Leave Comment
Ready to grow your game’s revenue?
Talk to us

We need your consent

We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more