François Larrieu shared the workflow behind the Toyota FJ60 Offroad project, explained how the rust was made, and showed the rendering setup in Marmoset Toolbag 4.
Hello everyone, my name is François Larrieu, I'm 24 years old and I live in Paris, France (this should change soon!). Currently, I am a Contract Artist at Dekogon and at Switchboard Studios. During my studies in high school, I did not know what to do at all, my mother, seeing me playing on the computer every day, told me that maybe I should try to find a job in this field. It was then that I went to a 3D school (HETIC) to get a Bachelor's degree and then to another school (New3dge) to get a Master's in Game Art.
How I got my skills is actually quite simple: work. I do 3D all day whenever I have free time, whenever I have a break. It's a real passion for me, I don't even feel like I'm working when I do. It may sound silly, but if something is your real passion, you will do it naturally, without any effort, without even having to think about doing it.
Secondly, I would say you should be curious, I have always been self-taught, everything I have learned is almost only the fruit of my research and my curiosity (this stems from passion obviously). I keep asking, "How did this guy manage to do that, I want to do the same". The internet is an incredible world, you can have access to any information in a few clicks, so take advantage of it! The rest is just training, over and over again, to push my limits to the maximum in each area.
I will say that my project The Marie-Louise was the trigger for this project. I realized that I was able to make quite complex and imposing models. It is also often difficult to keep a project like this going over time, at multiple occasions I wanted to give up because it was too long or too repetitive, but I couldn't, I had already progressed too far to move back. And what a relief when it was finally over!
I'm also currently contributing to a big group project with my class that I can't reveal yet, so I'm trying to combine work at school and at home to find free time for my personal projects.
The Toyota FJ60 Offroad Project
I had an idea of redoing something quite imposing like the boat, I combined that with the desire to start modeling cars, so I had the first base. Then, it is important to spend time on the internet to look at what might interest you. Here, I already knew that I wanted to make a 4x4, the FJ60 model quickly got to me, I now knew that I wanted to make a 4x4 FJ60.
Now, there is a very important thing to think about: you must make your model unique and interesting, add something more. For this, I tried to work on complex textures, such as rust, sun damage on the bodywork, and cloth textures. It's much more interesting than if it was new, with a smooth texture. Then, I added other elements, like props on the roof and the trailer; it's not much but it adds a story to your vehicle, you don't have to think "car modeling" but what story you want to convey through this car.
The search for references is very important because it will allow you not to have to "imagine" your design. I tried to find as many references as possible for the FJ60: first is what I call the "big refs" – the blueprint of the car as well as its global references in its entirety, then I look for the "small refs" – very detailed references, very close and zoomed-in. A friend introduced me to the amazing site Yandex, it allows you to find very accurate images of what you are looking for, much more accurate than Google Images.
To be honest with you, I'm currently working on a new car, and my workflow is completely different from my FJ60. What I did for this project is I started doing all the low poly in Polygon and sent it all into ZBrush. I then subdivided it and used DynaMesh; the problem with this process is that you lose a lot of quality when baking because DynaMesh restricts you to a certain number of polygons. That's why I'm going to share with you my new workflow, much more appropriate for car modeling and much more efficient.
This workflow is taken from one of my favorite artists in terms of car modeling: Karol Miklas, I invite you to see his article on 80 Level.
I had never seen this technique before. The first thing is to create an outline of all the shapes of the car. This allows you to have a completely sound base and to model the most complex shapes quite easily. I already model with my desired number of vertices, this avoids making too many modifications later. I currently work using subdiv modeling.
Note that it is important to separate different panels of your car with the outline.
The next step is to connect the edges.
Then, I added thickness to my whole base and started cutting the panels as well as creating my support loops to refine the high poly and create this slight demarcation between the panels.
The final step is to finish modeling as well as remove the edges loop support and modify the surface subdivision to get a low poly. You just have to bake each part in Marmoset Toolbag and remember to rename these meshes appropriately in order to speed up the process.
Once the car was modeled, it was time to move on to props. The workflow here is slightly different: I used ZBrush to do the high poly, it's less strain and definitely faster.
Here, I modeled my kayak in low poly directly in Blender, I created the creases on the hard edges and imported it into ZBrush, then I just had to subdivide my mesh and the dynamesh. I used Polish Deformation to mark the bevels which will be baked afterward and reiterated the process on every prop of my scene. You can read the Marie-Louise article, where I talk about the process in detail.
To finish the topic of modeling, let's talk about the cloth in this project: it's very important to mix shapes and hard-surface/organic shapes, it's much more visually interesting. We all prefer a mech with cloth and mechanical parts rather than one all in solid armor. In this project, it is present in two places mainly: the tent on the roof and the bag inside the trailer, in these two cases the process is the same, and we are going to talk about one of them.
Nothing very complicated here, I start with a quick base made in Blender to give my tent the shape I want. Then I import it into Marvelous Designer and create my planes, which will bend together, here 1 square on each side is enough. I create the strips, which will put pressure and launch the simulation. Once I like the result, I import it into ZBrush to decimate it, bake the high on the low poly, and texture.
The retopology here would have been far too long and unnecessary, a decimate works very well visually for this kind of shape. However, it is important to train to do it, I recommend the TopoGun software, which is made for that and is very easy to use.
Once the modeling is done, the next step is obviously the unwrapping. The whole project (the car, the trailer, and the ground) contains 16 materials, I tried to condense the parts as much as possible without losing quality.
One important thing when working with large models is to try to keep the same texel density everywhere so there is no difference in quality, this can sometimes be difficult but it is important. Here, I tried to stay around 12px/cm for all parts. For this, I recommend the Texel Density Checker add-on, which is very easy to use and very practical. It allows you to know the texel density of your UVs at a given resolution or even to force it.
Another important thing is to think about overlapping UVs when it's necessary, like doors or tires, for example.
Finally, for UVs, you should use the UV Packmaster 3 add-on, which allows you to pack your UVs in accordance with a large number of parameters. I know that there is software like RizomUV, which is specialized in UV unwrapping, but I don't want to use too many different programs if I can do everything in one, it suits me a lot.
For the texturing, to make it simple, I will only talk about the basic materials of the car because it brings together all the techniques that I used throughout the texturing process, and it will avoid getting lost in the mass detail, so remember that what I'm going to give here is applicable to the entire project.
Before starting to texture it is very important to have good visual and detailed references, for this, I recommend the Yandex site, which will find exactly what you are looking for. I often start my texturing the same way:
- The Base: I define the color of the bodysuit as well as a slight color variation and the basic roughness.
- The Roughness: I add variations of roughness to make the model more visually interesting.
- The dirt: I add a dirt generator, and I specify "generator": the goal here is to create a base of dirt and dust, to be able to come and work on the details. It is also very important here to play with the intensity of the effects. Every effect obviously has different color and roughness parameters, you can add filters to change the intensity or even paint this dirt by hand.
- The hand-painted details (rust): this is the most interesting part, the most important but also the most complex. This is what will come to give life to your object, which will bring this unique realism.
Let's start with the rust. I don't need 10,000 layers to do it, the most important thing is the alpha I am going to use. I looked for images that could interest me at this level (use Yandex for that, it's very powerful and precise) and that I could make work in Photoshop.
To do this, simply import your image into Photoshop, switch it to black and white, and play with level and exposure in order to obtain a result that you like. All you have to do is apply it in Substance 3D Painter using the projection tool, I find it the most ergonomic to use.
Matthias Wagner helped me a lot with the sun damage, and I thank him for it. The process here is to create multiple layers of color with a crackled paint effect on the edges. For this, I created an alpha for the rust and applied it.
I used anchor points, which are very powerful, they allow you to retrieve information from a mask and work over it, so here, I reused the information from my alpha and incorporated several effects. This cracked border process is obtained thanks to two filters: the histogram shift and the histogram scan, which I discovered during this project. I reiterated the thing in order to create the second color and to mark the power of the sun on the bodywork. This is why it is important to have good references, to understand the process. Here, the sun destroys the different layers of paint, which are increasingly clear as this process of destruction progresses.
For texturing the windows, I first changed all of them to low opacity, then painted over the dirt and leaks in Opacity 1.
To give this dirty wiper effect, I simply found a reference image on the internet and did the same technique as explained earlier in the article. Once the alpha was created, I just had to project it onto the windshield, giving it roughness, height, and color information.
As always, my rendering is done using Marmoset Toolbag 4 with ray tracing. Since the addition of this feature in the last version, I have always used it, you can make incredible renders in a very short time.
Before I talk about lighting and composition, I'll show you the basic settings I use in Marmoset Toolbag 4, they're usually the same all the time:
- I change the HDRI (indoor fluorescent) and put a solid background color, often a deep black.
- For the camera, I only work in orthographic view, I change the tone mapping to ACES and Sharpen to 1. You must also activate the Safe Frame, which allows you to display the chosen resolution so you can see what your render will look like.
- The last thing is obviously to activate ray tracing. If your machine allows it, increase the viewport samples a little bit, it will be prettier.
That's it for the setup, as you can see, there's no need for 1000 different settings, a few options are enough.
I'm not a very good lighting artist, that's not my strong point, that's why here, again, there's no need to complicate things. Make it simple, often it's the most difficult part.
My setup is quite simple: first, I use two HDRIs – one for the left side of the car and one for the right side so that both sides are lit when rendering. Then, I generally use 1 or 2 spotlights to illuminate the front and the rear of the car and finish with small omnis to illuminate the front and rear headlights.
I'm not going to dwell too much on post-production because I've already talked about it a lot in my previous articles. The main effects I use are Brightness/Contrast, Hue/Saturation, and Exposure, tweak these 3 parameters to render something you like. Finally, always remember to put a high pass effect to make your image sharper, also take into account that ArtStation tends to compress renders, so boost this effect a little more than normal and test it in ArtStation before publishing.
This project lasted 7 months, I didn't work on it every day and sometimes I didn't even touch it for 1-2 weeks. I'm currently doing another car and I'm calculating my working time using an application called Clockify. It is important to do this because it allows you to know what your real working speed is and if someone wants to buy your model, it will give you a better idea of the price you can set.
The high poly of my next project was made in about thirty hours (exterior and interior included). I suddenly have a real idea of my working speed, and it is very important to know.
The texturing still takes most of the time and is the most complex part, this is where you bring your project to life, it requires the most concentration and technique.
The most difficult in this kind of project is to keep the motivation, it is very hard to work on the same project for 5-6 months in a row, and I often gave up during the previous project. The best advice I can give you is to visualize what it might look like and imagine the end result in your head. I use this technique all the time, and it works: I'm so eager to see the result and I absolutely want to keep going until the end. The good publicity and popularity that it can bring you if your project is a visual success is a great bonus too.
I would also like to thank the 80 Level team who once again allowed me to share my work and my knowledge!