From Product Design to Game Industry: Texturing MX Vs ATV All Out
First, I would like to thank you for the opportunity to share my game industry experience. My name is Gregory McDonald and I am a Senior 3D Artist at Rainbow Studios in Phoenix, Arizona. I have been working as a 3D graphic artist for 15 years with 11 of those years specifically in the games industry. I hold a Bachelor of Science in Industrial Design from Arizona State University.
My education and experience have made me fortunate to have worked on a multitude of console and mobile games. My latest game credit is with THQ Nordic’s MX vs ATV All Out, which was released on March 27th for the PS4, Xbox One, and Windows Steam Platforms.
My role on the MX vs ATV All Out
I was the lead modeler ranging from vehicles and vehicle parts to the rider characters and gear for the riders. This was a unique game to work on because a whole new development pipeline had to be developed. We moved over to Unreal Engine from the old Rainbow Studios game engine. This required a step up in quality for the bikes, parts, and gear along with using PBR texturing in our production workflows.
In preproduction, I created the prototype Rainbow bike and male rider as the first stage of this process. From there, we were able to move forward and make changes as we needed to for the rest of the bikes and gear. This was, and still is, an exciting time because we have an incredibly talented team at Rainbow and we all took on the challenge.
From Industrial Design to the Game Industry
Before I graduated from ASU, I was an intern for a company that dealt with early military unmanned air vehicles (UAV) technology. After I graduated, I worked for a company that did modeling and animation setup for Logitech. This is where I learned a lot about converting CAD models from Solidworks and Pro-E to triangulated low poly models without compromising the quality of the model. I did a few freelance jobs for some marketing companies and design firms after that. Occasionally, I do freelance designs for individuals and companies when I have the bandwidth in my schedule.
I had always wanted to work in games or entertainment ever since I saw Star Wars, Back to the Future and Jurassic Park. I was inspired by artists like Ryan Church, Scott Robertson, Harald Belker and Fheng Zhu, all of whom came from Industrial Design backgrounds.
One day, in the summer of 2007, I realized I needed to take the leap into games or entertainment. I heard about a local game studio in Phoenix that just started called 2XL Games. I took a chance and emailed to see if they had any open positions. It just so happened they needed a UI artist. Luckily, while I was studying at ASU for my Bachelor’s in Industrial Design, I was also trained in UI/UX design. This was not the exact position I was looking for but it helped me prove myself while getting my foot in the door to eventually do vehicle and character modeling down the road.
Teaching and Mentorships
First, before I get to why I teach, I have to start off with the importance of mentorships because I feel this is necessary for any artist trying to learn and break into the industry. I have always felt that collaboration with fellow artists is the most productive way to share. This has always been important to me and this is the main reason I love to teach. It is also a way to “pay-it-forward” for the mentorship I received when I was a struggling artist.
When I was first learning Maya 4.5 in early 2003, video tutorial resources were scarce. Everything was available through books and pictures with hard to follow steps. Virtually nothing went over modeling processes and techniques. Digital Tutors (Pluralsight) and Gnomon had only been around for a few months and the video tutorials available did not answer all of the questions I had at the time. I posted a question in the CG Society forums wanting to know how to do something specific. Out of nowhere, my soon to be mentor Arslan Abdusalyamov reached out to me and offered his help. He lived in Portland and I lived in Phoenix but the distance didn’t matter with the internet. He taught me so much about Maya modeling techniques in just a few weeks. I could never thank him enough for that guidance and patience when I asked him questions. He now travels the world working on projects and I still keep in touch after 15 years of knowing him.
A few years later, when I graduated from ASU and started working as a 3D artist, I decided to pay it forward to other artists. I would help out as much as I could in online forums. With all of the help I provided, I was recognized for my knowledge and was invited to become a moderator on Digital Tutors. From there, I had a young and upcoming artist by the name of Joshua Lynch reach out to me for help and mentorship because he saw I lived in Phoenix. He reminded me of when I was first learning and I decided to mentor him.
He had great drive and passion to become a game artist. I taught him everything I knew and he also taught me a lot about what it meant to be a teacher. As you may know, he has truly grown to be a great artist and influence in the industry today. I mention this because he sought a mentor and now he is a Senior Material and Texture Artist at Sony Santa Monica. He is also one of the top Substance Designer artists out there in the industry. Oh, and by the way, he provides mentorship opportunities as well!
To get back to your initial question about teaching. In 2013, I took all of the things I had learned through the mentorships I had provided and decided to use this experience to teach night classes at The Art Institute of Phoenix while working full time. Over the past 5 years, I have been teaching various classes for Master’s and Undergraduates at ASU or Undergraduates at the Art Institute of Phoenix. In those classes, I’ve encountered students ranging across many skill areas in digital 2D/3D and game asset creation.
Currently, I have been teaching the industrial design students at ASU. I have also still found the time to mentor a few more artists in that time span too. A number of them now work with me at Rainbow Studios.
How I Discovered Substance Painter
I started using Substance Painter nearly the same day it went Beta on Steam. I remember that my jaw hit the ground watching the use of the edge generators and seeing the particle brush work for the first time. I immediately exposed it to my students and told them, “You need to learn this. This is the future of games.”
I started learning the program on my own as I found the time and later began teaching workshops at the school as much as I could after that. I am a big believer that the key to being successful in this industry is keeping an eye out for new software and techniques to make workflows easier and more automated. Allegorithmic really nailed usability, navigation and the user interface. Especially with already being an experienced Photoshop user, the non-destructive workflow translates seamlessly over with masks and fill layers. I thought it was great in the earlier releases but even in the updates, you have improved the ease of use even more.
Modeling Quads, Motorcycles and Accessories
When working with modeling complex hard surfaces sometimes I have to model them from scratch but sometimes I am lucky enough to get the CAD models. I also do some photogrammetry scans to help get the scale and proportions correct. All of this real-world gear is not made up models. We must get them as close as we can to the real thing to represent them well in our games.
If I am modeling from scratch, with my preferred workflow, I always start with modeling my high poly model first. I have to nail down the real-world shape and proportions first before having the low poly game model. This also allows an art review process with my art director and art team to give feedback on the look of a bike or gear before I move forward. My advice as an artist is that it is always important to get input from your peers and coworkers. You may have overlooked something that they may see. This could save valuable time in the production timeline.
With my high poly workflow, I used to use supporting edges to subdivide my models to get rounded edges. This was always a tedious and nightmare process when having to go back and make changes. With Pixar’s OpenSubDiv introduced in Maya 2015 and later 3ds Max 2016 and crease sets, I have completely revamped my workflow. You just have to visualize your model as if you were going to send it to Zbrush or Mudbox. I never have to remove chamfers and supporting edges if I have to make an adjustment or change using the crease sets. This allows me to iterate more on accuracy with the flexibility of changes. I rarely have to use supporting edges anymore because of this. I can quickly create a low poly version of my high poly model with this modeling workflow. I plan to make a tutorial about my workflow doing this soon in this area.
For CAD models it can be a range of software. The most popular industry CAD software for manufacturing companies and engineers is Solidworks and Creo, formally known as Pro-E. For example, if you wanted to work in automobile presentations, you are guaranteed to get a model from these software packages. Having knowledge on how to use and convert these files is essential.
There are other CAD programs such as Fusion 360 and Autodesk Inventor that are easier to get ahold of and learn as a student. I usually get an STP/STEP file and have to convert them. This process sometimes has to be approached in several different ways depending on the complexity of the model. I find myself needing to still perform a lot of clean up but when converted, I have a really nice high poly model ready to bake from.
Sometimes, doing a poly mesh reduce technique works well and gets me closer to a low poly version. Other times, I find just doing a quick retopology with Quadraw gets the mesh flow and triangle count down closer to where I need it to be. It all depends on the model though. This is a step that really has no easy button or one-off workflow. This is still a step I am striving to improve upon every day. I have discovered some new techniques I plan to use but I will wait to share those. I can’t give away all of my secrets ;)
These are the steps that I use to complete my models with some tips to go along with them. Some of these areas can be more flexible depending on if you are doing a hero model or a simple environment object that someone will see for only a few seconds.
Modeling the High Resolution Model first
- You are not held to any specific software or technique to make your model.
- As long as your model looks physically as close to the real world object or concept as possible then you are on the right track.
- Reduce faceting as much as you can on your HR model. This means smooth transitions and curved surfaces as much as you can. Even hard surface models have rounded edges.
- To get all of these in Maya or 3ds Max, I use Crease Sets with OpenSubdiv. I try to avoid supporting edges as much as I can. This is a non-destructive workflow that allows me to make changes easily.
- I sometimes use a CAD Solids modeler to get really accurate high poly models as well. These modeling packages are purely non destructive and allow change and iteration flexibility. I prefer Solidworks but also have been using Fusion 360 lately.
Create the Low Poly Model from the High Poly Model
- I always do this step second because I sometimes can subdivide a duplicate of the high poly model once with the crease sets to get a nice and accurate silhouette. I can then “conform” to the surface and fix any catawampus verts and edges using - Quadraw on live surface.
- From there I retopologize the low-resolution geometry using Maya’s Quadraw tool to be a game asset matching the silhouette of the high-resolution geometry even more.
- I try to eliminate the look of faceting as much as you can on rounded surfaces
- I like to unwrap each part of a model as I finish it. That way it is already done when I move to packing my UV’s. It is like a gift to yourself later when the fatigue starts to set in.
- It is very important that you have all of your low polygon pieces done before you start your UV Pack. This is where you finish unwrapping your UV’s for each model piece.
- My preferred UV unwrap is in Maya. With the new revamp of the Maya UV Tools in Maya 2017 Update 3, this makes this process so much more enjoyable.
Setting up your Geometry for High and Low to Bake Supporting Map textures for Substance Painter!
- Very Important! Triangulate Your Low Res Model before baking. This ensures the edge flow is the same on your normal map bake. I usually use the triangulate option in the FBX export settings. This can sometimes be inaccurate though depending on the model. Sometimes I have to manually triangulate in my 3D package on organic objects like cloth with deep folds. In 3ds Max, you can throw a “Turn to Poly” modifier on your mesh before exporting. Maya has an “Edit Mesh->Triangulate” option.
- Set up your high Poly and Low Poly meshes for bake groups. This usually involves naming like object with the same names with “_high” and “_low”. This ensures you get bake textures
- Setup Material ID’s on your high res model. I usually create standard Blinn materials for each primary color and name them “ID_Red”, “ID_Yellow”, etc. This way I can right-click and assign them quickly to faces that I want to have mask selections for in Substance Painter.
Baking your textures in Substance Painter or Marmoset Toolbag 3.0
- I always bake the Normal Map first to double check my cage distance.
- Although Substance Painter has a great baker I prefer to use Marmosets baker so I can fix skewing in the bake and cage vertex pushing and pulling.
Texture your model in Substance Painter
- I usually start off with setting up layer folders with simple fill colors. I then use the ID map that I baked to create masks. From there I finish making masks based on geometry elements or UV islands. I find it very important to use the layer capability in the masks. You can now label these specifically in Substance Painter 2017 to the current version. It is very helpful to label these because another co-worker may need to come back to the Substance Painter file and make adjustments or changes.
- I usually check to see if a Smart Material already exists that is close to what I want and modify it. With my masked off folders already created, it is easy to drag and drop the Smart Materials into place.
- Once I get a material looking like what I want I will resave it as a smart material to use again on a similar model or for a coworker to use on a model they may be using. Creating a library like this keeps the consistency going throughout different models being textured.
Export your textures
- A lot of the time I can export from Substance and bring the textures right into Unreal Engine. I usually combine the AO, Roughness and Metal maps into what is called a Combo map. AO goes into the Red channel, Roughness goes into the Green - ---- --- Channel and Metal goes into the Blue channel. I then label this as an extension “_ARM”.
- Sometimes I have to do touch-ups in Photoshop that I just can’t do in Substance Painter. Then I export my texture maps separately to bring into one Photoshop file.
Final touches in Photoshop
- Very important, before opening any textures in Photoshop from Substance Painter. Make sure to set your Grey values to a linear workflow. This can be found in Edit->Color Settings, Set Grey: Grey Gamma 2.2. This ensures your Roughness, AO and - - - Metal Maps do not get changed when opening them.
- I set up folders in Photoshop for each texture I will need in Unreal Engine. For example a folder for Base Color “_BC”, Normal “_NRM”, AO, Roughness, Metal “ _ARM”.
- When exporting from Photoshop, I use an Extension called Expresso Exporter created by Francesco Camarlinghi. You can find it here on his Gumroad Page.
- From there I either bring it to the engine or double check the textures on my Low poly model in Marmoset Toolbag and prep it for Portfolio rendering
Substance Designer and Substance Source
I have used Substance Designer for some small things but not as much as Substance Painter. I have been using Substance Designer more frequently now and plan to sit down and experiment with making some Substance Materials.
As far as Substance Source goes, I do use Substance Source on a regular basis. I am currently perusing through the new automotive Substance materials Allegorithmic just released! I have to be careful because I can get lost for hours. These new Substances materials are amazing!
I am very excited about the project I’m currently working on but unfortunately, I cannot say what the game projects are. I can say I plan to use Substance Painter in all of my professional workflow and personal projects from here on out. It has become second nature to me and essential just as much as Photoshop has been in the past and present. I’m determined to teach as much of it at work and to my students. I will say this, if you are an artist that has been putting off learning it because you don’t have time right now, give it a try. I guarantee it will make up the time you will spend learning it. Just think of it as your 3D Photoshop and more!