Tutorial by Brian Burrell
I've always loved the design of the Russian Mi-24 Hind gunship helicopter ever since I was a kid. I decided to create my interpretation of what a futuristic version might look like but with less emphasis on troop transport. My main design goals were to give it a sleek yet aggressive and animalistic presence. I also wanted the vehicle to look very worn down as if it were past its prime in active duty. In order to achieve more realism in regards to the weathering and paneling details, I studied dozens of hi-res aircraft photos that I took during my visits to fleet week in NYC.
Maya for modeling and Mudbox for cleanup and 95% of the detail work (sculpted). Photoshop and Mudbox were used in unison for the textures. The AO maps were generated in Xnormal. Ndo2 and Crazybump were used for additional normalmap details. ** note ** Some of the sculpt work is a bit soft up close but since the main intention was to bake down to game-res, that shouldn't be an issue in-game. Also, Maya LT was used to bring the model down to under under 25K poly count - (24,972) in order to make it more appropriate for the Unity engine on mobile devices.
Specs: Because the target platform for this vehicle was next generation consoles (post PS3/360), I created it with fairly high specs. Polycount: roughly 35k triangles and that includes all weapons and moving parts (a lot of those could be instanced on console). Textures: 2048x2048 set, 512x512 set , 2x 256x256 (glass) --> "Set" = diffuse, color spec, gloss, tangent normalmap The mental ray hi-res renders near the top of this page are using double the texture res listed above but everything else is "game res".
There was quite a bit of 3d iteration on the main design and silhouette of the heli after the initial concepts were drawn. The belly was much fatter at one point and the shell area around the middle tail section had more fin-like attachments. These gave the vehicle a stronger sci-fi aesthetic than I was comfortable with so they were toned down. I relied on several custom mel functions to make it easier to model in a mirrored fashion using lots of pieces without the fear of node/grouping clutter or double selecting geo. This can be partially seen in the video clip below as well as some of the iteration process.
After finishing my base mesh of the helicopter in Maya, I spent several days creating what I call "detail planes" in Mudbox. These detail planes originated from cleaned up photographs of various vehicle parts that I quickly turned into displacement maps. I would then go in with sculpting tools and polish them to my liking. For the final stages, I would bake them out as vector displacement maps that I would ultimately use as stencils on the final helicopter model in Mudbox.
Here's an example of meshes that I initially built in Maya before bringing them into Mudbox and baking out a vector displacement map. For some of the smaller parts like bolts, I saved them out as VDM stamps rather than a stencil. This made it easy to quickly paint with different paths/angles/etc.
As an alternative to using lots of VDM stamps, I also created additional detail planes of bolts that I then used as VDM stencils for rapid projection sculpting. Some situations benefited from the slight randomness of these stencils vs the randomness allowed from stamps.
Here's an example of how I re-used sections from these detail planes on various portions of the helicopter in order to quickly generate the detail I needed. These were used in the form of VDM stamps and VDM stencils (VDM = vector displacement maps).
Here's one example of how the base mesh looked initially before I used the VDM stamps and stencils and sculpted other details.
For texture reference I took most of my own photos before getting too deep into the project. Here's a sample of the sort of weathering I found fairly common in several helicopters that had seen combat (and one lone harrier).
Before I attempt to paint textures on my helicopter in Mudbox, I follow a few steps to make the process go as smoothly as possible. 1) I save out a flat base color map that only has simple color swatches with fairly minimal details. I also save out an AO map so that I can add that as a top multiply layer in Mudbox and see detail easily while working in flat lighting mode. 2) I make a specific variant of the model just for Mudbox painting. This means no UVs outside the 0-1 space and the geometry is split up into pieces that make sense for painting and masking. I might also add 1 level of smoothing to the model without affecting the mesh shape or UV borders. In the image below, I slowly build up the detail in Mudbox once I'm happy with the general color scheme and weathering/aging plan. I rely on several custom brushes that I've created previously, in addition to lots of stencils.
Here are some examples of stencils that I spent a considerable amount of time prepping and cleaning up before bringing them into my Mudbox library. Most of these were derived from personal photos I've taken, while the rest are from 3rd party texture libraries. You can use these stencils as straight up projections and capture all of the color/values or you can use them just as masks for painting 1 color/value or erasing off what you don't want.
While painting, I try to keep my layers organized and arranged logically, especially since I plan to edit them in Photoshop later on and turn them into specular and gloss maps.
It's also important that I work in at least 16 bit mode .tiff format and at the highest res possible in order to keep the artifacts at a minimum while painting.
Once I'm happy with the results, I will export all channels to Photoshop and continue from there. It wouldn't be unusual to hop back and forth once I've made it to Photoshop but generally, I like to finish the bulk of the painting in Mudbox if possible.
Here are some snapshots of the process in reducing the geometry on the helicopter mesh. One of the fastest ways to reduce the poly count for a rounded or smoothed shell is to double click the loop or ring, Shift + Right mouse button and choose "Delete Edge".
Target Weld from the modeling toolkit can be quite useful for removing unnecessary vertex detail. Be sure to enable "Preserve UVs" if you're editing an asset that already has a proper UV unwrap (hold "w" + Left mouse button to bring up the menu to preserve UVs).
The Poly Reduce functionality can be quite powerful, especially if manual reduction methods are taking too long to perform. Adjusting the target count along with Preserve Quads and Sharpness can give drastically different results so it's recommended to duplicate your mesh and try these various settings for visual comparison. Highlight your mesh, Shift + Right mouse button to select the Reduce options box.
Now you can see the poly count stands at 24972. See also the 360 of the final lopoly mesh...