Simon Fuchs talked a little bit about the upcoming tutorial he’s been working on. It’s a great help if you want to learn more about making great in-game assets for the current generation of games.
In my new tutorial, I’m going through the entire process of creating a current-gen video game prop. I am documenting the whole process in real time, from the initial block out of the military radio to the final game ready mesh. In the tutorial, you will learn my approach to creating high-quality video game assets. The first chapter will give you an introduction to Maya and ZBrush where I’m sharing all my scripts, hotkeys and workflows that I have picked up in my over 14-year long career in video games. After that, you will learn how to model the block out in Maya which we will then further refine and turn into the actual high poly model using various advanced features like boolean operations and polygro
To sum up, you will learn the entire process of creating a high-quality military radio prop from start to finish. For more information, please check out the trailer for this tutorial
I’ve been noticing that a lot of people have been creating military radios on ArtStation and thought it would be a good idea to create a really polished, game-ready version of one and make a tutorial about it. I started by researching military radio designs online and created a reference board with pictures of different radios. After I got familiar with the shape language of these assets I based my blockout on the parts that I found most interesting and created a version that combined the parts that I liked most. I wanted to include challenging shapes as well as create an asset that used various different materials. This is why I decided to go for a more round design and included elements like the coiled cord and the connecting cables. In terms of creating the blockout I mostly relied on established design principles and tried to balance the level of detail on the asset. I decided to include both areas of high detail like the front plate with all the dials and buttons as well as areas of rest like the part in the back that I image would contain some type of battery.
Mixing Maya and Zbrush
There are a lot of scripts that I am using in this tutorial. Fortunately, they are all available for free on websites like highend3d or Gumroad and I`m showing you how to install them. In addition, I am including many of my own macros and scripts that I have created throughout the years. One of the scripts that I use all the time is DC Bool Manager. It is really easy to use and allows you to interactively adjust your boolean operations in Maya, making the whole process a lot more efficient. Since GoZ is sort of broken in Maya 2018 I have included my own workaround for it – a script that I found on ZbrushCentral. This allows you to quickly transfer geometry between Maya and Zbrush, which is an essential part of my workflow.
My general approach is as follows; I use Maya to create the main shapes of the military radio using boolean operations where possible. After that, I set up polygroups for Zbrush in Maya using a combination of hard edges and UV islands. Every unique UV island will turn into a unique polygroup in Zbrush. I then export the object to Zbrush and dynamesh it. After dynameshing I polish my object based on the polygroups using the different available polish algorithms and masks. This gives me the beveled edges of the high poly and smoothes out all of my shapes. After that, I sculpt damage and dents in Zbrush onto the high poly and then decimate everything, bring it back to Maya and create the low poly and UVs. The radio is then ready for baking and texturing.
Knobs and screws
Using the technique described above you can create complex shapes fairly quickly. For the knobs, I start out with a cylinder, apply a boolean operation and then bring everything to Zbrush to smooth it and get that high poly look. These shapes are really difficult to create using a traditional sub-d modeling based approach as they would require a lot of support loops and geometry density on the base geometry. Using my approach, you can keep your geometry fairly low poly and it becomes fun and easy to create those shapes. The most challenging part is to know how dense to make your base geometry so that it smoothes correctly in Zbrush. This is something that you will learn in the tutorial and once you get a feel for it becomes second nature.
To make them look good I also make sure to keep a high texel density on the unique elements. All of the repeating elements on the front of the radio are only modeled, baked and textured once and then duplicated and rotated across the mesh to hide any potential texture repetition. There are only one unique dial, one connector piece and one of those pieces that the big cables come in and out of. These pieces are then copied, rotated and reused across the model to save on texture space.
I create all my UV’s in Maya. Maya 2018 has some great UV workflow improvements since Autodesk implemented Nightshade UV tools into Maya 2018. I love the new “stitch together” functionality that now scales UV shells accordingly. In addition, Maya does an exceptional job at automatically packing your UV coordinates. It even takes holes in your UV coordinates into account when packing. If you have a cylinder with a hole and some unused space in your UV`s, the packing algorithm will use that space and fill it with another piece when possible. The packing algorithm is really fast as well.
Here are some best practices for UV creation:
Try to keep your UV islands rectangular with a straight outline where possible. This makes the packing algorithm work better and will result in a more efficient use of your UV space.
Keep the texel density across your object even wherever possible but don’t shy away from increasing texel density on important parts of your object where you might need a higher resolution. These are usually areas that are being looked at a lot or contain a lot of small details. In my case, I made sure the display has a slightly higher texel density so that the text does not get overly blurry. I`ve also increased texel density slightly on elements that are being reused within the mesh.
The first thing I think about is how many different materials I’d like to use. After I know the answer to that, I break up my model into different parts and assign a Color ID material to each piece in Maya. This gives me a good idea of the material breakup and the ratio of the different materials to each other. I’m trying to break up my object so that I have primary (green body material), secondary (darker metals and plastic) and tertiary materials (bright, reflective metals).
Before creating my materials I started out researching the type of materials I want to create. Once I have enough reference I go into Substance Painter and try to recreate that material. I use a layered approach when creating materials and usually start out with a color layer with some roughness variation for the base of the material. I then add various layers on top, carefully adding detail and variation to the material. Each layer makes use of the substance generators and filters that I carefully adjust to achieve a photorealistic result. While tweaking those generators, I make sure to constantly look at my reference images in order to create a realistic, believable material.
For metals, the most important values are metalness and roughness. I’m trying to make sure that each material is slightly different so that I get some nice breakup in the reflections. This becomes especially important when rotating the model. As a result, I go back and forth a lot between different values and try different light setups and environment cubemaps in Substance Painter. This gives me a good feel of how those materials behave in different lighting conditions and once I am happy with my material values I go ahead and add dirt and wear and tear on top of everything. For the final polish pass, I make sure to add some handmade details too. In my case, I was trying to have areas that look like they previously had stickers attached to it so those areas become really dull. This breaks up the reflections quite nicely, especially when rotating the object.
In terms of organizing, I keep everything in groups and make sure every layer is named with a meaningful description so that I can easily go back and adjust each individual layer when needed.
Logos and text
I paint those directly onto the mesh in Substance Painter. The text tool that comes with Substance Painter is quite flexible and allows you to type in almost any text and create an alpha from it. This is what I have used for the text of the model except for the logos and the main screen.
For those, I went ahead and designed a few custom alphas in Photoshop, as the text tool restricts you to specific fonts and characters that come with Substance Painter. I then projected the custom alphas directly onto the mesh using a regular brush.
I really like some of the new rendering improvements, especially the local reflections and the Global illumination support. Using global illumination on the final render makes the image look a lot more realistic.
You can especially notice it in areas with emissive maps like the display and the buttons. It allows for the emissive parts to be picked up in your render and you don’t have to worry about manually placing lights in front of those surfaces anymore. They are now accurately picked up in the final render. In addition, the reflections are just a lot more accurate and detailed now which really helps as I do use quite a few reflective materials on the radio.