Dennis Levi shared the working process behind the Star Wars Blaster project, showed their subdivision and remesh workflows, and explained how the texturing was done.
Hey everyone, my name is Dennis Levi and I’m working as a Prop and Environment Artist at 2K Games Valencia. I started studying 3D Art in 2017 as my second course of education after previously working for nearly 10 years on a very different career path.
I am very passionate about 3D as well as 2D and I always try to push my skills a little bit further with private projects that I love to work on in my free time. This is not only based on the hard surface but also on the environment as well as organic or even character art.
Besides creating 3D and 2D art, I also love to travel and I am very interested in movies and TV shows, which leads to a lot of inspiration that I use for my artistic work.
The Star Wars Blaster Project
Before I start a new private project, I try to define some goals that I want to achieve with the new piece of art. This can either be to refresh some skills, learn new ones, learn new software packages, try out other ways of working, or just try to match a game style that I would love to work on.
I am a big Star Wars Fan and I always wanted to work on a Star Wars fan art piece. Additionally, I wanted to strengthen my knowledge and confidence in modeling in Blender. I wanted to model the weapon 100% in Blender and also take a step up in texturing because I always felt that this was the weak point of my pipeline so far. During the process, I also decided to make my own design of the weapon so it’s not a 1:1 copy of an already existing one but also looks believable and could already be part of Star Wars.
After I set these points, I decided to work on a weapon in a realistic style. I started with some idea/reference gathering on Google, Pinterest, and ArtStation. I also took a look at already released games as well as their artbooks and other Star Wars books. The great thing about Star Wars is that it has a lot of content as well as a huge fan base and a lot of available resources on the internet.
Reference Board and Blockout
For reference gathering, I use PureRef, because it’s perfect to organize a lot of images in one file and maintain their original resolution. Inside the file, I sort the images into different categories. For this piece, I organized the file into three categories: one for the model/shape of the gun, one for the texture, and another one for the details I want to add to my model. This way I can easily organize myself with good resource files that I might want to use at a later point of the production, for example, if I find a picture of a gun that has a really nice wear and tear on its texture. In other projects I add categories like lighting, rendering ideas (camera angles, backgrounds) and so on as well, but for this project, this wasn’t really needed.
Starting with the blockout is the most important step of the modeling stage for me and probably also the one I spend the most amount of time on. I try to get the proportions and silhouette as close as possible to the final design. I also try to build a nice and clean topology at this point because this can save a lot of time later on both with the high and the low poly. In the case of the Blaster, I stuck to classic poly modeling as well as to some Boolean modeling.
First blockout. Without scope and based on initial concept
High Poly: SubD & Remesh Workflow
After I finished the blockout, I started working on the step that I enjoy most in the whole 3D workflow – the high poly. Now, one of the great advantages of a good blockout comes to bear already. A lot of the parts can be brought to a nice-looking high poly stage very fast and very easily.
There are different ways of creating a high poly in Blender. You can either do it with SubD modeling, where you create support edges and use the Subdivision Surface modifier or you can use the Remesher workflow that is similar to a ZBrush workflow for hard surface modeling. I mostly try to go with the SubD workflow because the result of the high poly is cleaner and can give a better bake.
For some very complex parts that are hard to achieve with a SubD workflow, I tend to make use of the Remesh workflow. A nice thing about the Remesh workflow is that you can also use booleans in a nondestructive layer stack so you can easily do changes on the boolean meshes that affect the high poly immediately. Always keep in mind that the Remesh workflow is way more expensive than the SubD workflow and can slow down your PC. Sometimes the Remesh workflow can even cause some Blender crashes, so you should keep saving your file very frequently.
Remesh workflow in Blender
A good example of Remesh usage is the front part of the gun which has a lot of holes in a curved surface. These shapes are pretty hard to model with the SubD workflow so I decided to make use of the Remesh workflow here, but you can also see in the wireframe screenshot that the parts with the Remesh workflow are much denser than the parts with the SubD workflow.
SubD and Remesh workflow. Combination is key
I usually prefer having my details modeled in the high poly and making as few Normal details as possible later on in Substance 3D Painter. I weigh how much time certain details would take me, like small details that are very demanding to model, which I will add later in Substance 3D Painter. For me, the modeled and baked details always look better than the ones added in Substance 3D Painter.
Finished high poly
TIP: Take breaks and get feedback during the process.
What I also did, and absolutely recommend, is taking some breaks and getting feedback from time to time on your progress based on a couple of artists that you trust. What often happens is that we get so caught up in our work that we no longer notice some striking points. In those moments it is important to either take a step back or ask a friend for some feedback on your work, so you learn to see your work through different eyes. I would also recommend not asking too many friends or Discord chats, which can end up in a lot of different opinions that can irritate you, it is better to stay with 1-2 people that you trust.
Low Poly & Unwrapping
After I finish the high poly, I start working on the low poly, which is one of the fastest steps in my progress. I often either use the pieces from the high poly and remove the modifiers, or I make use of the blockout that I stored in a separate group in Blender. Of course, some of the meshes need some cleanup to remove unnecessary vertices, but that work is done quite fast and easily. As I was working on a first-person gun that I wanted to use for my portfolio, I didn’t go too crazy in polishing and reducing the polycount. A nice shape and silhouette were more important to me than a low polycount.
Low poly with wireframe
The unwrapping and packing were also completely done in Blender. I used some add-ons for that step that I can highly recommend because they make the life of unwrapping and packing much easier. The add-ons that I am talking about are UV Toolkit and UVPackmaster.
In terms of unwrapping, I take care to straighten UV shells as often as possible because this will end up in a much nicer bake of the Normal map later on. This also helps in getting a nice and efficient packing, because we want to make as much usage as possible of our texture space.
Texture packing of the blaster
Texture packing of the scope
Baking & Texturing
I am used to baking my Normal and AO maps in Marmoset Toolbag 4 nowadays. In my opinion, to get a nice bake, the software package of Marmoset is the best way to control the cage and skew. I bake my assets “by mesh name” so I get a nice and clean bake for all single parts of my asset without exploding the mesh in Blender. I usually bake my maps in a 4K resolution, because we can always easily decide to scale down the texture resolution later on.
Low poly with applied Normal map and AO after the maps were baked in Marmoset Toolbag 4
After that, I proceed in setting up my mesh for texturing in Substance 3D Painter. I create copies of the mesh and rotate them to the side and explode some of the parts. In that way, it’s much easier to texture parts that may be hidden or covered by other parts. With the variation of the different angles, it’s easier to see the asset with different lighting angles in Substance 3D Painter because normally it’s pretty hard to see the bottom side of an asset in the software.
Mesh preparation for texturing in Blender
The first steps I take in Substance 3D Painter are some housekeeping ones. I bake the remaining textures, like curvature, world space normal, position, and thickness, and I change the environment in the scene. I usually go with the Studio Tomoco environment because that one doesn't have a lot of color in the light and reflects the colors of the texture very well. After that, I start the texturing process by adding some of the normal map information I didn't model into the high poly.
In the next step, I start creating folders for the different materials that my asset is made of and assigning the related parts. In that step, I don’t worry too much about the material definition itself, it’s more about defining how many different materials are needed.
First pass of assigned materials
After all the parts and materials are set, I finally start to refine the texture by adding variation to the color and roughness by adding new layers and combining them with grunge maps, smart masks, or a combination of both. I always have a bunch of references opened on my second screen so I can check the result that I am getting in Substance 3D Painter with real-world references. I would recommend never just trusting generators or smart masks themselves and always giving it a personal rework and touch. This can end up in a long process, but in my opinion, this step is worth it because it makes the asset more believable. I think in that particular asset the texturing process took the same amount of time as all the modeling steps before.
Final pass of texturing in Substance 3D Painter
Thanks for reading to the end of my article! Even though I only scratched the surface of all the steps and didn’t go too much into detail, I hope you were able to take something useful out of that article and enjoyed reading it.
Dennis Levi, Prop and Environment Artist
You may find these articles interesting