Learn to Create a Realistic Folding Knife Using Maya, ZBrush and Substance 3D
Ryan Bown talked about the workflow behind the TRUE Folding Knife project, sharing how he textured the knife and how he used Plasticity to add more detail and realism.
Introduction
Hey gamers! My name is Ryan Bown. I'm a Professor in the Division of Games and the Director of the MEAE (Master of Entertainment Arts and Engineering) graduate games program at the University of Utah. I have a background in traditional art and spent the first 10 years of my career (1998-2008) as a studio artist, showing mainly in NYC and San Francisco.
Here's a portrait of Albert Einstein made with thousands of hand-painted cotton swabs, a technique I developed. You can read more about my fine art work here.
The journey into digital 3D started as a hobby. In 2007, Halo 3 released an editor called Forge, and to speed up the process of designing multiple maps, I started using SketchUp. After some time, I became more interested in making stuff inside SketchUp than geo glitch boxes inside Forge.
So, having a love for art and video games, I decided to fuse the two passions together. From 2008-2009, I worked mostly as a concept artist and level designer on mods inside of UDK.
In fall 2009, I returned to school at the BYU Center of Animation, then went to the University of Utah, where I received my MFA ('12) in Game Art. As a student, I published several games, most notably a survival horror game called Erie, which became an overnight hit from Let's Play on YouTube.
In 2013, I joined Disney Interactive Studios/Avalanche Software as an Architect, which is the coolest job title for a game designer who worked on the ToyBox mode for Disney Infinity 1.0 & 2.0. I joined the University of Utah in July 2013 and left Disney in January 2014.
As a full-time faculty member at an R1 research institution, Games presented many opportunities beyond entertainment. Over the last decade, I've received over 3M in funded research in the domains of serious games, education, medical, and simulation. My biggest contributions have been in aerospace, where we created custom tools and pipelines to bridge the gap between game development and simulation workflows.
TRUE Folding Knife
Typically, each summer, I sign up for a mentorship with a professional artist in the game industry to keep my skills up to date. The last few years, I've not been able to do this, and I was starting to feel like a dinosaur. So this summer, I joined The Weapon Room (T.W.R.) Discord community to learn current industry standards and workflows.
Being involved with a group of artists and getting feedback is important for personal growth and success. Over the summer, I learned a new software package for modeling called Plasticity, which is being adopted by weapon and prop artists.
It gives you all the advantages of CAD modeling, but is very artist-friendly in terms of workflow and UEX. Here is the first AAA prop that I made using this workflow.
After completing this project, I was contemplating moving on to something larger. However, I had already modeled the TRUE folding knife as an exercise to learn how curves work in Plasticity. My goals I set during the summer were to improve my texturing and rendering skills. Moving to a larger project would mean more time until I get to those parts of the pipeline that I wanted to focus on.
Like the Fire Hydrant, just about every 3D Artist has made a knife at some point. This helped me set a visual quality bar for texturing and surfacing. Furthermore, most of the knives on the ArtStation are rendered and presented in very similar ways.
I really wanted to push the presentation and break away from the norm. I added some of my favorites to my PureRef. The ones on the left were benchmarks for texturing and surfacing, and the ones on the right are examples of unique presentations.
Texturing stuff that is factory new is not the most exciting thing to surface. So I began searching for reference images online. One of the best places to look for references is auction sites such as eBay.
The image quality tends to be great, and most stuff is used! I looked at all types of knives that were made from similar materials. I organized my references into parts and different types of details as seen here.
When you can't find an orthographic view or a product diagram to model from. Take the image that has the least amount of distortion into Photoshop. Find part of the model that is intended to be round.
You can also use this same technique with text. Create a circle or text and overlay it, and adjust the image plan with either distort or perspective until it matches your template.
Learning Plasticity
With a clear purpose in mind and plenty of references, it's now time to model. I also happen to own this knife, so I disassembled it and imported the reference into Plasticity.
We began by tracing the silhouette of the main shapes with curves. When you have a closed shape with curves, it becomes a sheet, and you can extrude it to create volume. To punch the holes into the handle, I followed the same workflow and booleans them into the main mesh.
Plasticity also allows you to interact with faces contextual to the main volume, meaning I can edit my mistakes instead of starting over, as seen with the U shape that is cutting into the hole next to it. I also missed one of the corners, simply selected the edge and fillet. Here is a time-lapse of the handle.
The blade was much trickier. I created a wireframe of the blade with curves and loft using G0 or linear. I then created the tooth shapes with curves and projected them to the surface, and cut the sheet. I took the same curves used to create the teeth and moved them down, and snapped the verts to the new angle.
Selecting the bottom and top curve results in a nice serrated edge. An easier way is to simply boolean the teeth position and then chamfer the top edge. However, I found that this technique can be difficult to judge, as you're cutting away volume. Projecting the curves on the surface is time-consuming but precise.
While something like screws can be a challenge in traditional sub-d modeling, they are easy in CAD-based software. Create a circle and extrude the desired length of the screw. I added extrusion on the bottom to taper the end. This also makes a nicer transition between the threads and the tip.
Next, bring in a spiral and select the top and bottom points of the threads. Turns equal the number of threads. Next, pipe the spiral and change the vertex count to 3. By adjusting the face placement, you can control the thickness or thinness of your threading.
Boolean difference. Create another circle and extrude the head. Choose the type of head you want and Boolean it into the top mesh. Finally, select everything and a Boolean union to combine your mesh, resulting in a single solid.
Plasticity provides clean results that are both fast and flexible. When I was struggling to make the correct shapes, it was most often because I was overthinking it. Here is a screenshot of the finished CAD model.
High-Poly
Now that our model is complete, we need to export it from Plasticity and send it to ZBrush. Select the solid in Plasticity and click on the P in the top left, and go to export. Check the 'Max Width' and set it to .0001. The lower the number, the more polygons you get.
If the model is large or doesn't need that level of detail, you can set it to something like .001 to .0005. For parts that are duplicated, like the screws, I only export 1 and then duplicate them in Maya. Complete this process for every mesh.
Import your mesh into ZBrush and make a PolyMesh3D. Under tools, geometry, go to Dynamesh and keep blur set to 2 and Dynamesh at the highest resolution that your computer can handle. If you're losing details, undo, and expand Deformation and scale the model by +100.
ZBrush uses something called unified scaling. Dynamesh density depends on two things: the resolution and the scale of the object in unified space. Now in Dynamesh, I enlarged the mesh, and you can see it went from 7M to over 16M. Now go back to Deformations and click on O next to the Polish operation.
The range I use is typically between 15-30. For the blade, I wanted the edges to read as hard and sharp, so I set this to 15. For the handle, I set the polish to 25. Use edge hardness and bevel for better material separation and readability. You want the shapes to hold and be slightly softer than in real life.
We don't need 16M points, which is closer to 30M tris, so I decimate it down to about 3-4M, then export. Complete this process for all parts of your model. Decimation can take some time, so grab a snack or listen to some tunes.
The final steps to prepare the high-poly model happen in Maya. I imported the decimated mesh from ZBrush to Maya. Step 1: Select the mesh and soften the edges. Step 2: With the mesh selected, create a metal material so that you can find any artifacts in the mesh.
This sometimes happens during the decimation process in ZBrush. If there is a major shading issue with the mesh, you will have to go back to CAD. The metal shader is easy to make. Use a Phong material and turn the color to black, change the specular color to a dark blue, and increase the cosine power.
As you zoom out, if you're seeing AA on your edges at normal viewing distance, your edges are too tight for baking. You will also see overlapping or odd surface verts. Go to your sculpting tool and, with a very small brush, tap the mesh with the smooth tool. If the decimated mesh created manifold geo, use the cleanup tool to proceed with the sculpting smoothing pass.
I repeated this process for all parts of the model, except for the screws. I only exported one of these because I can then duplicate it and move it. I also had not decided how many of the screws would be uniquely textured or stacked in UV space. More on that later. This is what the final high-poly meshes looked like in Maya.
Low-Poly
I start by exporting a STEP file from Plasticity and importing it into Moi3D. You can try exporting a low-poly mesh from Plasticity, however, it's one area of the software that needs improvement. This is what the low-poly mesh looks like from Plasticity.
Moi provides a much cleaner mesh to work from. What I'm looking at are the large curves and small curves. Nothing is going to be perfect. I focused on the parts that would be most difficult to remodel and checked their poly density. More polygons result in a smoother mesh, I typically use 6 here.
Under the "Avoid smaller than", I changed this number to something manageable in tight/ small curved areas. On the handle, I'm looking at the inner beveled areas. I never worry about circles or areas with threading, because I can remodel those areas quickly in Maya and stitch them back into the main mesh.
One thing to keep in mind is that there isn't just one fix-all or best approach to this workflow. Through practice, you will be able to determine what parts of the model are best to keep from the CAD export and what parts will be faster to remodel overtop your high poly model by hand, quad draw, or another tool. Here's a short timelapse fixing part of the low-poly meshes in Maya.
Exporting from Moi3D to Maya, the mesh will import 100x larger and be facing the wrong direction. Scale it down to .1 and rotate the mesh to match your high-poly model. Retopo is a time-intensive process. But having clean geometry is critical for good UVs and bakes.
I gave myself a tri limit of sub 20K for the whole knife. Slightly higher because I wanted to have a render with the knife fully disassembled. Here is the final low-poly mesh.
Boomer strats incoming. With today's game engines, it's easy to think that more geometry is always the answer. But what parts of the low-poly model really matter? And if the tri limits were lower, where should I reduce my geo? For example, on the knife, there is a small bevel on the inside of the handles, something that you can clearly see.
However, if you turn the light on in the scene with NO light in it, you get a silhouette of your asset. Notice that as you move around the knife, you never see that internal bevel? That means that I can load my geometry to the external edges and curved shapes and save geometry on the inter-bevel. I ended up saving around 1,000 tries or more on this part and added more geo to parts that mattered upon close inspection.
Next, I set hard and soft edges to control lighting gradients. This is also something that I refine as I'm UVing my low-poly model. There are a couple of rules to help you remember what edges should and shouldn't be hard. Rule 1.
All edges can be soft. Rule 2. Any adjacent face that is 90 degrees or more should be classified as a hard edge. Rule 3. Any hard edge must be a border edge in UV space. Here is what the two extremes look like.
We want somewhere in between, the curved parts of the geometry to read smooth and hard transitions to hold their shape. Leaving all that gradient in the model will require the Normal Map to do extra work. Here is a short timelapse of me classifying the edges based on the rules above. I even ended up splitting the blade into a few more parts just so that the cutting edge held without any texture.
Now it's time to UV the low-poly model. In the past, I've used standalone UV software packages such as Headus UVLayout and RizomUV. For the last several years, I have just UV everything in Maya for a couple of reasons. One, I'm not on a time crunch, as you would be in production. Two, I use the UV phase as a way to check my model and oftentimes, will refine my geometry again as I'm UVing.
As in adding, reducing, and changing hard and soft edges. Third, manually packing allows me to organize my shells in a logical way based on material grouping and top-down, left to right. Not a big deal now that you can just texture your model in 3D space in Substance 3D Painter. But as I said earlier, I'm trying not to, maybe I'm already a dinosaur.
Lastly, manually packing my shells, I can get a higher pack rate than the auto packers. The target for a first-person melee weapon in current AAA games is 60-80 px/unit. The way that I test this target resolution is by importing the default Unreal Engine mannequin and scaling the weapon or prop accordingly. I also measured the knife and matched it to the grid, which was set to inches.
The blade is 4 inches long, and the handle is 4.5 inches without the loop. In the UVToolkit, I can select a shell and get the texel density. This prop used one texture set. At 4K or 4096 x 4096, its texel density is 246 px/unit! With a single 1K texture, the knife still has a texel density over 60 px/unit. UV matter.
You pay for the cost of the Texture Map regardless of whether something is occupying the space. Sloppy UV will lead to distortion and problems in your texturing phase. If your model is not UVing easily, your geometry is most likely not optional or needs adjustments.
In the end, I ended up UV all the external screws uniquely with an extra 25% texel density because I had space. The washers and internal spaces are stacked. Here are the final UVs packed into a single sheet, the red edges are hard.
Baking
If you made it this far, go ahead and stand up and stretch your UV. We're almost to the fun part. But before we get there, we must conquer the dark arts of baking. In Maya, we need to make sure that our models are clean, zeroed out to the origin, named correctly, and grouped.
The most common mistake is that your model's geometry does not match closely enough, and misspellings in the mesh names. If you're having to resort to old school tactics of painting out burns and skewed transfers, then you'll want to check your geometry and UVs. Here is how I prepared this model for baking.
The steps for baking are simple, but if you forget one, you will get undesired results. One, make sure that all mesh pivots are set to the origin. Two freeze the transforms.
I also tend to delete history. Make sure that your meshes are all named correctly. They must match and use the proper suffix. "_low" and "_high". Select both groups and export, check triangulation. By triangulating the mesh before you bake, you know that it will not use a different triangulation method in the game engine.
Now I import my models into Marmoset Toolbag 5 for baking. Click the bread icon to set up a new baking project. Select the map output size and type of maps you want to bake. I bake 4k and output the following: Normal, curvature, and Ambient Occlusion or AO.
Under AO, select the gear and uncheck the box that says 'ignore groups'. You can also flip the Y channel in the Normal Map for OpenGL or DX12. Click the start button under baking.
There are a few errors in the bake. This is normal, it's not too often you get a perfect bake on your first try. I'll cover the most common issues. If a mesh is not receiving any data transfer, check the folder and make sure the high and low-poly names match, and they are on top of each other.
The most common issue is burning from another mesh, or that your low-poly mesh doesn't engulf the high-poly mesh completely, or that your UVs are overlapping in 2D space. I double-check my UV layout and then move the folder/ explode the meshes and rebake. It's fixed!
The second most common issue is skewed data. There are many advanced ways to fix skewed data that I won't cover here, which require making in-between meshes. Almost all these issues can be resolved within Marmoset Toolbag. Skewed data tends to happen when there isn't a lot of geo in the low-poly mesh relative to the high-poly, using floaters, or insets of detail.
There is an interactive paint tool inside of Toolbag that lets you paint the mesh in real-time. This is effectively changing the geometry face normal average to be straight up, similar to a ray trace projection in X, Y, Z. Do not paint over seams, or you will mess up your edge normals, effectively painting hard edge artifacting into your textures.
We are now done baking the high-to-low poly model. With some practice and experience, you can start to notice threads and causes of bad bakes. Now, back to Maya to export our meshes to Painter for texturing. I make a duplication of the mesh and explode it to the side.
This allows me to texture areas easily that are hidden behind other meshes. I rarely texture anything in UV mode. Select both the original mesh and the duplicated exploded mesh and export as a single FBX. Note, these meshes must share the same UV sets.
Substance 3D Painter
Let's open Painter and get things set up. File, New. The template is ASM-PBR Metallic Roughness (starter_assets). The file is the exploded mesh. Document size 4096, you can change this later if you like. Everything else is default here, except I changed Color Management to Legacy and clicked 'OK'.
Once the mesh loads, open up the display settings, and change Environmental Alignment to camera. This allows me to easily see my textures regardless of which direction the HDRI light is coming from. Under Tone Mapping, I change it to ACES.
Note, changing it here instead of in the document setting results in a black background, which I think makes it easier to see colors and contrast. Anisotropic Filtering is set to very high. Last, open the Shader Settings and change Specular Quality to Ultra.
Now, let's import the map we baked from Marmoset Toolbag to Painter and bake the rest of the necessary mesh maps. Bring your maps into the asset pallet and add them to your current project. In the Texture Set Setting, add the maps to their corresponding mesh map.
Now, click on the baking icon on top and create the rest of your desired mesh maps. The only thing I do differently here is create a Mesh ID map with a random color so that I can quickly geo mask the folders for organization.
Texturing is part methodical and part experimental. I start with a plan of attack, how I'm going to build my layers up, and quickly it becomes a mess. So it's very important to stay organized and name things as you go. Here is what the folder structure looks like.
The knife is only 2 colors, black and gray. To further complicate things, there is only one material, painted metal. My job as an artist is to capture the nature of the material properties while still staying within reason to PBR ranges. Let's take a closer look at our references and start to make some general observations.
There are 4 main parts: blade, handle, chip, and hardware (screws, pivot, loop). Remember earlier when I talked about how edge quality and hardness can help the readability of a surface? Well, 3 more attributes can solidify that. Color or Albedo, Roughness, and Noise Patterns. With color, I changed the value a bit for contrast and pop, so parts didn't get lost.
Roughness creates more pop when light hits the asset. Here are my observations. Note, the hardware was slightly darker and smoother than the meshes they sit on, and was adjusted last.
Noise patterns are applied per asset or shape to help with readability. Before we get caught up in the details, I need to block in the Base Colors, Roughness, and establish the unique noise patterns.
Notice how we use color to define the assets and plane changes. Not PBR correct, but within range. This is most evident on the blade, where the flat part is slightly lighter than the sloped parts. The roughness base is all within 20% of the 50-yard line. We need space to make the new edge wear pop without getting a mirror finish. And headroom to layer details on top like dirt. Let your Roughness Map do work!
Metallic, for now, is black or non-metal. The exposed blade is set to .67, not anywhere close to 100% metal. In a metal roughness workflow. Things tend to be read as metal or non-metal. However, if you put your metal value at 1 and it's next to a non-metal, you get a halo effect or white flux at the transition.
I never go above .875 on my metal values. Here are the base ranges for the Color and Roughness. If all your layers reside in the same Color and Roughness ranges, you'll end up with cloudy, messy, and unreadable surfaces.
At this point, you should have your render open so that you can see your progress and adjust accordingly. Here is a quick preview inside the Painter viewport. Notice when panning the light, you can see the plane changes because of the slight color values given to the blade.
This very slight change in value creates a distinction between the different plans when in shadow. When in direct light, the noise patterns help distinguish the plan changes, and the blade looks like a single value. Readability is more important than realism.
Disclaimer. For the sake of this write-up up I'm only going to show the step-by-step for texturing the blade. The same process was followed for each part with only minor adjustments. A couple of things to keep in mind, number one, I do not use smart materials, and I rarely use generators.
I highly recommend building your own base materials. Learn how to observe different material properties and build them up layer by layer. These tools are great for increased productivity and will most likely look better than anything you will create in the beginning, but everything will look the same.
Second, start gathering and creating your own library of alphas. Everyone has access to the base noises in Painter, and most weapon and prop artists all have the standard 'required' alpha packs from textures.com. If you want unique and interesting surfaces, you need to create your own and heavily modify anything procedurally generated.
Just about every layer in this project is handcrafted! Recently, I've been taking a lot of pictures of industrial metal doors and door jams, where things get bumped into over time.
After blocking out the values, I wanted to experiment with using gradients to help establish the plane changes and shapes in the blade's surface. By using gradients that flow in opposite directions to each other. The gradient helps move the eye towards the sharp part of the blade. A very subtle effect that helps readability under a variety of lighting conditions.
Next, I start to build up general wear, referencing the images. Adding the following, perlin noise, to add a slight value shift on the surface, dark spot, and some decoloring. Another pass of dark oils is added, this time with a harder edge to match the reference better.
The logo was added by using a stencil that I created in Photoshop. It was stamped onto the surface. The stencil is blurred slightly so that it fits the blade surface as paint (a slight lip), and levels are added to control the brightness of the logo.
Grunge added for unique decolorization, and a blur slope to add imperfection to the edges. All of these layers are used so the logo matches the wear of the blade.
To add a general edge wear, we start with the Metal Edge Wear Generator. Remember when I said that if I use them, they are heavily modified? We then multiply a grunge overtop to give random values. Through a series of paint layers, we dial it way back and get value on the edge where we want it.
We are not worried about having it 'just right', so that's why we started with the generator and then used the grunge. We are simply observing how the edge looks overall.
A few scraps were added near the bottom. With the base values blocked in, I start adding the large scrapes to establish landmarks and points of interest. The main scratches are put in using custom stencils.
These also have a slight random color added to them by applying a color texture that I made in Substance 3D Designer. And an HSL filter has been added to control the brightness and saturation of the color.
Wear is separated into many parts. 1st, a general wear mask where the wear can take place. 2nd, a brightness stack, which gives me full range to pick and choose hot spots. 3rd, a depth stack that allows me to independently control height information within those landmarks.
Let's hit the tactical pause right now and take a look at our core maps. Color, Roughness, Metal, Normal. Next, we will add a slight shimmer to the surface by using modified dirt, one large and one small. This detail expresses all maps except height and is very subtle.
The last part of the blade is the sharpened edge. This is fairly complex and broken down into parts. 1st, I added vertical striations. 2nd, I add some thin milling lines on the serrated edge. 3rd, we add colors, then we limit those color locations. Here's a progression of the layer stacks that make up this effect.
The last effect on the sharp part of the blade is the filling effect. This is something I noticed that was absent on just about every 3D knife on ArtStation that I analyzed. It was a cool detail that I wanted to nail. However, it proved to be very time-consuming and difficult.
After multiple attempts, I finally got something I was happy with. It's created with an alpha from one of my door jams. There are some very tiny and sharp scratches. This alpha is placed and painted over the edge, rotating, scaling, and overlapping to match the reference. Both sides of the blade are unique and receive two passes, base filing and new highlighting.
Now that the main blade is surfaced, we can turn our attention to the details that sit on top of the surface. These elements are as follows: grime, dirt, dust, fingerprint, and hair. Depending on the asset, sometimes I'll handle these elements at the global level.
However, I chose to do these elements per part to maximize readability based on the material they are layered on. To know where to put these details, I used a digital microscope. The heavy grime tends to collect near the pivot areas. Dirt around the thumb stud. Dust lightly on select areas to help settle or sit deep wear into the asset. Fingerprints on contact points of the blade for opening, and hair generally collects on top of the oily grime.
Here is the progress of the final layers being built up. Make sure that you have a reset area and room to layer these details. My references had more fingerprints on the blade, however, I limited them for a couple of reasons. One, it started to make the texture too busy and messy, and two, I wanted that detail to be something that was more associated with the handle.
A very similar process was followed for each part of the knife. As a matter of fact, the first part of the knife that I textured was the pivot. This was in part because it was small. And gave me a testing ground to develop the process. When we see something finished, we often assume they got it right the first time or did it without any setbacks or difficulties.
This couldn't be anything further from the truth. Each part was textured and revisited with major revisions 3 times based on feedback that was received along the way. The handle took 4-5 major revisions before I was happy with it. Here's a look at the progression of the pivot.
The very last thing I do in Painter is add a sharpen filter to the color, roughness, and metallic maps. This is set very low, to something like 0.1 - 0.125. Any higher and your textures will become perlin noise. Here are the final textures inside of Painter.
Rendering
Let's hit print screen and call it a day! If you made it this far, pause, take a break, and come back with fresh eyes on your project. I think rendering and presentation are how you show your passion and respect for the craft. I probably spent about as much time rendering as I did texturing.
Before I started rendering, I looked again at my target shots in my PureRef. My biggest inspiration was from ads on websites and in magazines. I wanted moody, artistic shots that looked drastically different from what others had rendered on ArtStation.
Then I watched several videos by professional photographers on lighting setups. One of the areas that I wanted to focus on was understanding rim and fill lights. Almost all my shots use a standard 3-point lighting setup. Typically, I set up the rim first. Then set the fill light opposite it and try to get so that everything is slightly lit except the main surface.
Finally, I put in the Key light and adjust the angle until I see the highlights on the metal pop. Then I'll go in and adjust each light. Once the composition is set, I'll render out several shots with different lighting conditions.
In Marmoset Toolbag, I use folders to keep my scene organized. Most of these shots are staged with Megascan assets. All assets are put into the group along with a duplicate of the knife(s). Also, the group holds the camera, lights, and sky for said shot.
Marmoset Toolbag will only allow you to have one sky active at a time. This allows me to have many lighting variations in the scene at once. Just changing the HDRI can have a drastic effect on the look and feel of your renders.
Most of my camera settings are very similar from shot to shot. Dynamic moody studio shots use ACES, and outdoor shots use Hejl tone mapping. Chromatic Aberration is set very low, ~0.1 range up to .2 on close-ups. Exposure is usually around 1.1-1.25, with clarity under .35.
Contrast is used sparingly, and sharpening should be kept under 0.25 in most cases. As you can see, I sometimes vary from those guidelines. In the end, it's what shows your work best. Here is my camera setting for my first 3 shots shown in my ArtStation post.
During the rendering process, I staged about 20 shots with slight variations in lighting, camera angle, and DOF. Over 2-3 weeks, I probably rendered over 100 shots based on feedback from my Discord and The Weapon Room Discord community.
In the end, I ended up with about 10-12 shots that I liked. The biggest challenge here was making each shot unique, there really are only two sides to a knife. Here are a few of the renders that I did.
Let's take a closer look at the staging, rendering, and post-process composite in Photoshop for each of the 3 shots. The Black & White Blocks were the most complicated shot to set up and took the most iterations.
Here is a side-by-side of the reference and the first attempt, and my lighting setup for this shot. The lights didn't change much or at all. Only the support props are used for staging.
The main issue that I was running into with this shot was that all the logs in the MegaScans library did not match the texel density of my knife at the scale that I needed them. This shot, I almost gave up on. But I really like black and white high contrast photos, so I tried laying a few beams side by side as a last-ditch effort to save the scene.
After removing the color, the negative space between the beams became quite strong, so I sculpted some dirt piles in ZBrush and applied a generic ground texture to them. This geometry is clipping into the beams in the renders. Not satisfied with the look, I took a ground dirt and gravel mesh from MegaScans and put it on top of the beams and rendered it out.
Then I hid that layer in Marmoset Toolbag and rendered out the same scene again with rubble scattered. In Photoshop, these layers are masked out where I wanted the dirt to fill the voids. This was a quick hack to get the results that I wanted, vs exporting out the meshes and sculpting around the crevices or running a simulation for the debris.
In Photoshop, the first thing I do is duplicate my render and adjust it using the RAW editor. In RAW, I adjust lighting, contrast, clarity, sharpness, and sometimes color temperature. Again, you want to be very careful not to over-sharpen your images. Too much clarity, contrast, and sharpening will turn your image into noise.
A few additional adjustments were made in post-processing, such as healing the beams where there are geometric artifacts from the scans being over-decimated. Tweaks of the dirt and rubble in value and focus, added a Gaussian blur to match the beam's texel density, which in turn made the knife more in focus. Here is the final rendering:
The Natural Block render is fairly straightforward, but it took the longest to stage. I had to find and experiment with MegaScans that looked closest to the reference. I ended up adjusting the color value on the fences to give better silhouettes. The ground planes are placed at extreme angles, and some stuff is floating to make the desired framing and composition.
For this shot to work, though, I needed to make a small adjustment to the model. When the blade is fully extended, part of the handle flexes back into place to hold the blade in position. So I went back into Maya, and instead of rigging the asset, I simply used the soft selection tool (set to surface) and bent the metal part down.
Here's the lighting setup in Marmoset Toolbag. Tone mapping is set to Hajl:
In Photoshop, again, I started with a RAW edit, making slight adjustments. The next step was masking out the blade for more control and the blocks in the foreground. While playing with different HDRI in Marmoset Toolbag, I decided to try the sky replacement feature in Photoshop. A few adjustments are added to the knife and blocks to match the reference, and the final composite is complete.
Here is the final render:
The final shot is the closed knife. This shot was one I decided on my own to fill in the gaps of what I already had, there were no reference images for this shot. To hit 10 unique renders, I needed some with the blade closed and partly open.
I also had studio shots and a lot of marketing shots with logs in nature. So this shot was set to be different from the beginning, closed contrast with bold cement and rubble. There is nothing fancy in the shot, just 2 lights. This shot was nice and required little to no adjustments in Photoshop.
Here is the lighting set up in Toolbag:
That doesn't mean I didn't do a little bit. I ended up rendering two versions of this shot with different levels of DOF. In Photoshop, I masked them off and blended them to have a heavier DOF leading up to the knife.
The last shot ended up being one of the most straightforward. One challenge with lighting this prop overall was that the blade and handle color values are well within range of each other. I used that as a guide when placing my key light brightness, position, and angle. The blade and handle needed different values in light.
Conclusion
Let's be honest, we've all made work that is less than stellar. That is why we should update our folios regularly. Even on good projects, not every shot is great, so we cut them, even though it's painful to see work thrown away. Out of the 100+ renders, I kept 10, not including breakdowns, flats, and reference images.
In this section, I want to talk a little bit about my philosophy when creating a post for a project. How I decide which renders made the cut, and why they are in the order they are. Often, job postings state they are looking for artists with a strong eye for aesthetics. What does that mean? And how do I show that? I think this is someone who understands the fundamentals of art and design.
Mastered light, color, composition, etc. And the way we show that is through the choices we make in folio layout and image choices. Showing renders that are redundant or filler can lead someone to question my artistic eye. We are often evaluated on the weakest image in post or folio, not the strongest.
They will question if you know it's not as good as the other one, and if so, why didn't they cut it? I can tell you from experience that the reason I have not cut things in the past was that I was too emotionally invested in them. Hiring is NOT an emotional decision.
Ok, with that rant out of the way. I took all my renders and grouped them into similar shots. I was only going to include the best shot from each category. I had planned to include 6-10 shots in the post. Open, front and back, closed, partly open, close up of blade, close up of handle, and disassembled.
Anything that would be perceived as redundancy would have to be staged drastically differently or give much different lighting and mood, hence the high contrast B&W shots. After grouping these, I reviewed the images with a group of professional artists in the TWR Discord for feedback.
I took the feedback and reworked the top renders. And did one or two more rounds of rendering and image compositing. The order of the images matters. I lead with an established shot, which means the whole model is visible and easily readable.
Also, the first shot tends to be the one I've put the most effort into, a cinematic look. If this first render isn't killer, they will most likely not scroll to the next to find the 'good one'. It's not often the first image you see on a post is B&W. I also loved the material contrast that was visible in the blade and handle. The reason the next shot is the vertical outdoor shot is that it is the complete opposite of the first.
The first is B&W and almost orthographic, followed by a fully realized stage scene. The color shot is moody and requires scrolling on a PC. On mobile, it fits perfectly in the vertical format. The third shot is the closed knife sitting on top of broken cement. This is many people's favorite shot, judging by the comments and feedback.
We just showed back-to-back renderings of the knife fully opened. This offers a new look at the same asset. I strongly considered having this be the first render, mainly because on mobile, when you're scrolling through your feed, you do not see thumbnails, you see the first render, and it commands more screen space than the first image, which is shorter vertically. The decision to place it third was due to my first rule: the first shot is established and must be instantly recognizable.
From here, the renders are ordered based on flow. 4 and 8 are very similar, but 8 is a close-up, so I don't put them back to back. At the end, I show the orthographics, then orthos with wires, then flats with UVs, and references. This order is always the same, so if someone is going through my folio, I've established flow and expectations, making it easier for the reviewer looking at multiple projects.
I never include video or SketchFab unless necessary (VFX or animations), because it can take forever to load! If you want to include them, put them at the end of your post, so they load by the time the user scrolls down to them.
Thumbnails. Getting clicks. This is pretty straightforward. I took all my best renders and scaled them down to about 2x2 and cropped them on the most interesting areas. Increase contrast with RAW editing and levels. What I'm looking for in a thumbnail is readability, contrast, and curiosity.
I just need a click! Keep in mind that there are a lot of amazing works that get little engagement. There is a degree of luck involved. But you have to put your work out there to give yourself a chance. I was lucky enough to have this project posted to the Unreal Engine Channel the week I posted it, which also happened to be running an ad, so it was on the front page for 2-3 days.
Great art takes time. My approach to making appealing assets resided in careful observations of how things are physically. Breaking down the identifying characteristics of materials and surfaces. And posting regular updates to communities of artists for feedback. The biggest challenge for me when I started 3D many years ago was getting comfortable showing work in progress.
The main challenges with this project were limiting details and leaving areas of rest. My former Art Director at Disney, Joe Olson, said once a skilled artist surfaces, a confident artist leaves areas of rest. This was the biggest aha moment for me. After I textured the whole asset, it looked really good, all the details were in the right places.
But it was overdone, too much warning, too busy. So I went back and dialed stuff back, removed some layers, and cleaned up others. Readability is more important than realism. The best advice I can give someone starting is to follow:
- Abstract Observations (deconstruct the physical world)
- Technically Curious (discovery through experimentation)
- Masters of Craft (consistent practice)
- Community Critique (open to feedback)
When it comes to software, pick up at least one box modeling software (Maya, Max, Blender), learn how to sculpt, and master texturing and rendering. It can feel very overwhelming when you start. I spent years modeling before I learned how to texture.
Don't do that! When you learn how to UV, it will change how you model. When you learn how to texture, it will change how you UV. In short, do small projects through the whole pipeline. Pick stuff that is small that can be reasonably completed in 1-2 months. You're going to see rapid improvements, so no need to start a year-long project that you'll want to redo halfway through.
The tools are more accessible than ever before. Training and learning materials or free through YouTube, ArtStation, and publications like 80 Level. Find stuff you enjoy making. You are never too old, either. I didn't start until my late 20s.
Lastly, join a community of like-minded artists that support you, encourage you, and push you to improve, not one that is only going to tell you how awesome your work is. To join The Weapon Room Discord (T.W.R.) community, click here.
If you're considering going to school and want to make cool stuff with me. Click here to learn about our game development degrees at The University of Utah. Utah Games – College of Architecture and Planning.