Professional Services
Order outsourcing

Creating Fancy Vintage Cash Register in 3D

Kevin J. Coulman shared a breakdown of the golden 3D cash register he created with ZBrush, Maya, Substance 3D tools, and Unreal Engine 5.


Hello, my name is Kevin J. Coulman and I’m a 3D artist from New York. I originally studied illustration at Ringling College of Art and Design and made my way over to working in 3D. In this breakdown, I will explain the process I implemented in order to produce my register. I hope you find my approach useful to your own workflow!

The Cash Register Project

The project started as a hero asset for a barbershop environment piece. I was inspired by the real National Registers made in the early 1900s and built my scene from there. Since my subject is associated with a specific era and brand, I needed to really study what would and wouldn’t be found at the time. For example, the type of wood had to be appropriate and match my reference. Also, another challenge would be the decorative pieces. These parts required extra attention in order to be historically accurate. Research and reference collecting is probably the most important step in grounding your piece in reality. In order to keep track of all my references, I used the imageboard program called PureRef to store my images in an organized fashion. A lot of the photos came from antique websites and eBay.I was also fortunate to find my prop in a real-life barber shop in Brooklyn while I was visiting family!


The modeling of the register started with a rough free-hand base. Next, I looked up the dimensions of the real-life register, converted my units in Maya to fit, and then adjusted my base accordingly. The meshes were then brought into ZBrush to add damages and more ornate details. Marmoset Toolbag 4 was used for baking my high poly meshes. For the smaller decorative pieces, I followed my reference exactly and blocked it out to a tee.

Once I completed this process, the parts still needed to be modeled further so I ended up beveling and rounding the mesh. For the top part of the register labeled amount purchased, I found a font similar to the one that was used. I then went to Adobe Illustrator, vectorized it, and then extruded it in Maya. Overall the biggest challenge of this process was making sure the scale of the individual pieces was consistent, while also fitting together. An example of this was the slots where the buttons come out. They had to have the same amount of openings for the keys, while not being too wide. Once this was wrapped up it was on to the bake in Marmoset. I found tweaking the cages in the program quite effective. After getting the bake I was looking for I could then move on to getting topology right and then texturing.


For the register's topology, I started with a lower poly asset. I made sure to have my UVs in good shape before smoothing my meshes to make them easier to unwrap. For the wood direction, I made sure that the layout would make logical sense with direction and follow my reference. The last part but arguably the most important were the keys of the register. For these parts, I made one-sided circles to cover the tops of the keys and made them their own material. That way I could ensure a high-quality read for the numbers and have a high enough texel density.


Substance 3D Designer was used when texturing the asset. I used my photo references to match the, and brass textures and wood. The brass proved to be a bit trickier than I imagined. One had a subtle upraised texture which would up the roughness when compared to the other one. I learned that I had to lower the roughness on the bumpy one to make it consistent, though in reality, the materials had different roughness. Another challenge was that once I got the materials looking to my satisfaction, I took them in Substance 3D Painter to create further breakup in base color, roughness, etc.

To make my materials, I really depended on my photo reference to get accuracy. It was important to see where parts of the register would be more worn from use. In those areas that were worn, I made sure to add roughness to really sell it. For the small damaged parts like scratches, I painted them with the height maps in Substance 3D Painter. I also made two variations of the wood material: one varnished with a darker roughness value and base color and one unvarnished lighter in base color and roughness. I then would mask out areas where the varnish would come off to sell the treated oak’s authenticity. I also used generators to mask out where dust would gather on my prop.

Final Touches and Rendering

I chose Unreal Engine 5 for rendering because I knew I could really take advantage of the capabilities of Lumen. My full environment would also be rendered in the same way and I wanted consistency. Unreal really helped push the presentation of this project. I made use of both cameras, cine cameras, and some panning shots to reveal the register in a more interesting fashion. I also would take quick screenshots and then go over to Photoshop to tweak. I would use that as a reference for my color correction in the post effects. This helped elevate my lighting and contrast in the scene.


This project was an informative personal project I took on to push myself and helped me level up my ZBrush skills. I really believe your own projects benefit from putting in the extra detail work and suggest trying one detailed prop for yourself. Thank you 80 Level for this awesome opportunity and I hope there were useful tips taken away from my process that can help you break into the 3D space!

Kevin J. Coulman, 3D Environment Artist

Join discussion

Comments 0

    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