Course overview Course overview
Create portfolio-ready weapons and props
This course covers the fundamentals of creating weapons and props for games. In this course you will go through the entire creation process: from reference and initial concept to final model. You will learn to deliver creative and appealing models that are optimized for real-time game engines. The course will go over geometry, design, texturing, and rendering--all to create fully-realized weapons and props for your portfolio. (Lectures by Ethan Hiley)
Environment design WHAT YOU’LL LEARN
The more you know, the better.
Unleashing your creativity
Lectures by Ethan Hiley
Dylan has several years experience in creating AAA-quality Weapons for First Person games. Most recently, Dylan worked on Battlefield 1 and Battlefield V where he helped to ship both the Main Game and continued support for Expansion Packs and Live Services. Dylan emphasizes a focus on shape language and accuracy, eye-catching texture contrast, and highly optimized game-ready meshes.
Weapons and Props for Games Student gallery
winter TERM Registration
Nov 5, 2019 - Feb 1, 2019
Duard Mostert / Fall 2017
Ethan was great! Learned a ton! Couldn't have asked for more
Westley Lehman / Fall 2017
My instructor "Ethan Hiley" was nothing short of awesome he answered everything in great detail and helped me and my other class mates with anything we needed in a timely, detailed, and polite, manor.
Matt Mattice / Fall 2017
I learned a to. Of stuff through this course, Ethan is a great instructor!
Christopher Chen / Fall 2017
Ethan's style of teaching is phenomenal. I had a few doubts as to how I should proceed with my future projects, and Ethan's workflow gives me clarity and confidence on how to approach them.
Catarina Cruz / Fall 2017
All I can say is that Ethan was an awesome instructor, I feel like I learned a lot, and I very much enjoyed the lessons.
Companies that hire our students
Speak to an advisor
Need guidance or course recommendations? Let us help!
Show us your skills
Not sure if you have the skills, or are you proving you do? Show us.
Setting Weapons for Games
Interview with Cohen Brawley
My dream career is to be a Weapon Artist. I modeled my first weapon a year ago by watching a popular AKM tutorial. I have been hooked on 3D Modeling Weapons ever since. Growing up in Oklahoma in a ranching environment, as well as participating in shooting sports, has given me firsthand experience with firearms and how they operate. I feel this real-world experience and my interest in firearms assists me with 3D modeling weapons. When I first learned of CGMA’s “Weapons and Props for Games” course taught by Ethan Hiley, I knew it was the course I needed. Weapon 3D modeling is very specialized. To learn from the artist that models weapons in my favorite shooter games, is not something I ever thought possible. I ended up enrolling twice in Ethan’s Class because I wanted to perfect my skills. For the first class, I chose to model a Springfield XDM and the second class I chose to model a SCAR-H. Each Weapon provided its own unique challenges and learning opportunities.
I also enrolled in CGMA’s “UE4 Modular Environments” course taught by Clinton Crumpler, to learn the skills needed for creating Environments. I took this course at the same time as the “Weapons and Props for Games”. I’m a big fan of Military games, so I went for that type of theme. I wanted the scene to be centered around a crashed helicopter, with the feeling of uncertainty and Impending doom. Because the environment was so much fun to work on, the scene ended up growing into a much larger scale.
Weapons and Props for Games
CGMA’s “Weapons and Props for Games” course taught by Ethan Hiley is a six-week course. During the first week, we are given a list of weapons to choose from. After selecting the weapon to model, I began gathering reference images. Gathering reference images is a very important step before modeling a weapon. When gathering reference images of a weapon, I look for various side angles as well as a few diagrams of the disassembly. I also gather images of the weapon in natural lighting for referencing during the texturing stage later on in the course.
Springfield XDM Reference Board:
FN SCAR-H Reference Board:
Once I finish gathering all of the reference images I need, I begin creating a blueprint of the weapon in Photoshop.
I get measurements of the Weapon from multiple sites to make sure they are accurate. I’m careful not to use skewed images for my blueprint, as they could cause the weapon model to become skewed as well.
When working on the block out of the weapon, I use simple shapes to help get a good feeling of the proportion of the weapon. It allows for quick and easy changes if some proportions don’t feel right. The block out is a very important stage. It is as important as the foundation of a house. The block out model is somewhat like a sketch. You start a sketch with little details and simple shapes before you start to add a lot of details. Sketching with simple shapes allows you to make quick changes if something doesn’t look right. In comparison to a sketch, the block out wireframe isn’t optimized and can have quite a few edge loops. Just as a sketch may have unerased guidelines and marks. When modeling a weapon for an FPS, only modeling the parts that would be seen by the player are needed. There is no need to model the internals of the weapon unless they are going to be seen from an animation. Parts that would be animated to move on the weapon must always be separate from parts of the mesh.
After I have all of the proportions feeling right, I will then start adding the details that would be accounted for on the low-poly. Once I have all of those details finished, I duplicate the model and add it to a new layer group that I then call Highpoly. I then begin adding the support edges and elements to the model that will be needed when I Subdivide the mesh in ZBrush. Balancing 3ds Max and ZBrush is a pretty smooth workflow. Selecting the mesh and exporting it from 3ds Max into ZBrush to perform the tasks required and exporting it back into 3ds Max, is all that’s needed.
Before I start to UV Unwrap I always apply a UV Grid. The UV grid helps a lot when unwrapping because if something wasn’t unwrapped correctly the squares will look skewed. The numbers and letters also help show if the UV is flipped.
When it’s time to start unwrapping the UVs, I check around my model and look for areas that can share UVs. When I find a good candidate for sharing UVs I apply a Green Material to it and detach it from the mesh to save it for later mirroring. Don’t share UVs when text will be applied to the UV, or the text will be flipped. Be cautious of sharing too much because if there is one large unique scratch on one side of the weapon it will appear on the other side too since the UVs are sharing. I then start UV Unwrapping parts and pieces one by one. As I’m using 3ds Max I use a script called TexTools. TexTools is a very helpful script for 3ds Max users. When UV packing it’s always better to manually pack them by hand then to rely on a software to pack it. When I UV pack the UVs I always try to pack the UVs as tight as I can. I make sure I don’t pack them too tight, because when the weapon is in engine mipmapping will scale the textures down. If the UVs are too close, the Mipmapping can cause the UVs to bleed onto one another.
We used Substance Painter to texture our weapon and honestly, Substance Painter is probably one of my most favorite software out there. Simply because no other texturing software out there can compete with it! Naming the folders in Substance Painter and keeping them organized is very important. When texturing my weapons I always create properly named folders and organize them with the materials they will contain. Metals – Contain metal materials, Plastics – Contain plastic Materials and so on. Once I start texturing my weapon in Substance Painter I will create a folder called metal and I then will add a mask to the folder and select everything on the weapon that is metal. I then start adding different types of metal materials to help give it nice material breakups.
I do the same process for plastics and start applying materials until all of the elements on the weapon have a proper material type on it. When finished it will give the weapon the appearance as if it was in mint condition. I then start gathering reference images of the weapon in very poor condition and start adding the grime and wear while keeping a balance between too new or too worn. I then start adding other details like edgewear and dirt. I try not to rely on generators too much and if I ever do it’s for subtle details like light edgewear/dust. I use a lot of stencils to add paint chips, scuffs, and scratches. For areas that will have lots of harsh edgewear, I take the time to hand paint it rather using an edgewear generator.
Once I finish the main details I then add text and patterns onto the weapon using an alpha map I create in Photoshop. It’s always better to apply text and patterns in Substance Painter, and have the ability to tweak them, versus having text baked straight onto the weapon. Substance Painter and Marmosetrender quite differently so it can make it a bit difficult to match exactly what I’m seeing in Painter to Marmoset. At the end of texturing I will import the model and textures into marmoset and update the textures. Then I will tweak them in painter to yield to Marmosets Render.
I always consider the animation when I am modeling, baking and even texturing. I am always aware of the parts’ functionality and what will be exposed when that part moves from its current location to another.
Trying to get the right angle on the weapon can be very difficult. Not only are you wearing the boots of a 3D Artist, but also a photographer. What I do is look up photos of weapons being showcased, it helps me get good ideas of angles to take. When I take a screenshot, I save the Marmoset scene as SpringfieldXDM_Screenshot01, for example. That way if I need to retake the photo, the lighting and position are in the same location as when the screenshot was first taken. Ethan taught us a lot of these very helpful techniques throughout the course.
Here are my weapon projects on Artstation:
Ethan Hiley’s “Weapons and Props for Games” course really helped refine my skills in weapon modeling. Ethan is equally talented as an instructor, as he is a Weapon Artist. He has an unbelievable eye for detail, as well as the passion and knowledge to help you level up!
Designing Guns for Games: Tips & Tricks
Interview with Dario Juarez
Darío Juárez did a breakdown of his amazing 3d gun and shared some tricks he learned from Ethan Hiley during his course.
Hi, my name is Darío Juárez and I’m currently working as a concept artist in an outsourcing studio in Monterrey, México, but for a few years now I’ve been practicing 3d modeling during my free time, this learning process has been mostly self-taught. I recently took a course at CGMA with Ethan Hilley called “weapons and props for games”, I really enjoyed learning each process of this course, and rather than only learning technical instructions, I had the opportunity to test myself, start doing good stuff and take my 3d skills to the next level.
For this course I decided to make a MP5K gun, because I liked its design and also because at the beginning I thought it would be easier to accomplish (but at the end it wasn’t the case). The software I used were Maya, Zbrush, Marmoset Toolbag and Substance Painter to achieve the final look of the gun. I felt very comfortable with the workflow Ethan taught us and I’m glad to share a little bit of what I learned from this course.
My first task started by gathering a lot of references from many sources, including google searches and youtube videos to check the gun’s functionality, this process assures each detail of the gun has a clear view. It’s very important to take enough time in this process to make the next steps much easier.
It’s very useful to learn basic anatomy of a gun to make more specific searches, this makes it more efficient. For example, it’s not the same to search -MP5K gun- than -mp5k threaded flash, the results won’t be as useful, so being more specific makes it easier.
Once I have enough references, I can start with a block-out mesh in Maya, always having the reference board handy and working with very basic shapes. This block-out can have several purposes, the first one is to get a general view of the form and scale of the weapon and also to be able to fix some proportion errors quickly, and the second is to give animators a fast model which they can use to start testing a rough animation.
After the block-out mesh, I prepare the mesh to start working the high poly model. As it’s not so necessary to be clean in this process before going to zbrush I use a lot of booleans, but finally it depends on you to decide the best way to resolve the model. Your own modeling style is decided here, so that’s why I like this process a lot, and also it’s about becoming efficient at the moment of solving the mesh.
Once I have the shape clear, the next step is getting into Zbrush.
As we don’t want the gun to have perfectly hard edges but a subtle and nice smooth surface I used zbrush to do that in an simple way. There is a huge set of tools that helps the model look amazing using smoothing in Zbrush. I used the dynamesh tool to provide a nice and uniform smooth to the surface model.
A quick explanation of the process would be:
>Dynamesh>resolutionx900(This can change)>Dynamesh
I have to say that this process is not necessary for all pieces of the model, for example the bolts, those can be smoothed in Maya and that’s enough.
For the low poly I have already solved almost everything, so I can recycle the Maya model, it’s just to simplify some pieces and redo other ones.
What we have to keep in mind about working in the low poly is the player’s view. It’s true that the new console generations allow a higher polycount, although we have to be aware about the correct distribution of the mesh density. That means that as the part of the back sight is the nearest piece to the player’s view, we have to be careful with how this area looks.
Ethan recommended us to use night shade uv editors for Maya, this plugin is simple and brings the facility to control texel density. This is very important because 4K textures still demand many engine game resources, the maximum resolution used for textures is about 2048X2048, and it’s essential to take advantage of all the space available on our texture editor.
Marmoset Toolbag 3 has an awesome baking tool that makes this process really simple. All you need to do is to pay attention to the correct nomenclature of each piece of both, low and high poly.
Using the extension “low” and “high” for the key pieces, the software will recognize and arrange both models. The better you organize your model, the better is its performance. But, this can be better explained in this article.
After I have the model organized, I can bake all the maps needed, for this case I did the Normal Map, AO and Vector color.
These are the kind of details that are better to solve directly on substance painter rather than solving with geometry, because it has a non-destructive layer system, which allows me to add a high frequency detail just with a simple height layer, and it can be edited as much as needed.
A good point to take in mind is to contrast materials. At the beginning, I made all materials shiny and with similar colors because I thought it looked awesome but that’s not always the best way to solve it.
One important lesson I learned during the course was to be subtle, it’s easy to over-detail our model with unnecessary textures and lose the focal point, so it’s not necessary to make all the hard edges clear. To control this, I take a look at several references and try to guess how the time or the use has damaged this gun, because by the texture you can guess what has happened to the object and tell a story through it.
For rendering I used Marmoset Toolbag, and once I have all textures exported from Substance Painter I just need to set the materials in marmoset and drag the textures to the correct box of the material’s module.
Sometimes normal maps look weird, but they can be fixed by selecting “flip Y” in Normal box
By default, Marmoset lighting looks good but it would look better by adding few “child-lights”. I don’t use more than 3, and normally it’s to establish a nice rim light, using an opposite color of the general temperature of the scene. But carefully, over exposing the light could make the model lose information.
An easy way to correct exposure of our render is by using the Main Camera module: color>Tone Mapping>Filmic, this fixes any overexposure issues. Additionally, in the same module I like to add some Sharpness. This makes it look better.
Finally, in the render setup I check all the lighting options boxes, but be careful because checking all this marks could demand a high performance on the system. Now it’s time to take some nice captures and upload it to Artstation directly from Marmoset.
About post-process, I don’t like to add any effects like smoke, fire, glow or chromatic aberration, I don’t think it’s wrong, it’s more of a personal preference. My main goal is to show a clear model and post processing could be a distraction.
Darío Juárez – Concept artist and 3D enthusiastic.
Building Weapons And Props for Games
Interview with Matt Mattice
Hello, my name is Matt Mattice. I am a 3D artist from Rancho Murieta, CA currently looking for work in the video game industry. I have a Bachelor’s Degree in Computer Animation and Game Development from California State University, Chico. During my time at Chico, I learned many aspects of game design, but found that I had a strong passion for 3D modeling, and texturing. I began modeling guns in my Senior year and discovered that with each gun that I created, I faced different challenges, which kept me coming back for more. After graduating I continued to work on guns and eventually found out about “Weapons and Props for Games” taught by Ethan Hiley on CG Master Academy. I quickly signed up for the class, because I really wanted to explore AAA weapon development.
“Weapons and Props for Games” is a six-week course that consists of video lectures, Live Q+A sessions, and personalized feedback videos on homework that is turned in every week. Within the six week schedule (shown below), my project, the SIG MPX with an Aimpoint Micro attachment, went from basic blocked out shapes to a fully finished game-ready weapon, and attachment.
Week 1: Gather Reference. Begin Blockout.
Week 2: Create Aimpoint Micro + Finish Blockout (SIG MPX and Aimpoint Micro)
Week 3: Start creating the High Poly.
Week 4: Finish High Poly, and Create Low Poly (Sig MPX, and Aimpoint Micro).
Week 5: UV + pack with care.
Week 6: Bake, Texture, and Render.
Ethan gave us choices of weapons and attachments that we could model for the class, so I chose the SIG MPX, and the Aimpoint Micro. I chose the Aimpoint Micro for the SIG MPX because in many of the images that I had seen online of the SIG MPX, it often had a smaller scope or red dot sight, so the Aimpoint Micro just seemed like the best choice considering its size and the size of the SIG MPX.
With this project, I really wanted to try utilizing ZBrush while modeling the high poly. Before the class, I had read a polycount forum page that talked about using Dynamesh “boolean operations” inside of Zbrush, along with the “polish” feature to generate really clean hard surface high poly meshes. I had tried to replicate the process a few times without any luck. Needless to say, I was really excited when Ethan had mentioned using this method in the class, and I was finally able to learn how to use that workflow properly. Using the Dynamesh and Polish workflow saves so much time when creating a high poly object.
I also wanted to learn more about Ethan’s texturing process. Ethan tends to texture his guns very meticulously, finding reference images of the real weapon, and duplicating grease spots, stains, worn metal areas, making them seem real. By replicating his process, I was able to achieve what I would consider a successful final texture for my SIG MPX and Aimpoint Micro.
For the CGMA course the modeling workflow was as follows:
Create a blockout of the object. This blockout doesn’t necessarily mean creating basic polygon primitives and throw them together to form a gun. It was more of what I would consider an almost-low poly model, except your geometry doesn’t necessarily need to be clean, and it doesn’t need to be UV’d. If a blockout is done successfully, the “low poly” phase of the project should be very quick. Ethan explained to the class that getting a blockout done for a game like Call of Duty (or other First Person Shooters) is important so that it can be thrown into earlier stages of the game to see how it will appear and to make sure that the proportions are looking good. The blockout phase was completed in Maya.
Create a High Poly object. The blockout can also help guide your high poly if done well enough. Everything in the high poly model should be subdivided, and there should be no pinching. I used a combination of Zbrush, and Maya to achieve my high poly. The dynamesh boolean method in Zbrush really helps to alleviate pinching that occurs often when pushing polygons in a standard modeling package. Using Zbrush to create high poly geometry is much faster than tweaking vertices or using Boolean operations in Maya, and this really helped to speed up the modeling process. It is also important that your high poly model has soft edges. Although soft edges on a hard surface object are not necessarily realistic, they certainly help make everything look good in the baking process.
Create the Low Poly Model. As mentioned previously, if done well enough, the blockout model will serve as a decent low poly model. My blocked out SIG MPX had a few areas where the geometry was a bit messy, so I went through and cleaned everything up. I also added things to my low poly that I may have forgotten to put into the blocked out SIG MPX, but had included in the high poly. I was paying close attention to the high poly model during this process, noting the detail that the normal map could capture, and taking out unnecessary geometry, as well as making sure the low poly geometry lined up with the shape and form of the high poly.
After the creation of the low poly, the UV’ing process begins. Ethan showed us this great plugin for Maya called Nightshade UV Editor. Nightshade UV editor functions very similar to Maya’s default UV editor, but it comes with more tools that make it easier to perform tasks that would otherwise be difficult or tedious, such as: stacking UV shells or snapping UV points to other UV points. Ethan also showed us how important it was to stack UV shells. By stacking mirroring UV shells, you can fit more in the 0-1 space, and ultimately get more out of your textures.
After creating UV’s, it was time to start baking. I baked everything (Aimpoint Micro, Iron Sights, Glass) except for the SIG MPX inside of Marmoset Toolbag 3. I had to use Substance Painter’s baker when I encountered some problems with the cage that MT3 generated for me on the part of the upper receiver that has diagonally cut holes for ventilation. I would have preferred to bake the entire project in MT3, because you have a lot of control over individual cages that are generated within the program, and it is a fast baker.
I approached the texturing on the SIG MPX much like I do with my other projects: one piece of the model at a time. I try to stay as organized as possible when working in Substance Painter, because it is easy to pile on the layers and get lost in your own project, just experimenting and seeing what might look good on the model. I usually start by creating folders for each part of the model. For example, I have folders for the upper receiver, lower receiver, magazine, pistol grip, etc. Since I separate everything out into different folders, my layer stack becomes very large, but as long as everything is labeled properly it is easy to find something if I need to go back.
Most of the SIG MPX is a metal material that I created inside of Substance Painter and turned it into a Smart Material so that I could use it later in the project. This smart material consists of three layers of different procedural noises, and varying roughness values to create what is supposed to look like a gritty/bumpy black metal that is seen on a lot of guns.
The plastic that appears on the magazine of the SIG MPX is supposed to be a polymer that is also commonly seen in guns. It has a bit of procedural white noise in the height channel, to give it a “bumpy” look, and the roughness was adjusted so that it wasn’t too shiny.
For the pistol grip and stock materials, I started with a base color that was close to a dark gray. After that, I created three roughness layers in which I used a procedural noise in the roughness channel. Each layer’s roughness channels “opacity” in the layer stack was adjusted so that the material had a nice blend of scratches, and wear and tear, but most importantly, it looked like the weapon had been handled.
The approach that I took to creating the rubber material is usually how I go about creating a material inside of Substance Painter. I just start throwing procedurals in different channels, lower opacities and find something that gives me a good result.
For the logos and all of the text on the gun, Ethan recommended that we create decal sheets in Photoshop. I obtained various logos and text by either Googling for logos or images, tracing and remaking logos, and retyping text with a font that looked similar to that which is on the real weapon. All of this was done on a few square images (2048×2048) with black backgrounds and imported into Substance Painter as alphas. Once imported, I was able to use the stencil tool to paint various text and logos onto the SIG MPX. On any text that had height information, I added a blur filter to the layer so that the text didn’t look like it was stamped so harshly into the material.
Creating textures for weapons is pretty similar to creating textures for other props. Since this class focused on creating a gun and attachment that would be seen in a first-person shooter, extra care went into making sure that the textures looked authentic to the real weapon and attachment. By looking at multiple reference images, I was able to see grease patterns or scratch patterns that occur on most SIG MPX’s and Aimpoint Micro’s and recreate those patterns in Substance Painter. Ethan suggested that it may also be beneficial to look at images of other (similar) weapons with similar metal materials. While looking at these other weapons, I noticed another common thing that occurs with most heavily used weapons: a lightening in color of the metal around the edges. In summary, use reference images!
All of the rendering for this project took place in Marmoset Toolbag 3. When it comes to rendering, I used tips that Tim Bergholz gives in his “Ultimate Hardsurface Weapon Tutorial”, without giving too much of the tutorial away, he likes to find real images of the weapons and recreate them. When creating what I would consider my best render, I found an image online to replicate. I had to adjust the “field of view” of the camera to make the SIG MPX look flattened, almost like an orthographic view. After adjusting the camera settings, I added “sky lights” in the scene by clicking inside of the panorama background image. With each of these lights, you can adjust brightness settings, as well as turning shadows on or off. After experimenting, I rendered the SIG MPX with transparency checked and threw it into Photoshop to add a background similar to what the original image had.
For the rest of the renders, I just moved the SIG MPX around, hiding and unhiding the Aimpoint Micro, and the iron sights to achieve shots of multiple angles of the weapon and prop, in multiple usable “modes” as if it were in a first-person shooter (i.e. sights down or up, Aimpoint Micro attached or detached). Each of these renders was also taken with transparency checked, thrown into Photoshop, and given a dark shadowy silhouette to help show the shape of the object. Finally, a black to gray gradient background was given to each render. The post-processing ideas for these renders came from Ethan Hiley’s weapon renders. Most of his renders have the shadow around the weapon, and I really liked the look of the final products, so I did my best to recreate them.
After completing the intense six-week course “Weapons and Props for Games” taught by Ethan Hiley, I can easily say that I have learned quite a few new techniques that I will continue to use in future projects. I would highly recommend this class to anyone that wants to learn more about AAA weapon development. The final triangle count, as well as the maps generated for the SIG MPX are as follows:
- SIG MPX: 20,422
- Flip Up Sights: 1,842
- Aimpoint Micro: 3,456
- SIG MPX: 1X2048
- Flip Up Sights: 1×1024
- Aimpoint Micro: 1×1024
- AM Glass- 1×256
Gun Production with ZBrush & Substance Painter
Interview with Mauricio Llano
Mauricio Llano shared the pipeline of his gun production within CGMA course Weapons and Props for Games lectured by Ethan Hiley. Sofware used: ZBrush, Substance Painter, Toolbag.
Hi, my name is Mauricio Llano, I am a 3D game artist looking for a job in the industry. I’ve done two internships, one with Lee Lanier for animation and VFX and the second in the amazing outsource company CGBot. The latter is where I fell in love with doing art for games. The pipeline and challenges just resonated with me instantly.
I’m also an avid reader of 80.lv, probably for almost two years now. I read it even before graduating when I self-learned Substance. 80.lv is the best place to learn! Here I also found out about CGMA. I decided to take a course, and at first, I wanted to go for environment art. But then I realized that I needed to polish my skills on single assets first and found Weapons and Props with Ethan Hiley the best option. If anyone of you is thinking of taking any course, feel confident that it is worth it. What you learn is a real deal and you learn amazing tricks from industry professionals.
I think what makes the guns look different, even if they start with the same model is what references you use and also a bit of personal taste. Here’s why the instructor points out that it’s very important to find the right reference. Also, something I’ve learned during my internship is that you are not always going to find the references with all the views (Front, side, etc). So, you have to learn to feel depth and width with minimal reference.
I like to get a ton of reference before starting modeling, especially getting high res shots for side and perspective as those are the main ones you use to model 80% of the actual gun. I also like to get the shots of the parts not everyone is familiar with. Especially from not so common angles like the underneath or the exposed barrel when the slide is pulled back. Another tip is to search on YouTube (for photos use Google, Pinterest, or sites where they sell what you are modeling), even if the video isn’t 4K you will get a good understanding on how it actually works. It also helps a lot when nailing the width and overall feel.
*Main reference board, note that not all are the exact same model but still share a lot in common. PureRef.
Like I’ve said before, getting references is crucial, make sure you get all levels of detail. Sometimes you can forget about the overall shape and focus on challenging micro details. But you must remember that in the end the player will care more about the silhouette and those details are only the cherry on the cake.
I personally import only high res side shots and perspective shots. It’s almost impossible to match perfectly similar photos (left side and right side, for example) so don’t get too attached.
For the blockout the single most important thing is the silhouette from all angles. This includes width, primary and secondary shapes and also understanding how it will be animated.
*First blockout. You can see the gun is overall too thick and seems too clunky.
In my opinion, the process of modeling should be done in whatever way you feel more comfortable with. For example, I like to combine poly modeling and box modeling. I use boxes, cut them in half and use an instance to see the volume results without having to mirror anything manually.
We all make mistakes, and I made one in the blockout. I went in and modeled the sections from inside the slide and that took a lot of time that should’ve been used more efficiently. Still, don’t be afraid to try new things, because we learn from mistakes and become better!
I also unsuccessfully tried to use Boolean shapes inside Maya. I either love or hate it, so in the end, I just went with traditional cutting and pulling verts to achieve what I wanted.
*Boolean went wrong. Never forget to do them on closed geometry!
*Week 2 entry. Here the blockout is almost final.
*Old high poly. Loops weren’t well placed and it took too much time to create bevels without creating pinching.
Here’s where the class really opened my eyes. Normally, I make a high poly entirely inside ZBrush, but this was my first hard surface item and this is where I made my biggest mistake. Since I was too afraid to try ZBrush out, I relied on traditional edge loops and Maya’s smoothing preview to see how the high poly would look like. However, as the blockout was built with a lot of details like grooves on the slide, etc. they messed up my topology. Another mistake during the blockout was that I tried to save on tri-count. You can imagine the nightmare when I tried to fix the loops.
So, it’s here where I took the decision to re-do everything taking close note of the instructor’s workflow this time. That’s where DynaMesh and Booleans saved the day. I built simple geometry and subtracted / added them to create complex pieces. I also liked that in ZBrush you can easily polish or round up the edges, so can achieve even edge thickness without much difficulty like manually adding loops. Make your edges smoother than the real-life counterpart so your normal map doesn’t look too sharp.
*New high poly for the slide was built using simple shapes and subtracting them inside ZBrush. The blockout was used as a guideline to make sure proportions where on point. Also, the blockout will help to do the low poly later.
*Finished and decimated result from ZBrush. Note that not all of the high poly was done this way. Simple assets like the bullet, pins, etc. were built with loops and traditional turbo smooth.
*Mistakes from the booleans. They are easy to fix: modify the geo that’s been used for the boolean operation inside Maya then re-do the operation inside ZBrush.
*Finished clean and decimated high poly.
*Finished low poly with UVs. Using a 2K checker. Avoid stretching if you can. A minimal amount for non-vital parts is allowed, like the magazine which will only be seen for a short period of time.
A neat trick here is to always begin with the biggest pieces first. Nightshade UV Editor is quite good and you should definitely try it out. It will speed up your workflow and also has a lot of tools easier compared to Maya’s default editor. As for the actual process, I use planar mapping almost entirely even with organic models.
For this specific gun, I first did a planar to the entire model, then started with big pieces, putting them into another quadrant rather than the main so I didn’t clutter the grid each time I did a new planar operation. I just kept doing this process until 80%-90% of the pieces were done. Then I start laying out the biggest pieces and finishing unwrapping the little ones. At this point, Ethan did tell me that some pieces wouldn’t ever be seen so I just deleted them. As artists, we must try to get the best texel density and be as consistent as possible. The only places where you can get away with lower density are inside pieces that would only be visible for a fraction of a second.
*UVs of the gun. Pink / Purple pieces are stacked UVs. Be sure to check if the baking program you are using requires you to move stacked shells to other quadrants.
As you can imagine stacking UVs is crucial and here you can take the advantage of the gun’s symmetry. For my XDM model, I stacked the handle and almost all the magazine since it is not visible for a long period of time. On the other hand, if it is a First Person Shooter do not mirror UVs that are going to be directly in front of the player’s face like the sights or back of the gun.
For texturing Substance Painter is an amazing tool. I still recommend Marmoset Toolbag 3 for baking as it has the skew paint tool and it’s fast. Just remember to do your baking groups correctly or you will have projection errors. And finally when you do the AO baking make sure that moving parts are not baked with non-moving. For example, the slide and the barrel.
Now for the texturing inside Substance Painter, it’s important that you start with the material definition and hitting the Metallic and Roughness values first (or Spec / Gloss) because sometimes the albedo can distract you. Using simple fill layers you should be able to recreate the material. Here’s where the references with different lighting conditions will tell you how the material reacts to light. Also, remember to change the default parameters if you are using presets. It’s easy to tell when an artist leaves the settings by default.
*Normal map and AO baked inside Marmoset Toolbag 3.
*Baked Curvature. Note that some errors are visible. I erased them by hand, this also breaks the procedural nature of the smart masks and the “all along the edge grunge” effect.
I tried to find the user’s manual of the real gun to understand the materials and watched a lot of videos to get a grasp on how they would wear down. I went for a well-treated but not brand-new look. Ethan also taught us to use textures, lay them on top to get an uneven surface that looks more interesting.
*Deep look into my texturing layers. Note all the fill layers with masks applied. Think of how the real thing is made and used. I personally use both additive and subtractive workflow.
*Simple primary variation of the roughness. You can see all the paint layers and adjustments that I do by hand.
*Height Details are kept at the bottom of the stack.
I like to work in Designer for tiling textures and that’s where I learned from amazing Josh Lynch to work first on Roughness. As with PBR, this will sell your material work. Painter, on the other hand, is superb for doing assets like the gun. You have a ton of control over the whole process. What I like to do is to use fill layers, masks and paint layers inside those masks. This way I can add or subtract details. You can do this a lot with the smart masks so they don’t look procedural.
*Materials should look real under different lighting conditions.
A small tip that sometimes can help is to change your 3D view / environment. The asset doesn’t have to look appealing in different environments but it should look physically correct if you are working with PBR shaders. Also as Ethan pointed out during the course, be sure to invest in high-quality textures. For example, a good photo scan of scratches like this can save your life! And they also help to add subtle changes to roughness.
For details, namely emblems, we used Photoshop to create a b&w sheet that you can bring into Painter and use as a mask. Again, the use of fill layers is something I personally use every time.
The text was created the same way. But for some emblems, I used Illustrator as it has some neat auto roundness options for corners. At this point, I noticed that some of the emblems were too detailed for the texel density I had and it made the projections look pixelated. A pro tip here is to add Blur filter to that layer so that it balances out the edges.
*Blur applied to the graving. I do this to all the projected details to blend them with the surface better.
*Stencil used for the gun.
*High poly with all the pieces that can be animated separately
Of course, it depends on the project whether you need to think about animation or not. When it comes to animation, here’s where remembering those details like making the slide snap where it should, the magazine actually fitting or not baking AO where moving parts meet is crucial. If you are working on a game, make sure to get the asset into the engine ASAP to save the time and compare the piece to other assets. Finally make sure the animator, rigger and game programmer are on the same page, and all the moving pieces are included. It takes some time to set the gun up, and if it turns out that the process has to be re-done it’ll be quite unpleasant for everyone.
For the rendering and presentation, I again like to look for references and inspiration. I collect ArtStation works that I love and analyze them looking for patterns and good compositions. For example, I get inspired by artists like Alex Khaliman and Stefan Engdahl.
I went on making a small scene where I could showcase the model with all its abilities. That’s why I had one gun with the slide locked back, one magazine with bullets outside and the other gun without the Docter sight attached. The most challenging part is to create a composition and make the ground plane go along with the asset without drawing attention from it.
The lighting reference is key. The mood I went fro was neutral and realistic. I used a combination of subtle warm and cold lights. Another thing that sells gun photos is the use of backlights or rim lights shining at the corners or edges. This way you can give a sense of volume through light and show off your work with the low poly + normal map.
I must admit that this process is probably as long as making the asset itself. I did around 3-4 scenes before the final one. By the way, when using Marmoset or any other package take advantage of animating the lights and cameras. Thus you can take several approaches without having to CTRL+Z all the time plus it saves you from accidentally moving the camera.
*Evolution of the Scene shot, left to right.
*Simple lighting. Side shot.
*Lighting for the Thumbnail image.
*You can see the cameras for each shot here.
When thinking about taking a CGMA course, first I wasn’t sure, to be honest. I saw that they had amazing instructors but I hesitated. Now I can tell you that it is well worth it. A lot of people say that any kind of knowledge can be acquired from online research alone. It is partially true, you can totally go that road. However, the time it will take you is huge and also you may find misinformation. Here at CGMA you are being taught real-life workflows, techniques and, – most importantly, – you have a chance to ask industry experts and get feedback from them. This alone will get your quality and speed up.
Finally, if you think that you already know the stuff that’s covered during the course, you should still consider signing up. There are always a few little tricks you can learn, and your quality will go up because the instructor will push you further.
Modeling a Gun With ZBrush, Maya and Toolbag
Interview with Sahir Irfan
Hey everyone, my name is Sahir Irfan. I’m an Environment Artist currently working at Northrop Grumman under the title of a Multimedia Designer, supporting different projects with 3D environments, vehicles, and equipment. Prior to this, I worked as a QA for ArtTools at NetherRealm Studios for Injustice 2. In between, I did some freelance environment art for a VR defense company and a Kickstarter game called Epitasis. I took the Vegetation and Plants for Games course and had a great time making a forest scene in an amazing learning environment. I was getting feedback from Josh Dina on the project, and he pointed out that a way for me to break out more is to create weapons. Thus, when I saw that Ethan Hiley was teaching a class, I knew that I would be getting the best learning experience online while working full-time so I enrolled in Weapons & Props for Games.
Having several isometric views helps a lot by showing transitions between regions of the gun. Researching a gun before doing the block out phase of the weapon definitely helps the animators when they get the mesh. Most importantly, I needed to be establishing different elements the animators would be animating.
An example is when a player fires the gun. You have the slide coming back, with the chamber opening up and the empty shell ejecting. Furthermore, there’s a slide stop that indicates when all ammo is used. For this weapon, there was no need to get into all those springs and components invisible to the player. I knew the grip and front barrel area would be challenging shapes, so I made sure to get plenty of images for that. I also took note of the materials I wanted to have, including the different finishes of the Springfield XDM.
Working on the Block Out
When beginning the block out, it’s very important to capture as much detail as you can while not over-doing it. This isn’t going to be a high-poly asset, but it should be a place-holder that can be handed over to an animator or another individual to work with until the gun is finished.
I’ll keep my references open in PureRef to look at. While I’m in Maya, I’ll keep an image plane that holds a side view of the gun. That way, I have an easy and quick reference to look at. To get the basic shape of the Springfield XDM, time and effort were spent understanding the shapes before crafting them. I would start with primitive shapes in a side view to capture the silhouettes before fleshing them out. I went ahead and modeled the inside of the slide where the bullet ejects, as well as having the barrel’s inside modeled.
After getting the gun block out completed, I moved onto blocking out the Reflex Sight. Same process here: gather good references, set up the scene, and model while looking at the references. Studying my reference and modeling from those images yielded positive weekly feedback and necessary adjustments.
Achieving a High-Poly Look
The transition to a 3D high-poly look happens in ZBrush, with preparations being done in Maya. When modeling, I keep a copy of any Boolean shapes on a separate layer. This helps later on when constructing the high-poly. I leave text and labels for Substance Painter instead of baking it in ZBrush.
Once the block out is done being modeled, I’ll go back and remove certain detail geo from the gun mesh. Below, you can see those indents and the iron sight hole removed, along with some other details.
Once I’m done patching up the base mesh of the gun, I’ll export it as one object and the Booleans in another object. In ZBrush, I import the files and split all the objects into their own Subtools. Then I’ll merge Subtools of the gun together and organize the Booleans accordingly.
For the high poly, the process can be quick if everything is laid out correctly in Maya. Since I organized all my Subtools and I had the body of the gun set, all I have to do is just click “Live Boolean,” and the results are there.
From here, I’ll look at the reference and change things if needed. When I’m happy with all Subtools, I use “Make Boolean Mesh”, following that with a high-resolution Dynamesh pass. Doing so retains a lot of my details and gives me more than enough resolution for the Polish pass.
The Polish pass is using the sliders in the Deformation section in the Tools. These Polishing options give that nice 3D high-poly feeling to the bake while giving smooth transitions between surfaces and edges.
Once the Polishing pass is completed, I’ll use Decimation Master to get a medium res mesh that I’ll move back into Maya to build the low-poly.
Having these decimated versions will help determine what details need to be modeled in and what can be left to the textures.
It didn’t take long to crank out the low-poly. Since I have a medium detailed block out, I could use that as a starting point. I’d add or remove geo if needed and clean up any loose ends.
Having that block out from the start really helps out by letting you focus on the more important shapes. Even though the mesh is in a single layer, the animated parts are still kept separate, just like they were from the block out.
UVing a mesh like this involves thinking about how it will be seen in-game, planning what UVs to be mirrored, and UV Shell sizes. Stacking is important here since the gun will be seen in a First-Person View. I needed to get the most out of my UVs to capture micro details and the lettering on the gun.
I never used Nightshade before, so unwrapping a complex object like this using Nightshade was recommended by Ethan. It was a great time learning how it helps with the UV process. Orientating shells, establishing texel density, and adjusting normals were handled very quickly with the tools Nightshade comes with.
To make the most of the UV space, I moved identical parts on top of their respective shells. I selected those overlayed UVs and moved them over to -1,1 space so they wouldn’t interrupt the baking process. For the grip region, I kept the flat side without safety and slide stop-holes in the main UV space. That way later on, I could move the other shell on top of it and not lose any texture information in the holes.
Baking the Texture Maps with Toolbag
For baking the texture maps, the tool of choice was Marmoset Toolbag. I didn’t know how great Marmoset Toolbag’s baker works! Ethan dropped a bombshell on me with this. Using the Bake icon, you create a New Bake Group and use the Quick Loader to load in your high-poly and low-poly meshes. If you have objects named properly, they’ll automatically be grouped up and put into sections for baking.
Once the assets are loaded in, I explode the parts and adjust the cages. The control over these cages made me fall in love with the process. The control and working with the cage is easy and gives results quickly that you can preview with.
I set up my baking output maps and then quickly did a test of the mesh at half the resolution. After fixing things up, I went ahead and did a full bake. Below is an AO+Normal pass.
I spent lots of time and effort on getting the grip area right. Having those references and isometric images really helped me out. I hit some bumps with the safety/slide stop, but Ethan would help me via email on my shapes and keep me on the right path with the individual feedbacks.
I wanted to texture this gun with a nickel slide and black body. To make the gun more realistic, I spent lots of time in the roughness map. This was something I often overlooked when making materials. Spend time on it! Seriously, it makes a big difference.
Working with the roughness, I would take grunge/scratch maps via projection paint and add in details. I used different textures to add scuffs, holster wear, firing wear, fingerprint oils and lubricant around the gun. This was my favorite part of working on this piece. Just giving the texture depth.
I had some tiling and non-tiling stencils to use, so I just made it a habit to scan and clean up projection paints after every use.
I repeated the same process with the Reflex Sight. The lens was done with a quick transparency material in Marmoset Toolbag before the renders.
For the details, I created a decal sheet from text and logos on the gun. To apply, I turned on projection painting and used this decal sheet as an alpha. Once the texts, patterns, and emblems were in, I would adjust the parameters in the layer to get something that felt appropriate to the references.
Taking Animation Into Account
I establish the parts that are needed for the animation from the research I did early on. Because of animation plans, I also consider what will be visible during animations. With this knowledge, I keep those objects separate from other meshes. I’m also mindful of texture sizes, material counts, polycounts, and how all the moving parts are seen.
In the lighting process, I wanted to emphasize the roughness of the details. I started with a standard 3-point lighting setup, but it wasn’t delivering what I wanted. I set up lights around the areas that held details and tuned the lights to make the details visible. Then I would jump to my render cameras to check the results, and tweak as necessary. AO and Global Illumination were toggled on, with tweaking to other values.
I also used some DOF to draw focus to the areas I wanted the viewer to study. I kept the color schemes not too saturated but still containing tints of blue and light yellow. I took different renders and arranged all the images in Photoshop.
I tend to sit on my final images for a couple of days. I do this so that I can study them for anything I would miss, or even if I like the renders at all. I took my time to do the same with the project, and after about a week, I published it to ArtStation.
Ethan Hiley has a teaching style that hits the ground running and I loved that. His structure of the class was challenging and eye-opening. There were other students in the class who created beautiful weapons and watching them work motivated me to do better. The confidence I got from this class was the biggest win for me. Weapons are such a tough subject, but with everything you learn from the workflow in the class, you can walk away with insightful knowledge on how to tackle complex assets in AAA studios.
Tommy Gun Production: Weapon Breakdown
Interview with Duard Mostert
Duard Mostert talked about his Thompson Gun made with ZBrush, 3ds Max, Substance Painter, and Toolbag.
For me, finding a good reference and building a good reference board is the most important step in the process. It will define the course of your whole project. In my case, I decided to go with the 1928 Thompson. I chose the Tommy Gun because I wanted to push my texturing (and it’s a really cool gun) and I knew that collecting the right reference would be vital. In the texturing phase, my reference board really helped by getting a great look for the wood on the stock and also the texturing on the receiver and frame group.
After reference gathering, I start on the block out. I primarily focus on the big shapes making sure proportions look good, the silhouette is pleasing and that it looks good in the first person. It also helps to identify parts that will need to be animated, problems that might come up and also early on give you an idea of the art direction that you will be heading in, especially if this weapon will be used in a first-person environment. At this point, I do not focus on the small details and topology, that way it makes it really easy for me to iterate and change shapes with ease. Focus just on the big shapes.
After being happy with the block out, I move to the high poly phase. I like to “build” the weapon the same way you would assemble it in real life, this will just make for a more convincing low poly. For my high poly workflow, I like using a combination of 3ds Max and ZBrush. I set up all my boolean shapes in 3ds Max and then send it all to ZBrush. With the release of 4R8 you now have the live boolean tool which is great for this workflow. The polish feature is really handy to get nice soft edges without bothering about topology (I like a bit more of a softer bevel on my high poly models because it will make for nice reflections on the normal map, but don’t go too soft otherwise you will have a gummy bear looking model). You can also do some sculpting if you want to do some custom work on it.
When you are happy you can just decimate the mesh and send it back to your preferred software solution. I tend to stay away from any custom detailing in the high poly phase (things like text, decals, and scratches) because it’s really easy to add those details in Painter later, making it easier to iterate on those details down the line.
Having good UVs will just make your job so much easier later on. For this project, I used 3 UV sets: 2048×2048 for the body, 1024×1024 for the drum magazine and a 1024×512 for the sling.
When it comes to packing UVs, I like doing it by hand, I always feel I learn something new and gives me total control of the layout. I first identify the shells that I want to mirror/stack and set them aside. When you are done packing you can just align and scale those shells to its counterparts and offset them outside of the 0-1 space. For this project, I identified the geo that will utilize mirrored UVs and then just mirror the geo itself after the final pack so that I don’t have to worry about getting the shells to align properly in scale and rotation. The objects that will be closer to the camera I tend to give a bigger resolution to the other shells just to make it look a little bit better in game. Unfold 3D is a pretty neat software solution for these kinds of jobs especially it being able to take a UV island scale and apply it to another island and also identifying similar UV islands and selecting/stacking them (if you are working with a ton of geo). TexTools plugin is also handy, especially to set smoothing groups to UV shells.
For me, a texture makes or breaks a project. I like to tell stories with mine, I want the player to be able to feel like there is a story behind what the character has endured with that weapon, that there is a “bond” so to say. I use Substance Painter for all texturing jobs. When starting off, I like to break things up into groups, start defining the metals and non-metals with color and roughness that define them. For a base I like to use textures that I think will work well, CG Textures has a great library that will make a solid starting point. When it comes to wear and tear, generators are a great starting point but don’t just leave them as is, this will give your textures a procedural look.
Build yourself a library of custom alphas that can help add some custom wear and break up that procedural look. Keep wear only where it makes sense, if you aren’t sure, your texture reference will help you. Keep wear subtle! The amalgamation of all your slight roughness changes, wear and tear etc. will make for a great looking texture in the end.
For details like emblems, logos, text and whatever else you fancy, I like to use decal sheets. Illustrator is my best friend here. For logos and emblems that you can’t find easily or only find low-quality pictures of, you can use the pen tool and a combination of other tools Illustrator offer to get high-quality versions out quickly. I also have a library of decal sheets so I don’t have to recreate those decals on every project.
When it’s time to submit the asset, I separate all the parts that need to be animated, setting the pivot at the point of rotation. I triangulate the mesh at export to make sure the shading is the same in all engines.
Marmoset Toolbag is great for those portfolio shots. I must admit, I’m not the best at setting up lighting but I normally shoot for environmental light that has some blues and reds in them and then setup up custom lights to highlight the surface details and a rim light that gives nice reflections along the silhouette. I do final touchups in Photoshop.
TIP: To get the most out of your texture details in Toolbag, set the texture filtering to 16x and disable mipmaps, that way you will keep your details crisp!