Click Here to view all the amazing entries to Rookie Awards 2024
Beretta 92A1

Beretta 92A1

by Temppe on 28 Mar 2023 for Rookie Awards 2023

This is a game-ready model of the Beretta 92A1 pistol, made in Solidworks and 3ds Max.

9 660 2
Round of applause for our sponsors

This is a quick project I did to get back into hard surface modeling after a long time focusing on organic. I used Solidworks to do 90% of the modeling, with just a few simple bits'n'pieces modeled in Max.

About 10.500 triangles for the pistol, with 4K albedo, normal, ambient occlusion, roughness and metal.

Around 500 triangles for one bullet, with 512 textures (albedo, normal, ambient occlusion, roughness and metal).

Solidworks is an unusual choice for creating game models, but I'm used to the software from my Product Design undergrad degree years ago. I create a multi-body part file, so it's super important to keep the feature history well organised. I keep all of the features that pertain to one body together on the history and rename the last feature so each body is kept as one "block" on the history (apart from the fillets). As much as possible, I try to isolate the bodies so there are minimal cross-body dependencies, which makes it simpler to go back up the tree and change one body without affecting the bodies further down the history.

All the fillets come at the end of the tree, in the same order as the bodies. Again, I rename the last one for each body for convenience. I export the model with the fillets and that gives me the high poly. Then I suppress the fillets (and a few other small features here and there) and export again, giving me the base for the low poly model.

Being NURBS geometry, the model already has decent UVs when I import it in Max. Max can open native Solidworks files without plugins, and even has some support for editing NURBS surface UVs without converting to polygonal geometry.

Most of the work here is optimising the geometry, checking that there are no unwelded verteces and so on. Then I pack the UVs using a plugin and bring it to Substance Painter for texturing. The UV islands that are on the inside of the weapon have been scaled down to make better use of the UV space.

The texturing uses smart materials that are provided with Substance Painter, which are then heavily modified to imitate the reference photos. Most of the hand painting is to enhance the edge wear using custom brushes and projection painting. The main types of wear are chips, scratches and friction. They affect different parts of the weapon and I chose to exaggerate the wear in some areas to really make the weapon look well used, but also still in servicable condition.

Back in Max, I created a simple skeleton and some animations for actions such as firing, reloading etc. I had to make sure to account for all the possible states that the weapon could conceivably be in.

Comments (2)