Course overview Course overview
Create AAA level game characters
This course has been designed to learn in-depth techniques for modeling, texturing and rendering a cutting edge real-time character. The class will work similarly to a live mentorship, as students approach the creation of AAA game characters for their portfolios. Students should expect to cover for head and hair, costume elements, low poly UV’s and processing required to get the asset real-time ready, and finishing with material and texture creation to set up the final model in engine with final images. Please note that this is an advanced class for students to push existing character(s) and portfolio pieces. NOTE: This is NOT an introductory course.
Next Gen Character Creation Mentorship WHAT YOU’LL LEARN
The more you know, the better.
Bringing out the best in talent
Lectures by Adam Skutt
Adam is a Senior 3D Character Artist currently living in Cary, North Carolina, working at Epic Games. He has had the privilege of working on The Order 1886 as Lead Character Artist, as well as on Uncharted 4: A Thief's End--two of the most visually stunning games of this generation. At Epic Adam is a part of the special projects team where he contributes to next gen character development in UE4 as was seen at Siggraph 2017 with the Meet Mike demo.
spring TERM Registration
Feb 11, 2019 - Apr 26, 2019
Companies that hire our students
Speak to an advisor
Need guidance or course recommendations? Let us help!
Show us your skills
Not sure if you have the skills, or are you proving you do? Show us.
Interview with Alejandro Olmo
My name is Alejandro Olmo and I am from Puerto Rico. I am a character artist for movies and video games. Currently, I am a freelancer doing voluntary work for a video game called Galaxy in Turmoil for Frontwire Studios. I have been blessed to have the opportunity to work as a concept artist at the early stages of the upcoming Sony Pictures film Venom, and as a 3D modeler for the upcoming motion pictures Replicas. My background also includes smaller projects for 3D printing, 3D modeling for video games characters and as a Professor and 3D Character Artist in the Creative Department for a local university.
CGMA Course Goals
My objective in taking the Next Gen Character Creation class at CGMA was to learn the correct pipeline in the industry for a real-time character. The process was completely new to me because all I have worked on before was concepts and basic 3D models. I wanted to understand my weaknesses and learn how to focus on a specific project and make it look good. It is important for me to practice every day, learn something new, keep pushing myself to get better because my main goal is to get a full-time job in the industry.
Start of the Character
In terms of sculpting each character presents its own challenges. Anatomy is one of the skills I try to keep learning. One of the key elements that allow you to get more value taking a CGMA course is receiving the feedback of your mentor, in my case was Adam Skutt, which by the way is one of my favorite artists. I am not the best at anatomy and his feedback helped me do a lot of drastic changes to the character. There is still much to learn and every day comes with the opportunity to keep learning. The best thing you can do to make a character look good is to use references, without them it is more difficult to achieve the objective.
I always start all of my characters by gathering references. Once I have what I was looking for I start the sculpting process in ZBrush.
Reference & Story
The first step of the process was to look for references as I said above. The details of an organic model like this one are important, it requires time and a clear visualization to make it pop. The process of creating the character, accessories, and clothes go hand in hand. I wanted the character to tell a story, allow the viewers to imagine where he lives, his behavior, his traditions, etc.
My biggest inspiration to create The Norse Shaman came from two of my favorite games: The God of War and HellBlade Senua’s Sacrifice. I wanted to create a character that could easily fit into one of those worlds. I didn’t want to create a heroic character. The main goal was to create a character that makes you wonder: is he good or evil, does he have powers, can I trust him? Something a little more complex. That is why I decided to create an old man, a little deteriorated with tattoos and either little or no expression.
Creating a real-time character and making sure that shaders look good is new to me. To be honest, it is all new to me. I am still working on the character, looking for ways to improve it, to make it look more realistic. I took the liberty of contacting some artists that are already in the industry and asked for feedback. One of the things they all agreed on was that I needed to re-work the skin shaders. I used Mari for the color base and Substance Painter for the roughness and dirt on the skin. For the translucency, I did a bake in Knald and applied it to Toolbag working with some parameters. I also tried to maintain a simple illumination inside Toolbag, basically, a 3-point lighting and a very soft HDR fill light.
Here is a before and after of the skin shader:
To create the details inside ZBrush I use the standard, dam standard, and clay brushes, then I exported a decimated model to Mari and using textures of Texturing XYZ I generated the displacement map. Next step would be exporting it back to ZBrush to have the basic and micro details to do a bake in Knald afterward. I added a noise texture in the detail normal map channel inside Toolbag to have more defined pores and light breakup.
One of the biggest challenges I’ve encountered was to understand the full pipeline and be able to implement it on the character. I also had to learn to use new programs like Mari, Substance Painter, Marvelous Designer, and Marmoset Toolbag. Every character has its own challenges but I could say that anatomy, proportion, and materials are the common ones. I am still working with this character, practicing and learning new techniques every day.
Feedback: Lessons Learned
The biggest lesson learned is the dedication and time that is required to create a high-quality character. I had to learn how to be exposed to constant constructive criticism and not to be afraid to receive feedback from other artists in the industry. Honestly, it helped me grow and it has kept the motivation to keep wanting to learn more, be a better artist and fight more to achieve my dreams.
Real-Time Character Creation
Interview with Bailey Wheatland
Hello, my name is Bailey Wheatland. I am a character artist and a recent graduate from the Savannah College of Art and Design (SCAD). I currently reside in the small town of Streator, Illinois where I have lived for most of my life. As a child, I always had a massive interest in video games. Some of my fondest memories include me and my family having Crash Team Racing tournaments at my aunt and uncle’s house. This formative gaming experience is what led me to love them as deeply as I do now.
For as long as I can remember I have always been referred to as the “art kid”. I would make my own comics, create new dinosaurs, and write short stories just to keep training up my creative muscles. I took a 2-year break from art during middle school and it wasn’t until then that I realized that my love of games and my passion for art could coexist. This realization is what led me back to creating art. It became this new thing of knowing exactly what I was going to do with my life.
This journey into 3D art began around the time I was 13 when I started learning Blender.
I realized early on that my main interest was in creating characters and creatures. There was something that appealed to me about organic forms as opposed to hard surface ones. I used to model all my organics in Blender with a trackpad on my laptop at the time.
I remember modeling the Thanator from Avatar with that setup. that was the last organic object I made from scratch in Blender, primarily because around this time I picked up a copy of 3D world magazine that featured an awesome looking dinosaur on the cover (what child wouldn’t gravitate towards that?) It was based on a dinosaur concept Greg Broadmore had done for the magazine ImagineFX (which I also had a copy of).
During school, I was a part of many projects that gave me a ton of experience in regards to pipeline development and collaboration. These projects included two animated short films, one live action sci-fi film, three video game projects, and a few board game projects. A majority of these projects were created alongside my coursework, so I was always very busy at SCAD.
Amasol: Start of the Project
Thank you! I had originally selected this character for Adam Skutt’s class Next Gen Character Creation at the Computer Graphics Master Academy (CGMA). The goal of the class was to create a realistic human for a real-time environment. This was our only guidelines in the class so I came up with a few self-imposed guidelines of my own.
- Firstly, I wanted to create a female character since my portfolio lacked that area of character art.
- Secondly, I wanted to create a character with pretty intricate hard surface elements to contrast with the innate organic nature of the human figure.
- My final requirement for the project was to create a character that was just simply beautiful.
I spent 2-3 days searching all over the internet for a character concept before the first class at CGMA. For a while, I couldn’t find a concept with the qualities I was looking for. When I came across an astounding piece by Shin Tae Sub for Legend of the Cryptids, I knew in an instant that this was the character I wanted to tackle for the class. I saw the beauty in the image, but I also saw all of the challenges that came with it. The latter was my primary reason for choosing this character.
Since the class was focused on realism, I knew I wanted to change a few things in the concept to bring it a bit out of fantasy and more into reality, which I will touch on later.
Sculpt of the Body: Getting the Figure Right
Before I started this project I was working on another character project of mine that featured Mediterranean figures. And it happened that the topology was already good to go, so I just used that base mesh for Amasol. It may have been easier to have started from scratch, but the challenge of taking a very muscular male and turning him into a curvy sun goddess seemed like a fun idea at the time. It was also very educational in the long run because you make these neat associations between what makes a character look masculine and what makes them look feminine.
Over the entire project, I also looked at very many reference images of women. 3d.sk was an excellent website for it, plus Pinterest helped with general anatomy breakdowns. After finding a few women that had a similar body type to what I had in mind, I began working on the figure. On 3d.sk they give you so many different perspectives of the same model. Once I found one or two models, I would just keep clicking through the images as I revolved around my sculpt so as to match the view I was referencing.
Another great reference I had was 3D scan data of a female model. I took an anatomy class with Ryan Kingslien a year ago and with that class, I got a bunch of scans of the same model in different poses. It was so beneficial to see how those forms looked in ZBrush with the same material as my model. The biggest question for me about sculpting realistic humans was how much or how little to push forms and details to get that proper design hierarchy seen in the real world. Luckily with 3D scans, that question has been answered. That solution is also related to what skin shader you will be using since some of them diminish the detail more than others.
There was an issue when I began to block out the primary proportions of the hair and the body. In the illustration, her legs were too long if you draw beyond the image. I quickly found out that there was a trope of fantastical female characters having incredibly long legs. In 3D this created a character that looked a bit disproportionate and didn’t capture the elegance that was seen in the illustration.
Since I needed to design beyond the boundaries of the image, I came up with a concept that would resolve these issues. I wanted to extend the legs through realistic means so my solution was to put her in heels. In this way, I am paying homage to the fantasy proportions of the original work while putting a more realistic spin on it.
The scale of the hair also played massively into the elegance of the figure. If the hair was too big, she looked very childish and short. If the hair was too small her presence wasn’t as strong and deviated too much from the concept. This took a lot of tweaking after the texturing process took place to get right.
In terms of pushing realism in the figure, I would say breaking up the manufactured look to the anatomy is the biggest thing. This is caused by an issue of the primary forms being lifeless due to a lack of fluid lines in the structure. Once you lay down your initial primary forms, you should give them a little bit more character and randomize some of those neat straight lines to create a more dynamic figure.
I normally do this when I reach the secondary and tertiary stages of my sculpture. Another personal trick that helps me is getting to the skin detail a bit earlier in the process once my primaries and secondaries have been established.
For this project, I used a combination of projecting TexturingXYZ textures with Mari and employing noise passes, alphas, and hand sculpting in ZBrush in order to create the skin texture. Once I go through this process of adding “flesh”, I go back a subdivision level or two and continue working on my tertiary and some of my secondary forms, along with the occasional tweak to a primary as long as it isn’t such a massive change that it would distort the skin texture.
This newly added noise to the polygonal surface of the sculpt fools my mind into thinking I’m sculpting a real human. I will use a combination of the Inflate brush set to an intensity of 5, the Standard brush set to 10, and the Clay Build Up brush with no alpha set to a 6. With the inflate and standard brushes I honestly feel like I am injecting fat underneath the skin. In my case, this led to a very organic result due to the build-up of subtle form creating a surface that reads as flesh and not as rigid forms.
Once the game resolution model is in the engine, I will further this detail by adding a micro normal map which can be tiled and really helps sell the illusion of skin for up close shots.
There were a few supermodels and actresses who this concept reminded me of so I put a reference sheet together of features that I thought these models shared with Shin Tae Sub’s work. The models I chose were Adrianna Lima, Ashley Greene, and Stella Maxwell.
Once I had my references, my approach to the head was very similar to the process I described with the body. I started with the primaries, then added some break up with the secondary forms, added a few tertiary forms, and then started projecting the XYZ textures in Mari. I then imported the secondary, tertiary, and micro grayscale textures into ZBrush as displacement maps where I set each map to a different layer. This allowed me to get the right blend between the different levels of detail. I then continued to sculpt the head, placing additional form breakup around the fattier areas and adding a bit more asymmetry to the face.
Once the face was done, I added peach fuzz to the sculpt with fibermesh in ZBrush. I then groomed it with the snake hook brush and zproject brush. Peach fuzz and body hair have specific flows that they abide by so grooming the hair in a specific way is pretty important.
For the albedo map, I used Substance Painter and followed the method laid out by Magdalena Dadela which can be checked below. This method includes using a smart material as a base and then adding the different tonal zones to the face along with mottling and the other specifics to the skin. I highly recommend watching that video since it will go into greater detail than I will here.
In addition to the methods discussed in the video, I also added a peach fuzz layer to give the strands a bit of color in the albedo to fake the skin reflections that you would see on actual peach fuzz. The vertex color I baked off earlier acted as a mask for my fill layer in Substance Painter.
Once I had the initial texture done, it was just a matter of importing it back into the engine to see how things were looking. This was tested in a look development map I had created, and in the map we used in the video.
Working on Hair
Before starting on the hair I gathered some references for the flow of the hairstyle. A big challenge for this project was creating a wavy style along with posing it in an animated way to give it the sense of floating in the air.
The workflow I chose was a blend between Tom Parker’s approach and Adam Skutt’s approach. I originally created my own insert mesh brush divided into 3 segments in Blender. You have one part for the root, the middle part that can be continually repeated to add length, and then the ends. Once I got my curve brush set up in ZBrush with the mesh, it was just a matter of drawing each strand out and placing it by hand.
I had the idea of doing a simulation in Marvelous Designer with the hair strands at one point, but since my UVs aren’t useable in that program, there was no way I could pin the strands at the root to get a good simulation. So my other solution was just to mask the roots in ZBrush and then use some of the deform modifiers in there to help me out a bit with getting that light quality to the hair. I was able to quickly mask the roots by flattening the model with the uv master, box masking them, and then unflattening. For some reason, this only worked the one time and all other times I tried this the masking would always get lost between unflattening and flattening. Fortunately, I was able to just use the mask pen and mask the roots fairly well on the model without that additional step.
During this initial process of laying out the hair, I quickly drew a few texture strands for it just so I could get an idea of how much area I would be covering once the planes were textured.
These were just quick-and-dirty sketches that I would then replace with hair textures generated with Xgen in Maya.
I only rendered out an alpha and AO map for the hair. Unreal has a powerful hair shader that requires a few additional maps so I went ahead and made those for faster look development iteration.
These textures included a root to tip, hair ID, and pixel density offset (PDO) maps. I was able to get away with just using constant vector 3 (CV3) nodes to create the hair color. For those unfamiliar with programming or Unreal, this is essentially a node that just offers me any singular color I want, much like how you select colors in Photoshop. The 3 vectors relate to the R, G, and B channels. With the ID map, I was able to get color variations between each strand of hair as well as variety in the values of the hair.
Two other textures I created came from altering the AO which was the normal and the flow maps. The flow map helped blend the planes together so they didn’t appear so segregated from one another. The normal map allowed me to add extra depth to the individual strands which helps a lot for close-up shots.
From then on it was just back and forth between ZBrush and Maya as I continued to shape and place the hair all while adjusting the UVs by hand for the further breakup between the layers of hair. I wish the process would have been a bit more streamlined, but I’m happy with the result I was able to achieve in a couple of weeks time.
I was able to push Epic’s hair shader a bit more by changing the shading model from hair to subsurface profile. This allowed me to not only achieve a softer look to the hair but also to control the extinction scale of the effect which allowed some very nice light to pass through the strands in combination with the PDO map.
Texturing & Colors
The textures for the clothing were very simple. The entire process took me around 20 minutes from start to finish in Substance Painter. With this project, I actually did shader work before texture work which was an absolute reversal of how I normally approach character art. If this were in Marmoset I would have done textures first, but there is so much more you can do with the material editor in UE4.
I did most of my legwork with the sculpt already so when it came time to texture, I used a combination of texture bakes as masks in Substance Painter. I had curvature, AO, cavity, and world position maps for the metal parts of the outfit. By using one of the metal smart materials and a little bit of tweaking and hand painting, I was able to get a good result in a very short amount of time.
I normally multiply the base texture with a flat color (CV3 node) in UE4 so when I made a material instance from the master material, I could then alter the color instantly to match the colors in the concept more effectively.
As I got further along in the process, I did alter the color scheme a bit from the illustration, because the lighting of the scene called for a different approach towards how the colors interacted with one another. For instance, the value of the corset changed a lot over the process. Sometimes a higher value looked better so it could stand out from the chest piece and other times a slightly darker value really made it stand out from the skin. It just took time before I settled on a happy compromise that was everything I was looking for.
The corset is the material I’m most proud of. This was the most complex material I put together on the project, and while it took some tweaking, it came out better than I had envisioned. I knew the general approach to get the material done and that’s why I wanted to have my final character done in UE4 and not Marmoset. You can create beautiful images in both, but the flexibility of the material editor in UE4 is what made this solution a no-brainer to me.
The goal of the corset was to make it a two-layered material. It would feature a cotton twill material at its base and a silk sheer material on the top. I chose to use the clear coat shader as a starting point for the material since it utilizes 2 normal and 2 roughness map slots.
I knew I was going to be utilizing two normal maps so I considered that when creating the high poly version of the corset. I started by creating the base in Marvelous Designer and referenced a sewing pattern of a corset I had found online. Once I got the base done I then brought it into ZBrush to further refine it. After the base sculpt was finished I then sculpted the sheer material on another layer. This allowed me to toggle that sheer structure on and off so when I got to baking the textures, I could easily export two different high poly versions of the corset.
The sheer texture was taken from a picture I took at my local Hobby Lobby that had the exact structure I was looking for. I created an alpha texture from that image and that is what I used to begin constructing the top layer.
When making the shader for the corset, I had originally wanted to use the cloth shading model, but it didn’t offer the layered effect that I wanted. I noticed that one of the cloth-specific texture slots called fuzz replaced the emissive texture slot. So in the clear coat shading model, I treated the emissive slot like the fuzz and I was able to get the same effect seen in the cloth shader.
The biggest challenge in the material was to get the opacity fine-tuned in a way that allowed enough translucency on the border of the model as well as having some opacity shifts within those borders. Sheer is a very translucent material so it was paramount that I got the effect right.
My solution for the effect involved using a combination of fresnel nodes for the opacity mask, emissives, and albedo. Most of this was driven by a thickness map I had baked out of Marmoset that contained the sheer corset high poly information.
Corset before texture work in Substance:
Once I had all my textures I started to plug them into my shader and, with material instances, I was able to tweak the values of the fresnel masks to my liking.
Presentation: VFX, Animation, Lighting
The initial idea to do a short video came about when speaking with my good friend Antonio Gil, who handled the video editing, VFX, and environment for the project. We got to talking a little more about the collaboration and we both decided we wanted to see it through. I had already done a short video for my previous character project so I figured this would keep in-theme with that showcase method.
With Antonio still being at SCAD, this project was what he pitched in one of his studio classes. From that moment on, we were on a 10-week deadline. By the time his quarter started, I was already in a good place with the sculpt. I probably spent one more week tweaking it and then began the retopo process so we could get the game ready asset underway.
Throughout the quarter there were suggestions from Antonio’s professor that initially had me stressed out because of the quality expected and the time we had. One of the suggestions was to employ a good bit of animation which included blinking, breathing, and hair movement. I am not an animator so my mind was already reeling on how I was going to get this done.
Luckily I remembered I had done a degree of the limited animation we wanted with a different project two years prior. My solution was to use blend shapes that I could call via a timeline in Unreal Engine 4. This solution allowed me to animate directly within Unreal.
The drawback to this method is that you can’t currently track morph targets with Sequencer in UE4, so the solution I had was to call the sequence at the beginning of hitting play via the level blueprint. This allowed me enough flexibility to get the timing down for our shots.
Due to time, posing the character all in ZBrush would have been tricky so my friend John Aaron Lohrey provided me with a rig using Human IK in Maya. This allowed me to quickly get the main pose for the character. John also provided me with eye and mouth controls that could be used as well. At the end of the process, I had 7 blendshapes I could animate with timelines in UE4. I had an idle pose, head turn, blink, and breathe, as well as eye, finger, and mouth moves.
The lighting was a shared responsibility between both myself and Antonio. Antonio did the initial lighting for the environment. I then matched that lighting on the character with area lights provided by the engine.
For the final image, I ended up redoing a good portion of lighting due to our previous map in UE4 crashing when trying to open it. Fortunately, this was after the quarter and after the final turn in for the video. I had duplicated the map, but in that version, the lighting needed to be rebuilt. Every time I tried to rebuild it, the project crashed so that is why I needed to alter the lighting in a way that roughly matched what we had for the video.
When it came to the final beauty renders, I edited one of Antonio’s particles to give me a cool circular shape around the energy sphere. The trail was just created in photoshop for an added kick to the image
Feedback: Lessons Learned at CGMA, Experiments, Reflexion
This project took 3.5 months to complete and it taught me so much in terms of patience and iteration. I learned a couple of things in the CGMA class, but most of what you are seeing is a culmination of my education over the past 4 years. Having just graduated, I now have the time to apply everything I have learned to my projects in a much more effective way than in years previous.
I would do so much outside of school whether that be working on collaborations or participating in other course work. For this reason, my mind was always in a state of “go, go, go” so I didn’t get a chance to think on what I learned as much as I would have liked. I understood the content, but I still had so much to figure out in terms of applying it.
Adam’s CGMA class was my one educational obligation this past summer so I committed to that class with my undivided attention. I didn’t learn much new information since I already had access to Adam’s course through recordings on Game Art Institute. I applied for the course primarily to get Adam’s feedback on my work. The course to me was kind of a giant test of my current knowledge and I used Adam’s feedback as a point of validation for said knowledge.
If I were to give a few insights into the specific lessons learned with this project I would say two big ones are the importance of lighting in displaying character details and the patience needed to craft a project of quality.
In terms of lighting, there is a property in all UE4 lights types called shadow bias. The documentation on this says decreasing the value allows the object to feel more grounded with shadows. This is pretty vague so I will give a little more insight on that.
From my experiments, decreasing the shadow bias increases the number of shadows your geometry casts. If you notice in the digital human UE4 project the default shadow bias is set to a value of 0.025. This is extremely low and it allows for much more accurate cast shadows and aids so much to the realism of the figure. All default values for lights are normally set to 0.5. It should be noted that if this value is set too low you will give some shadow artifacts on your model if it isn’t that high in polycount.
For instance, on the legs of my model, you would start to see the edges of the polys that composed the leg because the shadowing was too accurate to the surface. The head, being higher in polycount, was fine at lower values so there was a trade-off that needed to happen. A value of 0.065 seemed to be the perfect compromise for me. This value played a huge impact on realism for the character as well.
I had two maps in UE4 that tested the shaders and textures on the character. I had a look development map, which was just a duplicate of the digital human map and then the Malta map which is where all the content for the video was. It was when I imported the model into the Malta map that I became aware of a disconnect in the lighting.
As I said earlier, the default value of the lights is 0.5 vs. the 0.025 lights in the digital human map. The body looked fine, but the detail on the face was really blown out when compared to how it looked in the other map.
I then set the area lights to a shadow bias of 0.025 and the body looked really off and all the edges of the polygons could be seen.
I spent an entire day thinking that this was a smoothing groups issue. I reached out to Adam Skutt and he said it looked more like a shadow bias problem. Thankfully, this was the issue and not smoothing groups.
The other lesson I learned came exclusively from CGMA. Most of the time in the class you are just sculpting the portrait. This caused concern for me because I didn’t know if I or anyone else in the class was going to finish our characters completely. The class is called “Next Gen Character Creation”, so the name implies that you will be making a whole character in 10 weeks time. As it turns out only two people have done this in Adam’s class during his entire time of teaching. This put to rest any nerves I had about not being fast enough.
I was thankful we got a lot of time to finalize that sculpt and apparently, this was the norm in the class. Some portrait sculpts apparently can take up to 6 months in the industry according to a few people I have asked, so it didn’t seem unheard of to spend the majority of a 10-week class sculpting the head. Most of the mind-numbing sculpts and works I’m seeing nowadays have taken around 4 months to complete. These numbers are coming from the heads of the industry too, so even people of such a high skill level require the proper time to make amazing works of art.
With that, I conclude my breakdown for my character, Amasol. I hope I was able to answer all of your questions thoroughly enough to where there aren’t a ton of question marks.
Real-Time Character in 3D
Interview with Gue Yang
Hi, my name is Zhuyaj and I’m originally from the Bay Area, California. Currently, I’m a character concept artist at Turtle Rock Studios. I went to school for Illustration and Fine arts and pursued concept art in the game industry in 2011. I’ve always wanted to make a game myself but thought that I was a poor designer/painter so I opted for art school to sharpened that aspect first. Although I’ve barely scratched the surface of the 2D realm, I feel that there is some light of confidence in jumping into the world of 3D and finally doing what I’ve always dreamed of.
Start of the Project
As a word of warning, when I decided to take CGMA’s Next Gen Character art class taught by Adam Skutt, I had no clue what I was doing as it was my first ever 3D character and learning every app from scratch was a brain killer! All I knew was that I wanted to do a fan art of the classic survival horror RPG released in 1998 by Squaresoft, Parasite Eve. However, it would have to be re-imagined in the current next-gen realistic style.
In the game Parasite Eve, you play as Aya Brea, a rookie cop in the NYPD who fights off a viral mutation that spreads across NYC. While I looked for a current real-life replacement for Aya, I researched current detective shows that portrayed a confident young female detective:
After gathering dozens of inspiration reference, I started the concept art. I made sure to take elements that I wanted such as the bomber jacket and jeans, and detective badge and a gun holster. Among the changes in the design was the badge necklace, plus I gave her an inner hoodie:
I made the concept mainly for mood and feel rather than likeness, and I ended up making the final character a bit older.
First Steps in ZBrush & Mari
In ZBrush, I started off with a low poly base mesh that would match the concept’s proportion and body type.
Next, Adam recommended that we do a ZBrush quick sculpt of how our clothes would look/fit on the body before going into Marvelous Designer:
As for the clothing parts, I did quite a bit of reference research to find the parts that I needed. It was mainly doing the proper research on the specific piece of pattern and then I started right away in Marvelous.
Exporting from Marvelous to ZBrush
The only issue I had was connected with exporting from Marvelous Designer. Due to the issues I had when merging and ZRemeshing, I used a method shared by character artist Yuri Alexander. He imports separate adjacent parts and thickens them by groups. Then he merges them all at the end.
By week 3, I had imported the simulated clothing from Marvelous into ZBrush. The inner parts of the hoodie which aren’t seen were deleted since they were unnecessary.
Because this is a 10-week course which requires learning new programs, Adam asked us to aim only at getting the bust done. However, I was spending about 8 hours a day after work on this character, and even then I finished only by the 11th week!
To get the likeness I gathered tons of reference of the actress I chose, Lauren German. I didn’t want a 100% likeness, so I decided to omit certain features like the lips, jaw etc.
I divided the head refs into frontals, three quarters, and profiles:
With pore details
In Mari, I used XYZ displacement pores projection. There’s a ton of tutorials on dividing 3 main pore displacements into RGB channels in Photoshop, then project painting them onto the model in Mari. Afterward, you just export 3 Mari displacements back into ZBrush as layers, that way you can find the perfect balance in blending.
For the hair, I followed Adam Skutt’s tutorial on real-time hair which you can find here: Realtime Hair Tutorial. The process starts off with generating Xgen hair in Maya for texture. As for the polyhairs, they consist of 4 layers of polyhairs in ZBrush. This was probably the most tedious task in terms of time. I took about 4 days hand placing each poly hair in ZBrush.
A quick Photoshop concept sketch to imagine the hair direction:
As I said, the most tedious task was placing hairs by hand and I felt like an idiot when I found out there were plugins in Maya that could do it for you… But I suppose there’s some love in it when you do it by hand.
In terms of heaviness, I wanted the hair to look good in final render so I had two low and dense poly cards.
For texturing, I used Substance Painter. Painter already has a decent library of materials which I can use for everyday mundane fabrics and hard-surface so I did not invent any fancy custom materials. I just used the premade materials and played with the variables to get what I wanted:
Basically, I used the method of making ID maps and then applying materials to each segment across all my garment parts. This jacket gif is a good example since it has several ID separations and Painter works really well with dropping in custom materials.
In terms of getting the final render to look a certain way (for example, the jacket), make sure to have metalness turned on plus anisotropic setting like you would for the hair. It allows you to mess with the reflections there and you can get some nice sheen.
Painting the Face
For the face, I started off with XYZ albedo map projection in Mari then took it into Substance for final hand-painting.
I painted the head specifically quite a bit because it’s a lot more complex than the garments, making sure that I get the main hierarchy of color relationships on their proper face parts and of course, some brush speckle for detail. I like to bake the normals and AO in ZBrush rather than doing a bake/export batch in Painter like with the garments. In the end, this gives me more control and subtlety of the face due to higher res textures like 16k.
The skin shader material was a tough one to get right, especially as it was my first time using Marmoset and trying to figure how everything works. It took many iterations of scaling the figure size in Marmoset and tweaking the variables in the shader plus post-processing to get to a decent look and feel.
I’ve attached some images of the settings I used for marmoset materials:
Rendering & Lighting
For my final composite renders, I made a screen capture in Marmoset with the rendering settings cranked up to the maximum. As for lighting, I went with the classic single spotlight with two supporting rim lights behind. I wanted the final mood to be dark and horror/thriller-like so I chose a proper skylight that would support that.
Attached image shows some settings for Marmoset lights and skin shaders:
I had a blast in the class creating this character and learning all the new programmes and pipelines. It is definitely a step up in terms of time-management and technical side when comparing it to 2D art. I love that I can basically teach myself anything if I look for the proper tutorial and ask the right people. The only issue is that everyone has their own way of doing and approaching every step so it just shows how vast the field is. I believe I lost about a week of work because I couldn’t solve certain technical issues, but things like that are a part of the pipeline heartaches.
To be honest, I like that PBR pipeline is getting more artist-friendly these days and I hope to see it advance even further. When I was researching what tutorials could help me in creating this character, I found Frank Tzeng’s likeness tutorial on Gumroad which helped me a lot with sculpting. Simply watching him sculpt was all I needed to be a bit more confident with the human forms. As a character art beginner, I am still learning and gathering knowledge so I don’t have enough resources to share.
Thanks for taking a look and I hope you won’t be harsh on it! It’s my first introduction to 3D after all. You can reach out to me regarding any questions as well as 2D art since that is my expertise.
Realistic Character: Accessories, Sculpt, Materials
Interview with James Chan
I’m a character artist and I’ve been working in the VFX/animation industry for about 8 years now. I’m originally from New York City and grew up inspired by Looney Tunes, Disney Animated Films, and Pixar movies. Those things probably led me to pursue animation and film as a career.
After graduating in 2010, I spent a few years 3D modeling for TV commercials in New York. Then in 2014, I joined Sony Pictures Imageworks and got to work on movies like Spider-man: Homecoming, Hotel Transylvania 3, Ghostbusters, Kingsman: The Golden Circle, and The Angry Birds Movie. I recently started working at Mr. X Toronto as a Character/Creature Artist.
CGMA Course: Goals
After 3 years at Sony Imageworks, I started to consider jumping into the games industry. I was browsing Adam Skutt’s ArtStation and found out about his CGMA course Next Gen Character Creation. I had been a fan of Adam’s work since seeing his characters in The Order: 1886. I love the skin detail he’s able to capture in his textures and materials. So if there was anyone I wanted to learn about game characters from, it was Adam.
I had several goals for the CGMA course:
- Understand low-resolution game topology, which is a bit different from high-resolution subdivide-able geometry in a film.
- Improve my skills in ZBrush, Marvelous Designer, Substance Painter, and Marmoset Toolbag. At Imageworks, modelers mostly use Maya and Mudbox so I was out of practice.
- Improve my texturing skills since Game Artists are expected to model AND texture. I only modeled at Sony so this was a weakness I had to address.
- Produce a portfolio piece that could help me secure work as a game character artist.
Choosing a Character
I noticed a lot of my characters were male and stylized so I went into the course wanting to do a realistic female. I recommend every artist try to tackle projects that will teach them something new. Adam gave us a lot of freedom to choose what character we made. When he asked us to find a concept for homework, I literally just searched in Google “cool sci-fi woman” or something along those lines and found Heo’s awesome design!
First Approach to a Realistic Female Model
Sculpting women is more difficult than sculpting men because your margin of error is smaller. However, this character’s face is based on my favorite actress, Judy Greer, so I was quite familiar with her face already and enjoyed sculpting it. For reference, I would gather a bunch of images together in Photoshop and arrange them by angle, from front to side. That way, I didn’t need a million different photos on my screen and I could flip them horizontally to get the opposite angle.
A lot of the realism is achieved by displacement maps from texturing.xyz. There are a lot of tutorials on applying those maps, but I recommend Salim Ijabli and Jonas Skoog‘s ones since they only need Mari and ZBrush. What’s important to remember is that Texturing.xyz alone is usually not enough to get the best results. I would recommend at least one surface noise pass in ZBrush before you apply the displacements. And if you want the utmost realism, you’ll still have to mix in some hand-sculpted wrinkles, blemishes, and pores.
Clothes & Accessories
The clothing is done mostly in Marvelous Designer. Skin-tight outfits don’t benefit too much from Marvelous Designer since there isn’t much to simulate, but the program was still useful for the subtle folds on the jacket and sleeves. The toughest part was retopologizing all the folds and wrinkles into a low-res mesh, which I did with Maya’s Quad Draw. Thankfully, it didn’t need to be all quads, since triangles are okay for real-time meshes.
As for all the accessories and details, I approached them as individual mini-projects. Each day I committed to finishing just one item: a boot, a glove, a belt, and so on. The real problem is trying to bake the normal maps since there are so many overlapping or intersecting parts. Marmoset Toolbag and Knald are great for this because they allow you to organize your bake into separate groups. So even though the pants and belt intersect, their normals can be baked onto the same map without any projection problems.
I followed Adam Skutt’s technique of making hair cards, which can be found on his gumroad. The basic gist is that you make small planes in Maya and grow XGen Hair from those planes. Then you do an Arnold render from the front view to get the Hair Texture. You need different kinds of hairs to give you variation in length, thinness, or type (like eyelashes, eyebrows, stubble, etc.). As for the cards, I just manually placed them. Before this project, I had never used XGen, rendered with Arnold, or ever placed hair cards.
I was going for a light and soft “modern bob” hairstyle. That hairstyle involves a lot of hair strips that split up the outer surface and makes the hair feel light, which lends itself nicely to haircards! It really helps to include fly-away hairs or singular hairs that messily come off the head to add some realism. To finish it off, you have to surround your hair with a sphere and then project the normals onto your hair cards so they don’t look too much like cards (check the end of this tutorial). I’d also recommend giving your hair a bit of subsurface scattering in the render.
For the materials, I leaned heavily on Substance Painter’s default materials and adjusted them as needed. For instance, most of the leather is based on the ‘Leather Bag’ material and the metallic parts were “Cobalt Pure” or “Aluminum Brushed Worn”. Combining so many different materials onto a single texture sheet normally requires laboriously hand-painting masks to separate the leather, cloth, and metal. Thankfully, Substance Painter can bake ID maps based on polygroups in ZBrush. So just organize your materials into polygroups in ZBrush, export the decimated hi-res mesh, bake the ID map in Substance Painter, and isolate your materials. Very useful!
The skin texture is entirely hand-painted. I followed Magdalena Dadela‘s tutorial about painting skin textures with Substance Painter (see the video below). It involves using Painter’s “Dirt 1” and “Spots” Brushes to paint redness, freckles, and moles.
I also recommend looking at texturing.xyz’s cross-polarized photos. The pictures on the site are a great reference for how the skin looks without highlights and shadows, which is perfect for albedo maps. Finally, I recommend making a cavity map in ZBrush to target the pores and give them a reddish hue.
Rendering was done in Marmoset Toolbag, which was a new tool for me. Navigating all of Marmoset Toolbag’s options was probably the most difficult part of the entire course. In fact, I still don’t know what a lot of the settings do. I’ll call attention to the most important tips for lookdeving, lighting, and rendering a character in Marmoset Toolbag:
- Group your lighting setups so you get specific lighting for different camera angles and poses.
- Use many cameras and lock them into position when you find a good angle.
- Increase the width of your lights to get smoother shadows. Shadows will be jagged if you don’t.
- Set the Environment light in a Marmoset Toolbag scene to be very low. It looks really fake so rely on your own lighting setup.
- When lighting, don’t go too crazy with getting specular highlights on everything. Sometimes less is more.
I believe the most difficult challenges during this project were the ones I placed on myself. I happened to be wrapping up two other characters at the same time I was working on this character for Adam’s course. As a result, I fell behind during the class and didn’t actually finish this character until about 3 months after the course had ended!
Before this, I always felt I could learn everything by myself through video tutorials. I was skeptical of workshops like CGMA, but this course changed my mind. Getting to see a pro like Adam go through his entire workflow, from beginning to end, showed me so much that I didn’t know. Also, the weekly schedule and your fellow students keep you motivated to reach the next milestone of your project. I would highly recommend this CGMA course to other character artists.