Course overview Course overview
Create portfolio-ready weapons and props
Weapons and Props for Games WHAT YOU’LL LEARN
The more you know, the better.
Unleashing your creativity
Sean Ian is currently a Senior Artist with Turtle Rock Studios in Irvine, CA. He started his career in 2012 and has developed for a variety of titles such as Days Gone, Lone Echo, Armored Warfare, and Star Citizen. He has developed for both PC and console titles, and has extensive knowledge of the Unreal 4 and modern game art pipelines. He also takes pride in learning new software and adapting his workflow towards the latest industry practices. His primary focus has been on content creation for game play props, cinematics, and environment art.
Weapons and Props for Games Student gallery
spring TERM Registration
Feb 10, 2020 - Apr 18, 2020
Dylan was a great instructor! He was harsh with the feedback and did not hold back, which I respect. There is no point in taking a course like this to just have somebody tell you, "Good job, you're the best!" Dylan was realistic with his expectations and continually makes you push yourself.
My instructor was nothing short of awesome. He answered everything in great detail and helped me and my other classmates with anything we needed in a timely, detailed, and polite manner.
He was adamant on the basics: how crucial it is to know the software and understand how things work and should work in a production setting, before they are translated into the game. From concept, to modeling, to UVs and textures, all of it. If you don't understand the basics, all the scripts or additional programs in the world won't help you. I'll keep this advice as a creed in my future endeavors.
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.
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
environment design Benefits
What makes this learning experience unique?
Receive personal individual feedback on all submitted assignments from the industries best artist.
1+ Year Access
Enjoy over 365 days of full course access. This includes all lectures, feedback, and Live Q&A recordings.
Certificate of Completion
Earn a Certificate of Completion when you complete and turn in 80% of course assignments.
Learn anywhere, anytime, and at your own pace with our online courses.
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!
Duard Mostert, Weapons/Props Artist at Dekogon
Modeling a Sig Sauer Gun
Interview with Alex Galluci
Alex Gallucci talked about his crisp Sig Sauer MPX model created within CGMAcourse Weapons and Props for Games led by Ethan Hiley. Software used: Maya, ZBrush, Marmoset Toolbag, Rizom 3D, and Substance Painter.
Hi, my name is Alessandro Gallucci or Alex for short. I currently live in Italy and I’m a freelance 3D Artist. I have been doing 3D work for a few years: before that, I was studying Japanese culture and language and I’ve spent some years living in Japan. While I was there I decided to pursue a career as a video game artist. I’m currently looking for a full-time position while polishing my portfolio.
Sig Sauer MPX Project: Start
Sig Sauer MPX started when I enrolled in the CGMA course Weapons and Props for Games led by Ethan Hiley: I wanted to improve my modeling and texturing skills with a complex model. That’s why I chose the Sig-Sauer MPX: for me, it was a nice challenge to push my limits and learn from it.
The software solutions I used were Maya, ZBrush, Marmoset Toolbag, Rizom 3D and Substance Painter.
I used PureRef to gather my references, one for the main weapon and another one for the XPS sight. I tried to keep it clean, using notes to create sections for each part so I could quickly find the part I’m looking for. I also kept track of small details like engravings or marks I wanted to add in the end in order to avoid forgetting about them.
Another useful resource is the manual for the weapon, it can provide renders of the weapon, specifications, engravings/logos and even an in-depth look at some components and how they work.
The first step was establishing the right proportions and sizes. For me, the best way to do this was using the mounting interface rails. Rails are standards to allow many attachments to fit, and you can easily find the sizes of them on Wikipedia. Then I created another object scaled to the weapon length and used those two to get the correct scale for the reference in my Maya scene.
I spent a lot of time trying to achieve a nice blockout, having all the main forms of the final model that I could later use for both the sculpt and the low-poly mesh.
This part of the modeling was the fastest, using a lot of shapes and booleans trying to achieve the right look without worrying too much about the geometry. Just throw in shapes with the right size, make a Boolean union and fix it so it doesn’t break and let’s move on. It’s also easier to model this way since you can easily break a complex mesh in simple forms.
When the blockout was done, I proceeded to use Dynamesh in ZBrush, with Boolean to achieve mid details followed by a polishing pass.
One little touch I like to apply to my plastic surfaces is the mold line in the center. I’ve seen it in the ZBrush Presentation with Mike Climer and wanted to add it to my models too (if you are interested in it, check the video below from 1:05:00).
Something I can’t stress the importance of enough is having good smoothing on the edges. Usually what new artists try to have is a perfect 90° angle on the surfaces. While it’s realistic, when the model is looked at from afar it will get jagged and start to alias. A smoother edge will read fine even from the distance. This picture is probably something I’ve seen hundreds of times:
The holes in the handguard were done by Boolean operations. Using the same workflow explained before, I created a mid-poly version of the holes and duplicated them. Adding some bevels I obtained a high-resolution mesh that I later used in ZBrush to dynamesh the whole model and get the holes. I repeated the process with all the pieces to obtain a clean sculpt that I reimported in Maya after the decimation.
The mid-poly was later used to retopologize the model, and I spent a bit of time trying to preserve the silhouette while lowering the polygon count and making sure that the bake was still good even on close up shots.
For other details, like the arrows on the holographic sight, I just did the inverse. I created the high-poly in Maya and then combined them using Dynamesh to obtain that merged look that seems more natural for casted pieces.
I rely on Marmoset Toolbag for the baking. Since the inclusion of groups, it became my main baker. Before I used to explode the models, moving the pieces colliding together away. In this weapon, I just made different groups for each main object, and for all the small pieces I tried to group them in clusters avoiding any intersection.
Another useful tool is the skew painting, to get nice planar details on the bake.
Be careful about the tangent space and especially the normal direction, since they can create problems in other software solutions like Unrealand Maya. The best way to test for mistakes is to bring the model with the baked maps into the engine and just see for yourself how it appears.
Substance Painter is my preferred software for texturing, as it grants me the high quality of the result and the ability to change details fast.
To be able to see the whole mesh but also get into the occluded part, I duplicate my meshes and put them aside. This way I can both paint it separately and see the overall look.
I generally start with a base layer with some color and rough value for a material, then proceed to apply some textures that I get from Textures.com or a similar website to start obtaining details in the albedo and roughness. Something interesting I’ve learned in the course was to see past the ‘title’ of a texture. Ethan showed us how even a marble texture could produce nice effects for metals, so don’t limit yourself to look for ‘metal texture’, but experiment a lot.
Seeing the subtlety of materials is something that will help the project go really far. Even an industrial piece like a rifle is made by different components and each is slightly different. For more realism, you can slightly variate the value in the albedo, making it just a notch darker or lighter. It’s subtle but it works. Even damage can be different. The gun could use pieces from different manufacturers and the quality of the material could be different, so they will age and get worn in different ways.
It’s easy to get lots of details using generators and smart masks, but they will look too procedural in the end. Using a paint layer with a brush you can tune it down to make them more believable.
One of the first steps I do in Painter is to finalize the normal details, by creating decals and any other pattern or engraving, usually with Photoshop. These could be done in ZBrush but as I later discovered, having it on a layer in Painter gives me the ability to easily modify them if I ever need it. It’s also the part where I love to add small ‘easter eggs’ like important dates and numbers for me, or small writings.
I apply them on a fill layer with a slight amount of height, then use a mask with a paint layer to put the details on the mesh. For a nicer look, I then add a blur filter that will make them less brand new.
For the small sticker, I was lucky to find a high-resolution photo during my research phase but it can be easily recreated in Photoshop. Using some surface imperfection texture I gave it some damage and rough variation. In the end, using a dirt brush, I just removed pieces on the edges to make it worn and used.
Achieving the Best Result
Getting a crisp and neat model at the end requires a lot of time and problem-solving. I can’t really think of one phrase that could sum up all the work that each artist needs to do in order to make something look really good. For me, it’s a slow process, approached step by step and with a varying degree of frustration in the middle. I try to replicate the references exactly as they are until I am comfortable with what I’ve obtained.
I use Marmoset Toolbag to render my props. After setting up the object and the materials, it’s just a matter of playing with lights and the skylight. I select a good HDRI texture (you can find them for free online, too).
I set up different cameras where I’d like to render the model by duplicating and moving them. Then for each of those, I create a lighting setup, since each view requires different illumination settings depending on the details. It’s a bit time consuming at first, but it saves time when you want to go back to a previous camera and tweak the lights some more, or when you reopen the project after a long time!
For the lighting, I start with a simple 3 point light setup, then I throw in some more to get better highlights or rim lights.
Something I learned in this phase was to not overcolor my lights since the texture shouldn’t be changed too much. It’s alright to use a cold or warm light but try not to alter the base texture with different colors.
Post-processing effects should be controlled, too. It’s easy to add a lot of chromatic aberration but I prefer to use small values.
Challenges & Feedback
Perfectionism is an Achilles’ heel of mine when trying to produce a real object. I spend time and time again studying the forms, surfaces, and materials so that I can replicate it in the most realistic way possible. Setting up a time frame to complete the project forced me to get past it. The more projects you complete, the better the end result will be, so force yourself past your block.
I also understood the importance of asking frequently for feedback to improve. Aside from my mentor I often address questions to, there’s a Discord server for Weapon and Gun enthusiasts called The Armory. The admin and all the users there are really supportive and they helped me push the textures and lighting one step further so I can’t thank them enough. Jump right in with the link above, I’m sure you will find a lot of useful support in there!
Alessandro Gallucci, 3D Artist
Interview conducted by Kirill Tokarev
Weapon Art: Chiappa Rhino Production Guide
Interview with Justin Akiyama
Introduction and Career
Hello! My name is Justin Akiyama and I graduated from The Art Institute of California- San Francisco in 2018. I would like to thank CGMA and 80 Level for their interest in my work and providing me an opportunity to share part of my story. I grew up in Indonesia, but currently, live in the USA. I have grown up playing video games, but it took me a while to translate that into a potential career. I’ve tried a lot of other things, but nothing really stuck. What really attracts me in 3D modeling is that you get to take a 2D sketch or piece of concept art and turn it into an interactive 3D object. I think this process of creation is both challenging and exciting. Call me a kid, but there’s still a little magic in the process, for me. Visual storytelling is another aspect of modeling that I’m really impressed by and is something I am actively working on. With enough effort, I hope that one day I’ll be as expressive in this as some of the other artists I’ve seen can be. But tempering all of this, the process itself is very formulaic and structured. I think this becomes increasingly more important as your model gets more complex, which I appreciate because it means that any complex project can be broken down into simpler, more manageable components. In short, 3D modeling helps engage the side of me that likes being creative, but with a process that requires planning and intentionality. It’s sooooo much fun being a left-oriented right-brainer.
While at school, and the months following my graduation, I have had the opportunity to provide some contract work for a handful of indies and start-ups. Most recently, I completed some work for a UK-based studio, where I textured/modeled several assets for an unreleased mobile title, but have yet to attract any long-term offers. The silver lining to this is that I have the time to continue my self-education and keep improving the quality of my produced works.
About CGMA’s Weapons and Props for Games course
I enrolled in CGMA’s “Weapons and Props for Games” with Dylan Mellott on the recommendation of a friend and mentor, who had taken a different CGMA course and absolutely loved his experience there. I signed up for the aforementioned class, alongside another course: “Vegetation and Plants for Games” with Jeremy Huxley (both of which I highly recommend taking if you have any interest in their respective subject matter). Not only were Dylan and Jeremy highly knowledgeable, but they were both also very friendly and personable! Keeping up with the workload for both classes simultaneously was definitely a challenge, but I learned so much and feel much stronger (as a modeler) because of them. I thought I had a pretty decent handle on hard-surface modeling prior to the class, but Dylan corrected that delusion almost immediately. A lot of this had to do with him correcting errors in my process, introducing me to new techniques/updated workflows and holding me to higher standards than I was used to.
Most Important Steps of the Gun Production
I think the block-out stage really shouldn’t be overlooked. Getting your component proportions working together (or accurately, in the case of referenced models) is really important to the overall success of your model; all the tertiary details in the world won’t save a bad silhouette, right? To this end, recognizing the shape primitives you’re working with really helps me ‘understand’ what I need to do. I tend to keep a sketchbook closeby early on because sometimes sketching the object helps me figure out what primitives it’s made of quicker than doing so in 3D software. Stylized or not, I start projects in a similar fashion. And while I think you can influence the success of the project at any stage of its development, due to the nature of my workflow, earlier stages tend to have more overall effect than later ones. I liken the process of launching a rocket, where you can use your thrusters to ‘course correct’ while in flight, but it’s a lot easier to just get the trajectory right from launch.
My preferred workflow is Boolean-Hi-Low. We focused on it during the course and it has been my go-to since. I learned how to model in Autodesk Maya and definitely feel most comfortable in it, so I’ve used it since. I’m a big believer in using the layers system to stay organized and use it pretty much every time I open Maya. Using it lets me quickly toggle my image planes on/off and reference meshes I made in earlier stages of production if I need to. For example, when I make my boolean meshes, I try to make sure I leave vertices that will be useful when making my low-poly (like the midpoints of circles or median lines). I also bevel the meshes, so when I import them into ZBrush, I can just hit ‘divide’ a couple of times with smoothing on to get my hi-poly ready. If you’re in Maya, turning Chamfer to ‘Off’ (when using the Bevel Tool) keeps the original edges if you want to reuse the mesh for your low-poly. But for the most part, I just try and keep my boolean meshes simple, and use ‘smooth preview’ to make sure that edges round out properly and that they are stable for subdivision in ZBrush.
In ZBrush, because of all the setup in Maya, I pretty much just divide the meshes, run boolean operations, do some universal decimations (like polish) and export out my hi-polys. I also use Decimation Master to create some ‘medium-poly’ meshes. This saves my poor computer from having to put up with the real hi-polys, but I have enough definition in the mesh to reference the hi-poly in Maya (Like using the decimated mesh for the handle as a magnetic surface). The vertex count of these meshes really just depends on how much of the definition you need.
At this point, all I have left is getting the low-poly modeled and unwrapped. Thanks to the reuse of the boolean meshes, I had a large chunk of the low-poly meshes that only needed minimal effort to be ready for unwrapping. When making optimized meshes, I pretty much ask two questions. If I remove this edge, does the silhouette change? Do I need this edge for UV unwrapping? Other than that, as long as the resulting polygons don’t look too stretched out, I try and collapse as many edges as I can. Things like screws or pins get turned into projected details. The whole project ended up being a little over 7k tri’s (4.5k for the Rhino and 2.8k for the Sight). Looking back at this part of the project, I definitely could have optimized the mesh more but was unsure how far I could push my normal maps, so the resulting low-poly was at a higher density than it needed to be.
When laying out my UV shells, I like to stack/mirror shells whenever I can. The Rhino’s subtle asymmetry meant I couldn’t do this as much as I would normally do, but I tried to make up for this by resizing less important shells. Keeping in mind that we were designing a weapon for a first-person camera, shells easily seen from a back-facing camera as well as shells on the left side of the weapon (right-handed setups being more common) were given higher priority in my layout. We planned on a 2k texture for the main weapon, 1k for the accessory, and a glass shader (I also baked a 512x512 normal map for the glass meshes).
I really like Marmoset Toolbag’s baking system, so prior to Substance Painter, I generate all the maps I need in MTB3 so that I can fully utilize smart masks in SP. This means Normals, Curvature, Thickness, Position, and Ambient Occlusion maps needed to be baked (I didn’t have any material ID information, otherwise that would have been generated too). MTB’s baking groups make it really easy to get clean normals (since I was heading into SP, I also configured the normal baking to ‘flip Y’) and painting skew maps help the projected details to bake correctly. Generally, I set my Ambient Occlusion baking to ‘Ignore Groups’, so the generated AO map interacts with all geometry. The exception here being the AO maps for the cylinder and cylinder arm, which I baked independently so that when I posed it open, I wouldn’t have strange shadows baked into the texture. I also posed an exploded mesh (purely for texturing) that I imported into SP to use for my texturing. I also made a decal sheet in Photoshop for the labels and manufacturer marks on both the gun and sight (and the laser sticker!).
Within Substance Painter, I try to use flood layers and really only paint in multi-layered masks. This lets me adjust all my materials at any point in texturing (something that came in handy because I ended up redoing my texturing several times). I start with a base layer, that covers all my base material channels, then adds additional layers to slowly build up interesting materials. The additional layers typically only affect two or three material channels at a time, and I label and use subgroups to keep myself organized. I try and stay away from the premade smart materials because I feel like I learn more doing the work myself. I also know it’s really easy for the use of procedurals to result in generic-looking work, so this is also my workaround for that problem. That said, I do use smart masks very frequently but always try and adjust all the base settings away from their defaults. Dylan’s philosophy on procedurals was that they can get you some of the ways there, but never 100% and I agree wholeheartedly. They can save you a lot of time, but I think it still needs a ‘human touch’. Overall, there were over 70 layers involved in texturing the Rhino, divided into six distinct materials (plus the decals).
Stylistically, I know I wanted believable, realistic wear on the weapon, but I tend to default towards more saturated textures. I wouldn’t call it stylized, but it’s definitely not scientifically accurate! Games like Uncharted or Titanfall as better examples of this, where they make ‘reality adjacent’ textures that really pop. One of the big draws of video games for me is the escapism inherent to them and their ability to be an exaggerated form of reality. This mindset affects my texturing process and tends to skew me away from true photorealism. This said, I also like to think that even extremely stylized artwork has at least one foot (or just a toe) grounding it to the sensible. So for me, the categories aren’t mutually exclusive, and it’s more about ‘shades of gray’ than ‘black or white’.
Working on the Wear and Tear Look
I will admit that I am still not satisfied with my wear and tear. Dylan imparted a lot of wisdom on the subject matter to me, but I feel like it is a skill that will continue to mature as I keep practicing subtlety. I mentioned visual storytelling earlier and I feel that wear and tear is a great ‘actor’ in this regard. On top of being believable (which I feel that all wear should be), I wanted to show that the owner cared for the weapon. This meant aging the weapon (to show how long it had been in his/her possession) without going too crazy with hard scuffs/ scratches. I tried to achieve this by adding soft, subtle roughness to the edges, and the occasional hard scuff along the outer edges. There are some light sun bleaching and some buildup of ‘gunk’ in the cavities of the model. I also tried to pay attention to the mechanics of a revolver, and add wear to the areas that would see constant use/ movement. I knew how to go into the texturing that I didn’t want any overly hard damage, so the hi-poly was damage-free (I did add some deep scratches later, but these were just for visual interest on parts of the model that I thought needed it). I figured that if the owner cared for the weapon, dirt buildup would be to a minimum, but I did add some fingerprint smudges and smears to show recent use. The EoTech, being a less-cherished item, saw a little more scuffing to add a point of comparison.
For rendering, I take my model back into Marmoset and set up some relatively basic lighting. Another great tip I picked up from Dylan is to pose several iterations of your mesh in your modeling software (Eg: Leaving the cylinder opened for reloading, cocked hammers, etc.), then import all your instanced meshes as a consolidated FBX, so you can toggle visibility for easier posing. I like to keep skybox intensity low (turning it into more of a mull than a light source) and then use child lights for 3-point lighting. I took a photography course during my schooling and it definitely helps out with setting up my lighting for renders, but I am by no means an expert on the matter! What I can suggest is looking at advertisements for commercial products (they are professionals at making things look good). Lighting has so much influence on the ‘mood’ of your render, so intentional lighting choices can really help you tell your story. Contrasting cool/warm tones in your lights makes for more interesting renders, but I recommend keeping the saturation fairly low (anything out of the ‘pastel’ range of colors looks really artificial, so unless you are doing this intentionally, I’d suggest not oversaturating your light sources). I constantly do ‘squint tests’ on my setups to get better reads on the overall composition (specifically, I look at the range of contrast overall, and what hotspots/deep shadows are my eyes drawn towards), and will adjust both direction and intensity of my lights till I get some good contrast. I don’t do too much work with post-processing (in MTB), but I do use vignettes to draw the viewer’s eye towards the model and occasionally also use depth-of-field if I want the viewer to look at a specific part of the model (or occlude weaker portions of the render). I’m not the biggest fan of chromatic aberration, so my use of it is typically non-existent.
The course was definitely challenging (made even more so by my other concurrent class), but 100% worthwhile. Even within programs I was comfortable in, I learned new ways of modeling and feel much stronger of a modeler because of them. But more importantly, Dylan helped me shift my focus when I model; stressing the importance of aspects in modeling and texturing that I had previously neglected. I think the best example of my “before/after” are two personal fan art projects I did for a popular stylized video game. The two stylized projects ‘bookend’ my experiences in both CGMA courses, so despite tackling the near-identical subject matter, my approach to them differed greatly (If you’d like, both projects are available for viewing on my ArtStation profile). I think that the second model is much stronger, both in terms of presentation, as well as in modeling technique.
Throughout the course, Dylan provided invaluable feedback during production, as well as many personal insights and advice to help all of his students. I always compare what I am capable of creating to the amazing works created by my betters and these courses make me feel like I’m (slowly) closing that gap. It was humbling (and exciting) to learn how high the mountain can be, but encouraging to know that others were facing the challenge alongside me.
Since taking these classes, I have been applying the new lessons I’ve learned to all of my work (casual and professionally), and kept myself focused on improving. I’m going to keep demonstrating what I am capable of, and hopefully one day one of my pieces will land me a job! I know the road is long, but I’ll keep taking it one step at a time. Thank you again to CGMA and 80 Level for this interview.
Interview conducted by Ellie Harisova