Elric Darmois shared the workflow behind the Old Railway Lamp project, explained why 3ds Max is the artist's go-to modeling tool, and showed the texturing process in Substance 3D Painter.
Hello, my name is Elric, I’m a 3D Artist from Paris. I’ve been studying 3D for over 4 years now and I’m currently enrolled in the Environment Art course of ArtSide. I always loved video games as a child, especially narrative stories with epic and beautiful environments. It’s only in high school that I learned you could actually study the art side of games, so I took my chance.
During my studies, I had the opportunity to work for different industries such as luxury products or video games through internships and student projects. For example, I worked for Louis Vuitton as an intern in 3D design during my first year of university. It allowed me to have a really good understanding of 3ds Max which is still my main modeling software today. I’ve also worked for Cyanide Studio during my second and third years of university. My main task was props modeling and texturing for the games Werewolf the Apocalypse and Blood Bowl 3. I also did a 6-month internship in the studio on an announced project.
I really developed my skills with Substance 3D Painter/Designer, ZBrush, and Unreal Engine over there. This also reinforced the passion I had to work in this industry.
In this article I’m going to walk you through the creation of my Old Railway Lamp prop, I hope you’ll learn a thing or two.
The idea of the prop came to me during a trip with friends in southern France where I stumbled upon it while visiting an antique shop. At that time, I was searching for references for props to work on my texturing skills and this lamp seemed to be the perfect subject for that
My main reference was the one I found on the TysyTube Restoration channel on YouTube. It had what seemed to be really cool oil leaks going around the "Wonder" stamp and also very unique wear and paint peel.
Once I had all the reference I needed, I began modeling the lamp in 3ds Max.
After modeling the blockout, the most important part was giving proper bevel size and details to the high poly.
I always try to think ahead of every shape to make the bake more interesting, for example, most of the time the bake will read better if you loosen up your edges. Also, I always use a shader with the glossiness and a bit of specular on my model to help me see pinch and tears.
I used floaters for some small elements like the writing and the battery holder.
Once the high poly was done, it was time to clean the topology and make the low poly out of it.
I mostly cleaned it by hand, deleting unnecessary edge loops, cutting and adjusting vertices. It’s important, however, (for a prop like this, made exclusively for visualization and not video game use) to keep in mind that polycount doesn’t need to be extremely low. What I mean by that is that you need to keep a good overall shape especially with curves and round angles.
Once the low poly was done, the unwrapping was pretty simple. Every UV island needs to be straightened and aligned with the UV axis. It prevents aliasing artifacts when baking.
Also, something I didn’t learn in school is that every cut of UV islands needs to be done on hard edges, and your smoothing groups must be applied to each individual UV island. It also prevents artifacts and makes your baking a lot nicer. You can find scripts online for free that smooth your model by UV islands. I recommend using Marmoset Toolbag for baking because it gives you a lot of control over your projections and is just overall the cleanest and fastest option available.
Now that the modeling and baking are over, let’s talk about texturing. Texturing is actually the most important part of the making of a 3D prop. It can take a long time before getting good results and it’s all about jumping back and forth with the rendering software to exactly see how it will work in the engine.
The main guideline in texturing, in 3D and art in general, is to start working macro and finishing micro. By that, I mean making the base materials first, then adding layers of details after layers of details. For this prop, I used Substance 3D Painter. I began with the base metal by using a basic fill layer to set the metalness, base color, and roughness, then I added a texture of metal found online with base color and roughness tweaked just to get some interesting base details.
Then, I progressively added layers of color variation, roughness, etc. Once the base material was done, I began working on the dirt and the grunge again using the same workflow. The same was done with the oil leaks and the paint.
Anchor Points is a really great feature of Substance 3D Painter because it allows you to mark mask information in the hierarchy and call it later on for use. With that, you can basically create masks that react to other masks.
For example, with the oil leak, I set up an anchor point on the paint layer and created the darker edge mask from it to allow me to paint freely with darker edges automatically adjusting to it.
For the peeling paint, I used Stencils made from images found online. Stencils are really useful when painting because they allow you to create interesting wear and tear. You can achieve more realistic shapes than procedural masks and generators.
Then, for the paint height, I used the same technique as for the oil leak with anchor points. Basically, I took my paint layer, outlined the edges then blurred them a bit and added a little bit of height. It gives a nice sensation of depth on the layer.
Like I said earlier, during the texturing it’s important to systematically check the final look in the engine to see exactly how the materials react to the lighting and reflections. For the lighting, I chose the same HDRI that I used in SP, Tomoco Studio, because it has nice soft and hard lights. Then, I added directional and point lights to highlight different elements of the texturing.
For the small lamp, I just applied an emissive on the filament and played with the intensity to get what I wanted. And for the glass shader, I created a mask in painter with harsh details on the border, applied it on the glass with alpha dither mode, and also tweaked the roughness.
Lastly, for the camera and render settings, I chose ACES Tone mapping to get nicer exposure and contrast. Sharpen and Vignette can bring some details up. Also, I like setting a high focal length on the camera to reduce the perspective and get a nice packshot/isometric feeling.
Then, for the rendering settings, I used raytracing and played with the reflection intensity, local reflections, etc to help me accentuate some details.
In conclusion, this project allowed me to really work on my texturing skills and learn a lot about Substance 3D Painter. Seeing what I’m capable of has also given me some motivation to keep working on personal projects.
I wanted to thank Neil Houari for his precious feedback and 80 Level for this opportunity to publish this article. Thanks again for reading, I hope that you learned something!
You may find these articles interesting