logo80lv
Articlesclick_arrow
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
profile_loginLogIn

Modeling a Realistic Panasonic RF-2200 Radio Using Maya and ZBrush

Cody Trenholm shared with us the detailed process of creating a 3D model of a used Panasonic RF-2200 radio, highlighting the techniques used for modeling, texturing, and rendering. He discussed tricks that help contribute to the storytelling of the prop and bring it to life. 

Introduction

Hello everyone! My name is Cody Trenholm, and I’m a Prop and Environment Artist from Colorado, United States. My journey to becoming a 3D Artist has been a winding one, to put it politely. In college, I was originally dead set on being a geologist. After two years of study, however, it was clear that geology wasn’t the route for me. I bounced around for a few years after that as I tried to figure out what to do, studying CAD, environmental architecture, and finally animation before deciding that I wanted to make game art. My childhood dream was to be the guy who made the maps for Halo, so when the opportunity presented itself, I decided to drop out of school and pursue a career in environment art.

I began my 3D education online at Computer Graphics Master Academy (CGMA), where I took a couple of classes over the course of a year. I encountered some really excellent instructors and people at CGMA, all of which encouraged me at a time when I was pretty lost with the whole CG experience. After my time at CGMA, I decided to enroll at Think Tank Training Centre, where I recently graduated with a diploma in Environment and Prop art for games. I met some truly wonderful friends and mentors at Think Tank, and my art grew a lot. Currently, I’m looking for my first role in the games industry. Enough about me, though. Let’s move on to the good stuff. 

About the Panasonic Radio RF-2200 Project 

I started this project with the non-specific idea of making an old radio to keep my texturing and modeling skills sharp. I chose the radio mostly because I love old technology. Tech pre-2008-ish has such a unique and distinctive look that, I think, is super fun to capture in 3D. Choosing a piece of old technology was also a great opportunity to inject some storytelling into my work, which I think is critical in any piece of prop or environment art.

I usually start collecting references on Google Images and Pinterest until I can drill down on exactly what I’m looking for. For this project, I wanted something complex but not crazy, with a 1970s to early 1990s look to it. Once I find an image that I like, I typically reverse image search it to see if I can find specifics on the prop in question, especially the name. This works 9/10 times. Once I have a name, I head over to the holy grail of reference image sites, Ebay. Type in the name and I almost always find something useful. 

In general, I like to break my reference search into two categories: modeling and texturing. For modeling, I look for images that showcase clearly how an item is assembled. I want to be able to see the overall sizes and proportions — how things fit together. In the second category, I look for images that clearly show the materials the object is made of or that show elements of storytelling/wear. Sometimes, you find images that overlap the two categories, which is awesome. What you don’t want are blurry images or images that don’t tell you anything about the object. I try to make sure that only images that inspire make it to the PureRef board. 

Modeling

I begin my modeling by blocking in the general proportions of the object. I work from big to small, establishing the main shapes before moving on to smaller and smaller details. At this stage, I typically keep my geometry pretty rough — the fewer edges you have, the easier things are to work with and change. I try to spend a lot of time here making sure the proportions feel good —  it sucks to find out something is the wrong size while you’re texturing. 

To build up a prop, the primary tools I use are bevels and booleans. When looking at a prop, it’s easy to become overwhelmed by perceived complexity. As you create more props, you’ll notice that complexity is usually derived from combining shapes that are, individually, simple. For my process, I model the base shape first, add bevels where needed to establish curvature, and then add booleans to develop the secondary shapes. While I’m working, I like to duplicate my boolean objects and work on them separately; that way, I have the originals if I ever need to go back and change something. It can get a little messy while you’re working, but in the end, it saves me a lot of time fixing things. N-gons are absolutely your friends here. 

Eventually, the prop will be at a point where I feel comfortable bringing it into ZBrush. This is a huge part of my process, so it’s worth elaborating a little bit here. First, I’d like to recommend two tutorials: Dylan Abernethy’s Typewriter tutorial and Simon Fuchs’ Military Radio tutorial. These tutorials show how you can use ZBrush to create great-looking, high-poly objects super efficiently. Rather than relying on typical sub-division workflows to create your high-poly, this workflow uses UVs, ZBrush polygroups, DynaMesh, and ZBrush polish tools to create high-poly models. It saves so much time by avoiding tedious sub-D modeling tasks and allows you to focus on the art. This workflow is a game changer, and I can’t recommend it highly enough. I don’t use it for every object, but it’s super useful for creating complex shapes.  

I have made a few changes to this process for my own workflow, however. First, in order for objects to load properly in ZBrush, you can’t have any n-gons in your model. Quads and tris only. Before importing to ZBrush, I recommend triangulating and then quadrangulating your mesh rather than simply triangulating it. The goal here is to avoid triangular faceting on curved surfaces. When using the polish tool in ZBrush, the algorithm perfectly smooths curves on quad surfaces but struggles with tris and sometimes leaves noticeable triangles. For the radio, this meant making sure all the curved areas on the buttons, switches, and main body were quads before taking it into ZBrush. On flat surfaces, tris are no problem. If you are experiencing issues at this step (like holes in ZBrush), it’s usually due to messy topology. It can be worth spending a little time here adding some manual edges to help with the triangulation and quadrangulation. 

Additionally, keep in mind that ZBrush requires closed geometry when using DynaMesh. If your mesh has holes, DynaMesh will fill them for you. This very rarely results in a desirable result. So before sending your mesh to ZBrush, make sure the mesh is closed. For me, this usually means modeling areas that might usually be hidden. The model doesn’t need to be elaborate since the area won’t be seen, but it does need to be closed. 

ZBrush is also a great place to add boolean elements that will be baked down in the final model. For the radio, I chose to boolean the colored pieces in ZBrush. In the hierarchy, I typically do this step last — after creating a base high-poly following the process outlined above. This is also a great time to add any large dents or damage to the model. When you’re satisfied, decimate the model and bring it back into Maya. Bam, high-poly complete.

With the high-poly finished, I returned to the original geometry that was brought into ZBrush and cleaned it up. This will be the low-poly mesh. Since we did our high-poly mostly in ZBrush, the low-poly creation process is usually pretty quick. 

Model wise, the most frustrating part of the radio for me was the strap. I wasn’t sure what the best way to approach it was, and in the end, the solution that I came up with was a little janky. First, I created a curve and shaped it approximately into a strap shape. Then, I used sweep mesh to extrude a rectangular profile along the curve to create the geometry. This gave me a good base. I then used a combination of rotating the curve control points and soft-selecting the geo to position it. The biggest issue was that rotating control points on one side of the curve changed the geometry on the other side, so it took a few frustrating hours to get everything to line up right. The strap is definitely a point to improve on for next time. 

Retopology

Since I still had the base model saved before the ZBrush step, retopology was pretty easy. Really, it was less retopology and more just cleaning up all the leftover n-gons from the modeling phase. The main goal for this project was quality, so I wasn’t as concerned with simplifying topology as I otherwise would be. I tried to keep needless loops to a minimum, but I didn’t optimize the cylindrical knobs and buttons as much as I normally would. I also made sure to delete the back faces that were previously prepared for the ZBrush mesh. 

For UVs, nothing fancy here. I used Maya’s basic UV editor. The biggest tip I have is to make sure to straighten your cylindrical UVs in order to reduce artifacting in your bakes and optimize your UV layout. You can do this manually in your software of choice, but I use the ‘rect UV’ script found within the Malcolm 3451 MegaPack for Maya to do it automatically. Highly recommend.  For this project, I also decided to split the radio into two UV sets (three sets counting the glass). This is purely for the sake of quality and, reflecting, I probably could have achieved 90% of the texture quality here with just a single UV set. 

Texturing

Texturing is quickly becoming my favorite part of the process when creating any prop, second only to seeing that nice clean bake for the first time. It’s been said a million times, but the first and most important thing to do when texturing is to study your references. Though it may seem random, all the textural details you see in your reference have their own internal logic and contribute to the storytelling of the item. Really scrutinizing your references is the best way to improve. When analyzing images, look beyond the ‘randomness’ and try to recognize the logic. Look for patterns in the placement of scratches and dust and how that informs the function of an object. Including these details is what makes a prop feel believable. 

In my opinion, the secret to texturing is in the layering of elements that are individually quite subtle. There is no one generator or texture that will get you all the way to a convincing prop texture. My personal process looks a little bit like this. First, I take a general pass on the object and make sure that everything has a base color and roughness associated with it. If there are any prominent height details that need to be in the texture, I like to handle that early on in the process. For the radio, this meant establishing the textured plastic pretty early on. The bumpy plastic, in this case, was created by layering and tiling two different versions of cell noise and sticking an anchor point on top for later reference. 

From here, I start building up the texture in layers, gradually adding roughness and color variation to the prop based on the reference. Something I learned while painting miniatures is to work the whole object. By this, I mean not to spend too much time obsessing over any one element. Work on one spot for a while, move it around, work on another spot, repeat. This helps to keep the whole prop in context and makes sure no individual part becomes dominant. There really is no right or wrong way to do this, but I think the key is patience. Observe your ref and try to deconstruct it. Then, try to verbalize what you’re seeing, breaking it down into individual layers. Then, try to implement those layers one at a time into your work. Joe Seabuhr has a great tutorial on the subject and an excellent mentality in general. Here’s an example of simple layers combining to form a complex final result on the front face of the radio.  

A couple of tricks that I like to use while texturing. First, I like to put a paint layer set to multiply at the top of my layer stacks. This allows me to non-destructively paint out details that I don’t like and give my props that personal touch to break up the generators. Additionally, I think it’s important to include hand-painted details in your process. I like to use projected alpha maps, many of which you can find online or create yourself. These hand-painted details add a lot to any prop — I used them on the back of the radio and on the knobs. 

Another good tip is, again, our good friend eBay. It can be a laborious process to match the font and spacing of text on props. Luckily, you can find fairly detailed images on eBay for many specific props like this radio. Obviously, these images aren’t intended for texturing, but with creative use of the wand select tool and perspective correction in Photoshop, you can often get some legible text and convert it to a black-and-white alpha to texture. Selecting the text through Photoshop isn’t as ‘clean’ as the Painter’s text tool, but I find these imperfections create a more compelling result in the end anyway. This technique is also a great way to get a workable base for stickers — I used it for the stickers on the back of this radio. With a little effort, a photoshopped image from eBay will give you a way more interesting and accurate texture than a purely manual method ever would. Plus, you can always refine the photo texture further in Painter. 

Finally, one thing I learned while making props is that nothing is ever a single color. Even if intuitively you think it should be one color, like black in the case of this radio, it isn’t. Or perhaps rephrased, it shouldn’t be for the purposes of texturing. Something I like to do for all my props is identify a base color, then add another layer on top that is purely color variation using the gradient filter and a texture map. These colors should be slight deviations in hue from your base. This subtle color variation, paired with roughness, will bring your props to life. Along similar lines, adding both an overall dirt pass and a dark-to-light color gradient near the end of the texturing phase can add a lot. I used both on the radio, and I think they help tie everything together. 

Rendering & Lighting

Rendering and presentation are always tricky, especially considering the disproportionate influence it has on a project. You could have the greatest asset ever, rendered badly, and have a ruined project. For rendering props in Marmoset, I’ve grown to appreciate simplicity. I try to stick with a neutral background, a neutral studio lighting setup for my skylight, and a few extra directional lights to pick out details. I think there’s a tendency for people to overlight their renders, which I try to avoid. 

Unreal is a completely different story. Recently, for props, I’ve tried to use Marmoset as the isolated prop showcase and Unreal to showcase the prop in a relevant environment and tell a little story. For the radio, I wanted to do something outside with a dreamy, summer afternoon kind of atmosphere. Like a hiker had gone out for the afternoon with their radio. I also thought it was important to make the radio the focus, not the surroundings. 

To this end, I started off with the idea of building my own scene using Megascans trees and assets. I knew I wanted a tree and a large vista background, but I quickly discovered that the ‘effort’ to ‘blurred background’ ratio was way too high to warrant the time I was spending on it. So, I went back and tried to find a premade scene that I could add to. I found the Old West Learning scene and it was perfect. Most of it wasn’t what I was looking for, but it had a solid backdrop that I could add to. So I took the scene, found a nice backdrop area, added some Megascan trees and apples, created my own lighting setup, and added a few custom background props and effects. Keeping in mind that my radio should be the focus, I created two small vignette scenes within the larger environment and called it good. My guiding principle here was that any other assets I made or used should enhance the radio, not distract from it. 

Summary

In total, this project took me about 4 weeks to complete. I started it in December 2023 and only recently picked it back up in September. It was a fun project to work on, and I’m happy to have it out there. The most challenging part for me was definitely rendering in Unreal, which took me about a week alone. I had this vision in my head, and I was pretty dead set on getting something similar in UE. Finding the right setup for everything and making test renders took quite some time, and I had to take a brief break from it and come back with fresh eyes. I am happy with it, though, and I’m glad I took the time to refine it.

If I had any advice for 3D artists who want to create realistic props, it would be to really push yourself in the texturing phase. One of my old mentors told me that a model lives and dies on the textures, and I completely agree. A bad model can be made beautiful with a good texture, but a bad texture can sink even the most finely crafted model. It’s easy to get overwhelmed while texturing, but if you can break your references down and clearly articulate what you’re seeing, I think you will improve a lot. If you can understand artistically what you’re looking at, then it’s just a matter of experimentation and tackling each element one at a time. And always keep the story in mind! Make sure your work is intentional and considerate, and you’ll grow quickly.

And, of course, share your art! No one grows in a vacuum, and there are so many wonderful communities out there to receive feedback from fellow artists. Don’t be afraid to share!

Huge thank you to 80 Level for the opportunity to discuss this project. If you have any questions for me, feel free to reach me on ArtStation or LinkedInThanks for reading! 

Cody Trenholm, Environment & Prop Artist

Interview conducted by Amber Rutherford

Join discussion

Comments 1

  • Anonymous user

    Super insightful!

    0

    Anonymous user

    ·18 hours ago·

You might also like

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