In case you missed it
You may find these articles interesting
Jake: Hey, I'm Jake Woodruff, an Environment Artist at Playground Games. I've worked on the last few Forza Horizon games where I specialized in creating foliage and organic assets. I tend to focus on hard-surface for my personal projects to practice and take a break from the organic side of modeling.
Kyle: My name is Kyle Moody and currently, I work at Cloud Imperium Games. In the past, I worked at Rockstar, Dambuster Studios, Eurocom and a few other companies. Most recently, I contributed to Star Citizen, Red Dead Redemption 2, and Homefront: The Revolution.
National Mech League
National Mech League: Start of the Project
Jake: Kyle and I have known each other for a long time but had never gotten around to doing a collaboration. Yet, we had always wanted to do a project together which involved a fully animated mech - that was our end goal.
The idea for the mech started from a desire to use a lot more color and introduce a more playful style and tone than I’ve done in previous projects. I wanted to get away from typical military-themed designs that often rely heavily on muted colors, weapons, and grime. I needed something that would justify bright colors and interesting elements without being too abstract.
Sports was an immediate go-to for reference, especially American football and hockey which often use lots of bright colors in team names, logos, and promotional materials. Early on, it was pretty clear that focusing on American football not only helped give context to our ideas but also started adding a nice narrative and backstory.
Early on in a project, I normally write a sentence or two which gives a very broad explanation of the world I’m creating in. I then use this narrative to define the visual design of the model. Most of the main elements of the mech are based on American football helmets and body armor which not only helped the design come together quite quickly but also gave it personality and reinforced the theme. As well as real-life references, I looked at Brian Sum's works for more color ideas. Being a bi-ped mech, Titanfall was also a huge influence as we are both huge fans of this series.
Jake: Once we had the general idea and backstory nailed down, I blocked out the mesh to get an idea of scale and proportion and run it past Kyle for any rigging/animation feedback. It's always better to solve bigger issues at the beginning than re-working the mesh later. The blockout was also important as I wasn't working off any specific concept imagery so I was using this phase to concept ideas in 3D.
Modeling was done in 3ds Max. The high poly was created with a standard subd method, but I utilized a kitbash approach for the construction (I did this in the previous projects and it always worked well). Before I started, I created a base library of strong shapes and elements which can be re-used constantly throughout the modeling phase. Anytime I needed new pieces, I would add them to the library. This means that the design language stayed consistent making the mesh feel a lot more believable and coherent. It also means I could add a lot of visual complexity without spending time on producing similar parts over and over again.
An additional challenge of this project was that I had to keep in mind the actual mechanics of the mech, how limbs attach and connect, etc. because the model was going to be animated. A lot of pieces that could be forgotten about had to be fully functioning. for this purpose, I generally research real-life machinery and some basic anatomy for certain pieces. Not only does this make it easier for me to design elements but the model also ends up being way more believable.
Jake: For the UVs, I first made sure that the low poly model was nice and clean and that, generally, each moveable part was an enclosed mesh, minimizing floating geo as much as I could. This makes the UV and baking process a lot more forgiving. In some cases, I even went back to tweak the mesh slightly to make the unwrap a little easier, especially if there were lots of faces extruding inwards.
I decided to go with 3 materials for the mech: one material contained elements that would be mirrored (the limbs), another material contained the torso and shoulder pads, and the last one for the interior as I wanted a bit more texture resolution in case we wanted a close-up camera shot.
Each movable element had to be named separately for baking in Painter. Movable pieces also had to be baked separately to ensure there was no baked-in AO across the moving parts. In hindsight, even though it took a while to set up all the names, it made the overall baking process way smoother and without too many issues.
Jake: I made the decision to be quite restrictive in this project and avoid relying heavily on dirt and weathering to add interest. Instead, I wanted to keep the materials simple to let the design speak for itself. This was also something I haven't really done before so it was initially quite challenging.
After I baked all the elements in Substance Painter, I blocked in all the base materials that I would be using, generally starting from the base and layering up on-top.
- Base metal
This is a fairly simple metal material with slight scratches and dirt to add a bit of depth and variation. I made the base metal quite dark deliberately to help the painted areas pop more and add contrast in the final image. Even at a fairly early stage, I was thinking about the final render and elements I could add to help it read better.
The paint layers are essentially non-metallic solid color layers with a very subtle dirt layer, mainly effecting the roughness to get a little breakup across the surfaces. I avoided adding any height information to the paint layers as I wanted to get the appearance of really thin paint layers on top of the metal.
- Other materials
I made some of the cables and tubes on the back-side rubber just to add some very subtle variation of material properties and added the emissive for the eye to make it stand out.
The main philosophy behind the material work was simplicity, I found myself starting to add too much complexity and dirt early on which wasn’t working so I made sure to strip it all the way back to the base materials and let the design shine through. It takes a bit of time to get used to such clean textures but I definitely recommend practicing restraint every once and a while.
Kyle: The rig built for the mech was a standard FK/IK rig. A challenge I faced was that the shoulders of the mech limited the range of motion of the arms if the hands were above the head. To get around this, I used the node editor within Maya. Setting up a Node network based on the rotation of the shoulder joints would rotate the shoulder pad joint, but if it goes beyond its range of motion it would compensate by adding translation to raise and rotate. This helped with animating as I wanted to limit the amount of extra animation within the time frame I set for myself.
Another challenge was to have as much secondary animation for free as possible within the rig.
Posing & Animation
Kyle: When posing the mech, I looked into a lot of references. Jake and I discussed what poses we would like to see, I googled those poses and put some of my favorites together. Often, I would actually get up and do the pose to get the sense of what my body is doing to translate it. I would take photos from multiple sides as well as watch American football games frame by frame looking for cool poses.
In the animation, I wanted a lot of weight without undermining the ability to move like a human and not just like a typical slow-moving robot. For the run cycle, I wanted to use a different approach that I saw in the Bungee's talk at GDC about rigging. Usually, I would do full IK legs but this time, I used FK for the swing, then IK/FK switch for the moment before contact with the ground, and IK for dragging the foot along the ground.
As a bonus, the way the mech was designed and built made it a lot easier to animate it. I didn't have to worry about the head bobbing and other things and could spend the time on the key areas.
Jake: I wanted the lighting to evoke a studio setup feeling, almost like promotional shots for a sports team where everything’s very bright and clean. To do this, I used a 3-point lighting setup and an HDRI containing mostly neutral lighting. I really pushed the back spotlight to add a nice highlight to everything and make it pop. I avoided having a strong influence on color in the lighting as I didn’t want to overpower the colors of the materials. It was quite intimidating at first to have such a bright and vivid lighting setup as nothing could be hidden in the shadow but it was a really big contribution to the tone of the piece.
I went through quite a lot of iterations with the background color. I discarded any full environment ideas early on and stuck with a more abstract space for presenting the model which meant using a single color to make everything pop. I did have lots of ideas about adding graphics, team logos, and gradients but eventually decided to keep it simple and not distract the viewer from the mech itself.
Everything was rendered in Marmoset Toolbag, so adjusting these sorts of things was super easy. I could keep previewing different colors and backgrounds really quickly. By default, I normally start with a darker background and iterate from there until I get something that feels right.
Ultimately, I just wanted to try something completely different than anything I’ve done before. That led to the vivid red background, and I had a blast iterating on it. I'm definitely going to keep experimenting with different presentation ideas in future projects.
Kyle: One of the main challenges I faced was the time frame I had set for myself. I used Trello to plan the tasks to make the process quite manageable.
Jake: During this project, I learned to try something different and push myself outside the comfort zone as it's an invaluable experience and can help explore new ideas that would otherwise never come to life.
I also highly recommend collaborating if any opportunity comes. It not only gives an incentive to reach the end goals but also allows you to really push the project to the next level with the help of your teammates' strengths. It's something I do every day on a professional level but have rarely considered for personal projects.
My main challenge was to create an overall design that was visually complex but also easy enough to rig and animate. I think a big part of the solution was to rely on real-life references in the design so there were rarely any pieces that didn’t have a purpose.
Among the tips for those who want to create detailed mechas would be to create a kitbash library at the beginning and update it along the process. This library can also be used in future projects. Make sure to balance out areas of detail and rest so that the design is easy to read. It's always tempting to cover every bit of flat surface with tons of detail but areas of rest can really enrich the overall design. And finally, create a story! Develop a world your character lives in, find answers to all possible questions and make the design feel believable.