Joppe Stijf joined us to talk about the tools he used to create his R1155 Radio Receiver project, focusing on modeling and texturing techniques and the use of Marmoset Toolbag 5's Bevel Shader.
Introduction
Hi, my name is Joppe, and I'm a 3D Artist based in the Netherlands with over six years of experience in the games industry. I've contributed to titles such as Call of Duty: Vanguard, Suicide Squad: Kill the Justice League, and KRAFTON's Black Budget. My focus has been on crafting high-quality props and weapons, and I especially enjoy collaborating with outsourced teams to bring projects to life.
I'll be giving a breakdown of my latest personal project, a R1155 Radio Receiver. The goal is to explain takeaways for each part of the process in a digestible way, and share resources used, so that you can go ahead and apply them to your work.
Goals for this Project
The main goal of this project was to expand my portfolio with a prop piece that wasn't a weapon, while also showcasing my updated approach to asset creation. I wanted to challenge myself by experimenting with new workflows and tools. I keep a list of techniques and software I'd like to explore in the near future, which ranges from tackling a full environment to diving into a more organic asset.
For this piece, I focused on testing Marmoset Toolbag 5's Bevel Shader as the source for my normal bakes. I intended to speed up the workflow and stay within Blender, rather than relying on ZBrush as I usually do. The idea here is to "skip" the high-poly phase completely by using my blockout in combination with the bevel shader as a high-poly mesh. This is how the Bevel Shader works.
Gathering References
I began the project by gathering references with the help of Google and PureRef. My goal was to collect images from all angles, along with close-up shots of materials and details that could inform the final asset. Since this prop dates back to World War II, the references varied in condition. Some were well-preserved, while others showed modifications, missing parts, or natural wear such as dust, grease, and surface breakups. I enjoy combining these unique characteristics to create a more visually compelling "hero" prop, rather than sticking to a single source.
One example is below, where Example A doesn't have a lot of material variation and doesn't really impress. In contrast, Example B features these metal plates, which add great variation and interest to the prop. This example also shows how screws, plates, and knobs all have slight imperfections and offset rotations. I made sure to add this to my blockout to get the most believable results.
For complex assets, such as weapons, I recommend breaking down references by component or material to stay organized. In this case, however, the general set of images provided enough coverage for me to get the job done.
For this older type of asset, I recommend looking at auction and other second-hand sites like Morphy Auctions and eBay. They came in quite useful this time.
I also highly advise giving Google Advanced Image Search a try, it helps by quickly filtering for high-resolution images. Quick tip showing a way of organizing a messy bunch of reference images. With my references in place, I moved on to blocking the asset in Blender.
Modeling
All modeling work was done in Blender. I began with the larger primary shapes, then gradually moved to secondary details like screws, insets, and so on. The main thing to get good first is object size and general composition.
When experimenting with the bevel shader, I iterated during the blockout stage to test what worked best in terms of part separation, bevel width, and overall mesh preparation.
One of the first issues I encountered was faceting on low-poly meshes. It affected the normal shading and made the beveling look artificial, while also potentially impacting baked outputs like curvature. I chose to pre-subdivide cylindrical and rounded parts. This was an easy step since the meshes could remain separate, and the bevel shader would later smooth them together as if they were connected.
This adjustment not only improved the normal shading but also had a noticeable effect on other baked maps, such as curvature and ambient occlusion. Taking the time to pre-subdivide specific parts provided a clear boost in overall asset quality.
Preparing the Game Ready Mesh
To bake the bevel-shaded mesh, I needed a game-ready model with valid UVs. For UVs, I worked in Blender with the UV Squares Addon (to quickly straighten islands) and UVPackmaster (to achieve tight and iterative packing). My goal was to keep the islands straight and packed well.
During blockout, I also assigned materials, which served two purposes: first, to act as masks in Substance 3D Painter, and second, to control bevel settings in Marmoset Toolbag. Each separate material allowed me to adjust the bevel width, samples, and placement individually.
And here's what the final high mesh looks like in combination with how the optimized mesh benefits from the normal bake done in Marmoset Toolbag.
Texturing
As with every stage, texturing begins with studying references. I always want a clear direction of where I’m taking the asset, so I carefully review my reference board and note the materials, markings, wear, and grease levels I want to capture.
Before diving into Substance 3D Painter, I'd also recommend checking out the excellent ArtStation Learning tutorials by Jason Ord and Rick Greeve. They've taught me many useful tricks that I still apply to this day. To ensure consistency between Substance 3D Painter and my final render engine, I start by matching the Substance 3D Painter viewport closer to the one from Marmoset Toolbag. For this project, I used a LUT created by Brian Leleux. Below is my full Display & Shading setup in Substance 3D Painter.
Settings such as Shadows, Anti-Aliasing, Specular Quality, and Bent Normals can affect performance. I usually work with Shadows and Bent Normals disabled and lower Specular Quality for smoother navigation.
This setup doesn't just improve visual fidelity in Substance 3D Painter, it also provides a much closer representation of how the textures will look inside Marmoset or Unreal Engine.
From there, I build my textures in the following layers:
1. Establish base values and materials.
2. Add decals (logos, text) that are part of the main object.
3. Layer variation with marks, wear, dirt, and dust.
4. Finish with an adjustment stack, typically a curvature overlay, sharpen filter, and roughness adjustment to refine contrast and surface response.
Once the textures were complete, I set up a Marmoset Toolbag scene to present the final asset.
Rendering This Asset
For presentation, I set up a clean Marmoset Toolbag scene. With props and weapons, I prefer minimal backdrops so the asset stands out, less is more. I rely heavily on HDRIs for lighting, as they provide dynamic color shifts, intensity variation, and realistic reflections. My go-to source for custom skies is Poly Haven, which offers a great range of free HDRIs.
Let's break it down:
1. Added a simple plane backdrop.
2. Only used skybox for lighting, with additional lights only when needed for highlights or rim effects.
3. Reduced render denoising (0.7 → 0.5) to preserve fine detail.
4. Increased Image Output samples & resolution for better results.
5. Narrowed the Field of View to 5° for a nearly orthographic look.
6. Applied light chromatic aberration for subtle lens realism.
7. Adjusted curves to boost highlights and deepen shadows.
8. Increased clarity and sharpening to make the final image pop.
9. Added a slight Vignette to focus attention on the subject.
10. Introduced fine film grain for subtle texture.
The result is a clean render where the subject takes center stage, shadows remain consistent, and the image has strong contrast and focus.
Conclusion
The bevel shader allowed me to cut down on software and achieve a quick high-poly. I'll definitely be incorporating it more often in future projects. I'm grateful to 80 Level for the opportunity to share this breakdown, and I hope these notes help others in their own workflows. If you'd like to provide feedback or ask questions, feel free to reach out through my ArtStation profile.
Next, I'll be working on a full environment. I've been feeling inspired to tackle something larger in scope. The biggest challenges I anticipate are managing scope and setting up compelling lighting, but I'm excited to push myself in those areas. I hope sharing this process helps other artists experiment with their workflows.