logo80lv
Articlesclick_arrow
Professional Services
Research
Talentsclick_arrow
Events
Workshops
Aboutclick_arrow
Order outsourcing
Advertiseplayer
profile_loginLogIn

A Step-by-Step Tutorial of Creating a Realistic SKS Model

Thomas "Pilgrim" Butters has navigated us through the creation of a 3D SKS model, from initial modeling to texturing and rendering, focusing on how exceptional metal surfaces and wood patterns were created in Substance 3D Painter.

Introduction

Hi, my name is Thomas Butters, and I’m the Lead Weapon & Prop artist at Facepunch Studios on Rust & s&box. I sort of “fell” into the 3D art world I find myself in now — originally, I wanted to be a police officer, but quickly realized it wasn’t for me on my induction day at college. I knew I loved the stories in the games I played and decided to try something with video games. I didnt know what though at the time.

The course I joined at a college in Manchester, UK, had a 3D modeling module, and I just fell in love with the whole process. I felt like I personally could best tell a story and narrative through the things I made. Left 4 Dead, Portal, Uncharted, and The Last of Us are huge inspirations to me in this regard. I started off as a character artist and just drifted into weapons and props where I am today.

I learned the skills I have today through a lot of dedicated hard work and failure — which is how it is today too. Early on in my journey, I would find artists I admired and quite literally copy their work privately, learn from it, and then apply that knowledge to my own artwork. I became good life-long friends with Dan Conroy through this process — grilling him and just soaking up all the knowledge I could. That, and forums like Polycount where I would post works-in-progress and gain invaluable feedback from the pros I looked up to.

It was hard to hear sometimes but necessary. But my journey is just like everyone else’s, ever-evolving and growing — constantly refining the process and myself, learning new things, and making improvements over time — seeing failure as a means to improve. 

I’ve been working at Facepunch for over 11 years now. So, there are a lot of projects/assets I’ve made before this from working on Garry’s Mod, creating the original Rust Character, and getting a Dota 2 ward in-game. Here are a few random images from early on to now (some of these are very old, sorry!):

About the SKS Project

There were no concepts for this project this time around, but I was given a general brief outline of what was desired by the project lead. So, I began my reference-gathering hunt. At times, it was very difficult to get the appropriate references that I needed. Because Google images have become quite bloated with nonsense, I used Bings AI search to see if that would help filter through all the rubbish.

It did a pretty great job, finding me quite high-resolution references of different parts that were on seemingly quite obscure websites and forums that I probably wouldn’t have come across otherwise. That, and having one in real life at the studio office was pretty awesome and useful for reference gathering — nothing really beats that. I also used ArtStation as inspiration.

I tend to separate out the references into individual parts, and then the board just bloats with random ref I find along the way. One of the biggest helps too was “playing” World of Guns on Steam. I highly recommend that to any budding weapon artist. It’s incredibly useful to understand how a gun works, operates, and how it’s put together. 

Modeling

Modeling was pretty straightforward. I used a combination of traditional subdivisional modeling techniques, combined with booleans in Blender. These two combined make for a really fast turnaround, especially when making complex shapes. For the sake of accuracy, I would actually prefer starting with the cylindrical shapes and forms, like the barrel of the SKS, because you don’t have to worry about depth from the side view with a cylindrical shape. As long as it matches the side view, it should match from any view.

So, it’s very easy to get the dimensions accurate from the barrel and build around that. If not that, I’ll start with the largest part of the gun which is typically the frame — this usually helps me get a general idea of the whole gun quite early on.

When I have my base mesh at a certain point, Ill start previewing it in Unity to see how it handles in Rust. For example, I’ll swap out a gun that’s closest to it or approximates the SKS and have a run around in a test environment. This helps me have a much better idea of what the gun will be like and if there are any changes needed, scale and proportionally speaking. It also enables the animator(s) to get a good grasp early on of what will be required of them and generally inspires/hypes the whole team.

One of the ways that really helped me get a better sense of the model, whilst modeling, was using a simple procedural shader setup in Blender to preview the layers of laminated wood that react to your adjustments. Here’s an example:

And even a tileable plywood texture using the same method:

The challenge was getting the proportions right, and by right, I mean not only physically correct but feeling correct in-game. Sometimes, some weapons are just way too thin in real life to look good. Have you ever held an AK47 in real life? They are WAY smaller and thinner than you’d expect if all you had to go off of was Call of Duty and the like. First-person views in games are incredibly misleading. So, you have to strike a balance between what is realistic and what feels good, and at times that can be challenging.

The metallic and wooded parts of the gun were pretty straightforward, nothing really exciting here honestly. I did most of the larger damage forms in ZBrush.

For the numbers on the stock, I carved it in by using PureRef with an image of a character, and set the opacity of Pureref low enough so I could see the sculpture and trace the numbers. I have a bunch of PureRef tips like this in an article on Twitter that I wrote, perhaps it’ll come in some use?

Any smaller details like stamped text on metal were done in Substance 3D Painter which Ill mention later. But I kept the gun to a maximum of 3 texture sets to keep the visuals consistent from stock to barrel. I split the gun up like this:

  1. Frame
  2. Receiver
  3. Barrel/Mag

If there were any parts that could fit into those categories, then I would do that. So, for the frame, I was able to have the trigger and trigger guard be part of the texture set, as it’s lower down and not as in view. It felt like it made sense to have those together:

Here you can see the complete 3 UV sets. What made this process a whole lot easier was using a top-tier add-on for Blender called UVPackmaster, which is just unrivaled. That, and then doing manual adjustments afterward really perfect them.

If you have hard-ops installed too, I fully recommend using a tool called "To_Shape v1.5" which converts a selection to a myriad of other basic shapes. This is honestly, from a production point of view, so incredibly useful as it allows me to iterate faster than I could have before, and helps make the smaller details that much quicker, especially if you’re booleaning a bunch of details too. 

Topology

Topology was pretty straightforward, I derived it from my subdivisional base mesh — removing edge loops and adjusting as I went along. It’s something I’ve seen articles written about on 80 Level before by other world-class artists and it just makes sense — it’s quick and accurate. Sometimes, if the mesh is complex and different enough from the midpoly, I’ll use Topogun which allows me to draw geometry on the mesh. 

Texturing

For the stock texturing, I used a similar method to the Blender setup, but used Substance 3D Painter and Marmoset Toolbag to bake it out as a mask to be used in Painter. It’s a similar approach to Dan Kenton's Revolver Texturing tutorial, but not as complex as the anchor points setup. I used the base/mid poly mesh of the frame, and unwrapped it, and then in Substance 3D Painter to create the mask. When using the stripes texture on a planar projection at 135 degrees, I was getting okay results. I realized if I nudged the 3D projection rotation setting by just 1 degree, I’d get far superior and desirable results.

I used the black as a mask and the white as a mask so that I could have alternating, at 90-degree rotation, wood patterns to create the different layering. You can use anisotropic noise with a warp filter to gain some nice wood directional detail that adds a lot. 

The damages, outside of ZBrush on the wood, were done with an anchor point setup that allowed me to paint in damaged detail quite nicely and easily. Similar to how I set up this damage anchor point system with the Military Flamethrower, I first start by creating:

  1. Fill the Layer with a black mask and paint adjustment — this is where you’ll paint any damage.
  2. An anchor point above the paint adjustment to be referenced later.
  3. A new Fill Layer with only the height channel. Add a fill to a black mask and reference the anchor point we just made. This allows us to properly control the height independently to paint adjustments and have all sorts of filters. Give the height some negative value, and a blur filter.
  4. Add a new anchor point above the stack for the height layer.
  5. Add a new Fill Layer that is responsible solely for color information and roughness values. Reference the height layer so the color and roughness are properly calculated.

The peeling varnish was a similar setup. But it was a little more involved than the above.

The goal for the metal was to portray a level of wear and greasiness. I knew that I got this right when I showed the first render above of the barrel to my wife and her first remark was, “greasy!”. It made me really happy because she’s not all that familiar with anything gun-related or game-dev. So, the fact that someone outside of the 3D world recognized that it looked greasy meant that I had nailed the look. My approach was a layered one. Building it up over time to create the believability of the worn metal and greasy look. That, and subtle layers of dust to help really sell it.

Stencils were the main driving force behind the scratchwork, that, and a mixture of hand painting for a more custom approach. I spent a lot of time here. It adds so much, so it makes the extra time refining things extra worth it.

The grease is just a single fill layer. The # code is 29271C, if anyone is interested! 

With the stamped Japanese character, it was the same anchor point setup as the damaged pass on the wood from above, with custom hand-painted scratch work.

The modeling of the iron sights was pretty straightforward — modeling the basic shapes out, layering multiple booleans, and then fixing the geometry to work with subdivision. The front post was then dynameshed in ZBrush with the main body of the iron sight. And the transition was smooth.

Rendering

Sometimes, rendering can be a real drag. When I’m finished with a weapon, the last thing I want to do is spend a lot of time setting up fancy render scenes. So, my approach is quite a simplistic one. It’s one I’ve detailed in this video using Marmoset Toolbag.

But the main things to consider are two things in my opinion: Camera FOV and DOF. Those two alone can make a world of difference. For these renders above, I actually didn’t have any lights outside that which is provided by the HDRI I was using, which came stock with Toolbag.

One of the reasons for this simple setup was that I wanted to recreate a reference gathering trip I went on with Facepunch to Leeds Royal Armouries, where we had weapons in a similar fashion (minus the glass stands) and the whole day really inspired me to do something similar, like an auction house/museum photography session or something of the kind but way simpler. I made no post-production changes after rendering, as it’s all in the Marmoset Toolbag. I did also have a go at rendering in Blender, which yielded some really nice results. 

Here is the composite node group setup. In retrospect, I think it’s worth putting the grain at the very end. 

Summary

Like with most art, make what you love. So with weapons, make those that you think are really cool. I make a lot of makeshift weaponry, so its hard to not contextualize my advice surrounding those kinds of weapons. But I would advise you to build up a weapon rendering inspiration folder somewhere and just catalog them to use on various weaponry that you make. Try to incorporate some aspects from them, even if it’s down to how the weapon is positioned to background props for your renders. There are always so many ways you can present a gun in a new way, so, dont be put off by using renders that are similar to others.

If there are aspects to a gun you really like, emphasize that in the render. Some of the most believable aspects of weapon art are the texture work — spending a lot of time in that area and building up the materials layer by layer — not relying on smart masks to do the heavy lifting, but in a lot of alpha projection work and custom hand-painted scratching.

Think of the story behind a weapon. Contextualize it in your mind because, in games, especially first-person games, the gun is the character. 

Thomas Butters, Lead Weapon & Prop Artist

Interview conducted by Theodore McKenzie

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