I’m Travis Overstreet and I’m a digital artist working in Chicago, IL. I’m originally from a small town outside of Atlanta, Georgia, but I moved up here for work five years ago. I currently work for a small startup in the mobile casino space based out of the UK. My work in Chicago has mostly been centered around creating art slot games with a few freelance ad jobs here and there. When I was in Atlanta, I worked mostly in the advertising world making various spots for internal and external use. Because of the location and nature of my past work I’ve had to cover a wide range of skill sets from various 2D and 3D tasks to animation and more.
I graduated from a small university in Georgia with a BFA in painting and sculpture. That was around 2009 shortly after the economic and housing crisis, so jobs, especially jobs for a fine artist, were scarce. I always wanted to work in the game or film industries but had a bit of a phobia when it came to the technical side of things. I decided to swallow my fear, double down and go back for my MFA in animation at Savannah College of Art and Design in Atlanta. The program there was wonderful and got me up and running in Maya, various Adobe products, and ZBrush. I was hired before finishing my degree and I’ve been neck-deep in 3D since.
Countless Benefits of Joining GAI
My wife is currently wrapping up her medical degree which is freeing me to focus on becoming a character artist. I knew I wanted to find a program or class to guide me and keep me accountable as I developed my portfolio. I was aware of Ryan Kingslein and had been seeing more and more of his tutorials and talks on the CG sites I frequented. His approach to teaching and his overall philosophy resonated with me so when I saw that he offered a Character Art Bootcamp it was a no brainer.
One of the most valuable components of GAI is the community. They’ve developed a substantial network of current and past students and teachers from all over the world, across a multitude of studios. It’s quite active whether it’s critical feedback, tutorials, job openings, philosophical views on art or the industry, or just a random post. It’s also a healthy community that offers accurate feedback in a non-toxic way. Ryan himself is constantly flooding the channels with new tutorials and processes as he discovers new ways of working and perfects existing processes. Speaking of Ryan, he’s directly involved in the Bootcamps. He guides/ teaches the first half of the Bootcamp and brings on an industry professional to help teach the second half. He stays on and gives guidance and feedback but lets the industry pro get in and give valuable feedback and advice on the development of your final piece. Their feedback and critique are invaluable. If you trust them and follow their advice you can’t help but come out with a great piece. Feedback is also quick; you’re never sitting around for days waiting to figure out what you should do next.
Also, because the community is so active and filled with industry pros, you’re getting to learn about the newest techniques, processes, and software. It really helps to know where to focus your attention when it comes to the multitude of new processes, software, and techniques flooding the web constantly.
This class helped me in a multitude of ways. If I had to narrow it down, I would say the most valuable things were the critiques and learning the importance of process. Before this class when I sat down to create a character, I had no set practice or process. Because of that, I never achieved consistent or repeatable results with my work. Most pieces would end up half-finished or rushed out the door. During this class, I was shown a clear process from beginning to end that, if followed and given the proper time and effort, would result in a finished piece of quality. I was also encouraged to add to and iterate upon the process in the hopes that the development would help myself and others down the line. I think this is part of the reason the community at GAI is so effective. Everyone shares and grows together.
Secondly, the critique sessions were extensive and incredibly necessary. Had I not had Ryan’s or Samantha Rogers’ (my industry pro-teacher) guidance and feedback my character wouldn’t be half of what it turned out to be. I’ve been in online classes before where feedback and critiques are done quickly and glossed over but with GAI it was the focus. Sometimes I learned just as much from others’ critiques. It was a key piece of my workflow that I’d been missing. I’ve been working in a vacuum for so long that I couldn’t see the mistakes I was making. Having someone shine a light on things allows you to be able to adjust and correct those issues in future projects. It’s a clear path to growth that I had been neglecting until this class.
I was most excited to learn hair and cloth at GAI. They absolutely delivered on both accounts, but they also helped me with my anatomy which I didn’t even realize had been an issue. They taught me things I didn’t know I needed, and my work has improved because of it.
Start of the Project
First off, I know I wanted to create a female character, as I tend to make male characters typically and I wanted to push myself in this way. After I decided that I began a search for a concept the grabbed me. I didn’t have any other restriction than that it needed to be female. I landed on a wonderful concept that was created by Roman Kupriyanov.
This piece was interesting to me because of the complexity of the costume, the braids in the hair, and the variety of materials. From there, I collected as much reference as possible.
I started off by sculpting the head and shoulders. I started with a single dynamesh sphere and built it up from there. After several sculpting sessions and rounds of feedback, I decided to go in and do a deep dive on the anatomy. It’s something that took a bit more time but was worth it in the end. I realized that I had gaps in my knowledge about facial anatomy and this was a way to learn that while also moving forward with my piece.
This process began with building out the skull. I used a similar approach as my initial head sculpt, using a dynamesh sphere and sculpting it out. Of course, I also gather tons of skull reference and poured over it in detail. Looking back on it I wished I had just bitten the bullet and bought a physical skull reproduction so I could study it and take my own reference from life.
Next up I added in the muscles and fat pads. For this, I used the curve strap brush in ZBrush. I turned on the “AsLine” button in the curve options menu and the “size” button in the curve modifier menu. Then, I placed the muscles initial position, clicked the model to get rid of the curve and used the move topology brush to fines the placement.
After I blocked in all of the muscles I dynameshed them and used a rake brush to add in the fiber directions. For the fat pads, I used the insert sphere brush and them adjusted and placed the pads using the move topology and snake hook brushes.
Next, I used a rake, trim dynamic, and clay build up brush to flesh out the skin layer. As I did so I tried to pay attention to the primary forms and planes of the face. From there, I moved down to secondary and tertiary forms. Once I had the underlying anatomy of my face in I did a few more rounds of adjustments, tweaking proportions and small forms.
One of the big takeaways from this process was the space between the eye and the outside of the nose. I had never noticed how much space there was between the tear duct area and the start of the bridge of the nose. In all of my past sculpts that area had either been non-existent or crowded, leading to a lack of realism no matter how much I pushed the surface details.
I think if you find you have a knowledge gap, it’s worth doing deep dives like this. As long as you’re still making forward progress on your piece it will grow your understanding and help your process in the future. If you don’t need to enhance your knowledge or explore the anatomy, I think sculpting from a dynamesh sphere is great and to me, it’s a lot of fun. I also think it’s acceptable to start with a base mesh for a head and modify it as needed. I’m using that approach on my current piece and it has been super helpful timewise.
For the body, I used the same dynamesh approach as for the initial head sculpt. I bought a reference sheet of a female about the age of the woman in the concept. I set up references on the floor grind in ZBrush and started sculpting. Initially, I keep my dynamesh resolution very low and try to focus on the larger forms and curvature of the body. During this phase, I tend to stick to the move topology brush. Once the body proportions are blocked I shift to my focus onto secondary forms and planes, using mostly trim dynamic and clay build up brushes. I also increase the resolution of my dynamesh at this point. Around this time if I’m happy with the proportions of everything I will cut the hands off and separate them into their own subtool. This is because the fingers will try to mesh together unless the resolution is set super high.
Modeling & Texturing Clothes
For the clothing, I used Marvelous Designer. I’d played with it in the past but hadn’t made anything substantial. In order to prepare a base mesh for Marvelous, I merged the head hands and body, dynameshed them and decimated it to less than 100k. I then pulled that into Marvelous as my base/ reference mesh. Luckily, my character didn’t have too many complicated pieces of clothing. The biggest thing I learned about Marvelous is to be precise in your measurements. If one edge is longer than another and you sew them together, you’re going to get bunching and unwanted results.
Being new to Marvelous I was worried about how I was going to get the wrinkles for areas where the leather belts and straps overlapped. The solution I developed was to create proxy strap pieces where my leather would be. I increased their stiffness to try and get them to act like leather. After that, I simulated, tucked, pulled and re simulated until the wrinkles were roughly what I was looking for. One other tricky area I ran across was the padded armor section of the skirt. For that, I was lucky enough to find another GAI alumni who’d made a tutorial for it. Kory Molohon’s tutorial worked like a dream!
From there, I brought the clothing back into ZBrush and adjusted the areas where my proxy marvelous straps had been incorrect. I then separated the cloth pieces into separate subtools and did a sculpting pass on them. During this sculpting pass, I focused on clarifying certain edges and wrinkles while softening others. I used a reference to help decide what to clarify and what to soften. At the end of this pass, I also added in some memory wrinkles using alphas. Once I was finished sculpting I extracted the cloth pieces to give them thickness.
For the texturing, I used Substance Painter. I started with a base cloth material that had a weave pattern similar to what I was aiming for. From there, I adjusted the base color to get as close to the concept as I could. Then, I use a lighter looser weave material using a curvature mask as a way to simulate areas wear the cloth may have worn through some of the cloth. Then, it’s just a matter of adding light and dark grunge layers with slight adjustments to the roughness.
For the ripped areas, I used the lighter loose weave material with a very subtle negative height layer, add a black mask, and then paint the ripped areas back in. Around the edges, I add in more subtle wear using the lighter loose weave. I also create a paint layer above all of this where I paint in some height and wrinkles around the torn areas. Next, I create a paint layer and use a very thin brush with a color a bit lighter than the lightest on the worn areas, and a bit of height, to paint in loose strands and fraying. Finally, I add in a subtle lighter-colored layer with the sun fade mask applied. I use the sun fade mask on almost every material at some point. It was made by Jack Caron and available on Substance Share.
As for the leather, most of the details were done in Substance. I made some of the major wrinkles and forms in ZBrush but the rest was done in Substance. I try to approach leather in a very layered way. My leather groups in Substance always have the most layers. It’s essentially skin, just dead and treated, so I feel like it is a lot more complex than most people give it credit for. The first thing I like to approach is the kind of grain/ wrinkle. I’ll usually cycle through some of the base leather materials in substance painter or grab some from substance source that I like. Once I’ve selected the leather base material, I establish the size of grain/wrinkle. I do this by adjusting the texture scale. For the shoulder, I went for a small grain because I figured that area was stretched over metal and had probably received a lot of rubbing and wear. For the straps, I gave them a bit larger grain just to add variety and visual interest. Finally, for the boots, I used the largest grain size of the three because I felt they were looser and more worn than any other piece of leather.
After I establish the base leather I add a layer of “leather rough” material with an edge wear mask. Depending on the leather’s level of wear and age I’ll adjust the mask and layer opacities. From there, I’ll layer on a few light and dark grunge levels. For the lighter grunge levels, I usually use the “leather rough” base material. With the dark grunge layers, I play with shifting the roughness value. I also decrease the opacity on a lot of the grunge roughness layers so that it creates a lot of depth and complexity in the roughness map. After a couple of grunge layers, I add a layer of color and roughness set to a low opacity just to tie everything back together. On top of all that I play with a few more edge wear layers as well as some layers of lighter color and higher roughness using a sun fade mask. In between all of these layers, I also place a layer with light scratches of varying sizes. All of this again depends on the age and use of the leather. My leather was all pretty beat to hell so I went nuts with wear and scratches.
In a couple of areas, I add in more substantial scratches. I start with a fill layer with only height and I knock it down just a bit. Then, I add the leather rough material just above that and put them both into a group. I then change the height layer style to normal so it doesn’t pick up any of the height info from the leather. I add a black mask to the group and then use a brush to paint in the bigger scratches by hand. Above this group, I make a new rough leather layer, mask it out and then paint back in using a grunge brush around the scratch’s edges. Finally, I make paint layer and sculpt in some height information to get the feel of raised edges, wrinkling, and puckering.
Adding Facial Details
After I did the skull and facial muscles work for the head the features were pretty solid. I just needed to add the scar to the eye. In order to do this, I duplicated the mesh, pulled the left eye closed, dynameshed, masked the left eye area and projected it back onto my original sculpt. That way I got back all of the details from my sculpt but had a blank area over the left eye to sculpt in the scaring.
For the scar sculpt, I used the clay build up brush to get the larger forms established, then used the dam standard brush to carve back in some lines and cut areas. After that, I used the inflate brush to puff up a few areas and then I came in behind that with the blob brush to get a bit of randomness and bumps. Sometimes the blob brush can cause some topology stretching so I just dynamesh, mask the left eye, and reproject; rinse and repeat. To polish it off I used the dam standard to add a few wrinkles and crease lines here and there.
For the pore details, I used a combination of ZBrush and a set of maps from Texturing XYZ. I laid out the texture XYZ maps in Photoshop over my UVs using the puppet warp tool then exported them. From there, I brought them in as displacement maps on various layers in ZBrush and toyed with their intensity levels until I had something I liked.
For the face textures, I used Substance Painter. I used a few of the color and channel maps from the texture XYZ set I purchased as a base and set a base roughness value. From there, I belt up layers of warm reds, oranges, and yellows contrasted with greener desaturated yellows. I also broke theses layers up with white mottling textures
From there, I added a few layers of veins and freckles, all broken up with more layers of color and mottling. At the top few layers, I added a few passes of color to bring things back together and harmonize everything. In short, it was all about tons of layers to create a sense of depth and complexity to the skin.
After finishing the color, I created several paint passes on top to adjust the roughness. After going into Marmoset I ended up having to come back to Substance to make my roughness rougher. What looked like appropriate roughness in Substance looked oily in Marmoset. I used Photoshop to adjust my roughness map until I was happy and then adjusted it in Substance accordingly. I also found that I had to this with my normal map. My normal wasn’t nearly intense enough on my skin so I had to increase it in ZBrush and re-bake in Marmoset.
Skin Texture, Eyes, Hair
For the skin and eyes, I followed Vadim Sorici’s tutorial on Marmoset’s site. I didn’t veer away too much at all, it seemed pretty spot on for my needs.
I also used it for my peach fuzz and hair. I made a few adjustments to the specular and subsurface settings to account for blonde versus black hair, but again, it was very spot on.
For the actual hair creation, I used Adam Skutt’s tutorial from GAI. I started in Maya, placing the main hair cards by hand, creating the silhouette. Then, I combined them and made them a live mesh and used quad draw to draw on the next set of hair cards. I then adjusted those by hand until I was happy. Then, I just rinsed and repeated that process until I was happy with the hair.
As for the materials, I didn’t do anything particularly notable other than what I already talked about in the texturing phase except for some micro normal details. For the skin and the red cloth, I added in a skin micro normal and a fabric micro normal respectively, using a mask to make sure they stayed in the right areas.
The biggest challenge with this project was getting all of the different pieces of software to communicate correctly. Something would look great in Substance or ZBrush and look off in Marmoset and vice versa. I learned a lot about getting your work into Marmoset or whatever the end renderer is early and continue to check it as you go. As the amount of software required in CG art expands I think we as artists have to be able to visualize the final result as quickly as possible so we can iterate and make changes as early as possible. I’m only a week into my new project and I already have it up in Marmoset. It’s already helped me immensely.