Contagion isn't your average Zombie Shooter but instead takes a more realistic and different approach to the popular genre with unique characters, environments, weapons, items, and a built in system that makes every round completely unpredictable with resources, objectives, and paths ever changing. From the creator of Zombie Panic: Source Brian "Tatsur0" Comer we introduce it's spiritual successor.
Here is a look at the work of Josh Lennen. In this Contagion Developer Blog Josh explains some of the stages in creating our view model hands that you will see when you play Contagion.
Posted by Tatsur0 on Sep 6th, 2010
Greetings followers! I hope you have enjoyed seeing some of the behind the scenes creation of Contagion! It has been a lot of fun working on this title and a pleasure working with Monochrome. A little bit about myself; I am a 3D artist living in North Carolina. I've been creating product visualization and environment renderings for a local company over the past 7 years and have recently been able to work on a couple of game projects. I have a BFA in Design from UNC Greensboro and find 3D work the be the perfect balance between technical know-how and artistic ability. For Contagion, I have been working on one of the main characters, Eugene. I have also created the FPV arms/hands for Eugene, as well as Marcus. For this blog, I have decided (due to several requests) to make a mini-tut/breakdown for the creation and texturing of Marcus' arms.
First things first. Everything was created using five basic programs. 3DsMax, ZBrush, Mudbox, XNormal, and Photoshop. Max is used to maintain consistency in working with other artists, as well as its ability to export functional .SMDs (since Contagion is a Source Engine game). Zbrush was used for sculpting, while Mudbox and Photoshop were used for texturing. While I love Mudbox's fluid sculpting tools, I have been using ZBrush since the 2.0 release and am thus more familiar and comfortable with its workflow. However, Mudbox will destroy ZBrush for texturing power every day of the week. With the ability to paint directly over your low poly mesh in real-time rendering environment, and the use of fully functional layers, you can't beat it.
Still, everything you make must always be modified to a certain degree. It doesn't matter how great it looks in Mudbox or ZBrush, it needs to look good in-game. These programs ease the workflow, and are very important tools, but they are not the resolution to the final product. Always bear that in mind. There's nothing fancy about the modeling of the arms or sleeve for Marcus. It is all very straight forward and simple. The key ingredient is making the base mesh around an animation rig. If you keep you base mesh in line with that, you will avoid a lot of headache and a lot less people coming at you with sledge hammers, crowbars, and axes from the animation ward.
Once the modeling of the arms and the sleeve were complete, it was only a matter of sculpting. For the most part, I stick to the clay, clay tubes, dam standard, standard, and inflate brushes. For the fine details of the knuckles, I created a couple of custom alphas, and by drag directing them, I was able to place these in the right locations. More alphas were used from libraries I have collected to add in additional details.
For most organic surfaces, I will typically explore my options first. Will I benefit more from a complete retopology of the model, or can I use my base mesh as a starting point? This is typically a 50/50 tossup depending on how many parts are in the highpoly or what kind of meshes were used for sculpting. For Marcus, I used the base mesh as a starting point by collapsing, welding, and cutting edges to reach a good silhouette integrity as well as meet the poly budget.
Lowpoly Arm UVW
After creating a lowpoly of the arms and unwrapping their UVs, I bake out a normal, a cavity, and a lowpoly ambient occlusion map. Since we are working with something that doesn’t need a lot of occlusion, we want to be able to use a cavity map. This will work similar to an AO map in our layers setup, but using the right baking settings, you can utilize this information in other places, specifically wrinkles and other skin details from your highpoly sculpt.
Every game will have its own take on hands. Some will be a little higher, some a little lower, and some with more exposure of the arms. There’s a general space consistency, but that is the extent of it. For Contagion, the most visible sections are just below the wrist upwards while holding 90% of the weapons, and that will be the focus for the texturing.
Moving into Mudbox, I start the texturing by importing my prebaked maps and fixing any artifacts from raycasting. Typically I will bake out a low raycast and a high raycast map and then blend the two between layers. This is especially useful in fixing the areas between fingers.
For painting I will use as few layers as possible, especially when I am hand painting, well in this case, hands :P I’ve already chattered far too much, so I will let the images do more of the talking.
That wraps up our diffuse texturing. A specular map was also created, but I won’t be covering that in this blog entry. Bear in mind that Source reads specular information from Alpha Channels. This limits the ability to utilize color information for a specular map. It is something I hope Valve improves upon in the near future.
Maybe next time we’ll focus more on sculpting techniques, specifically in regards to Eugene’s gloves :) Until then, here’s a final render of Marcus’ arms. Thanks for reading my Bible entry for the day. I hope it was informative and helpful to those out there looking for a glimpse into someone’s texturing workflow.
For more Contagion Developer Blogs -Click Here-