Goblin Knight: ZBrush to Maya Workflow and Grooming in XGen

Goblin Knight: ZBrush to Maya Workflow and Grooming in XGen

Espen Netland Jakobsen discussed the production details of the 3D character Goblin Knight: modeling the body and clothes, using XYZ textures with Mari, creating fur, and final scene setup.

Introduction

My name is Espen Netland Jakobsen. I am a character/creature modeler currently residing in Bergen, Norway. I have worked at places like Storm Studios, Qvisten Animation, and DNEG and contributed to titles like Avengers: Endgame, MIB: International, and Wonder Woman 1984.

I’d like to think that my creativity/geekiness appeared in me when I first saw LOTR: The Fellowship of the Ring for the first time in the cinema when I was ten years old. My mind was thoroughly blown and all I wanted to do was to recreate what I’d seen. So, I started drawing. My interest in art persevered, and when I was 19 years old, I started my BA in animation and digital art. That is where I really got into 3D. Since then I’ve constantly worked on personal projects on top of my current job to improve myself and become better as an artist. 

1 of 3
1 of 5

Goblin Knight: Idea

Before I had any idea about what to create for my next project, I had two main goals: A) I wanted to do a realistic-looking character that would be presentable as a reel piece. That means proper topology and UV layout. B) Learn more about grooming. When I start on a new project, I always try to do something that I’m not wholly comfortable with. If you feel safe doing a project, it’s probably not worth doing.

I also decided that I did not want to design the model myself. Sure, the process is exciting and creative, but speaking for me, it takes a lot of hours to come up with something good. I wanted to skip that time-consuming part. As a fan of Even Amundsen’s work, and with his permission, I chose one of his concepts called “Goblin Knight”. Not only did it contain the thing that I wanted to learn more about, but also the subject that I wanted to maintain and improve – anatomy. Not to mention, it appealed to my love of armor, creatures, and fantasy.

References

Unless you have a photographic memory, I wouldn’t even start without collecting references. Even though I have a concept to work from, the first thing I do when starting on something new is to comb google and pinterest for references of all the elements in the piece; skin, wrinkles, eyes, mouth, teeth, leather, metal, cloth, hair, etc. Try to find pictures of the real thing. Using CG images as reference can be deceiving. When it comes to anatomy, I highly recommend the book/pdf “Anatomy for Sculptors”.  If you can’t afford the book, they have a lot of good stuff on their ArtStation page. They break down the shape of the human body in a very clear and understandable way.

Modeling the Body

I always start with the blocking of the character in ZBrush. That means finding the scale, proportions of the head and body. Looking carefully at the concept, I tried to find the correct shapes in 3D. It’s worth mentioning that I don’t start from a sphere in ZBrush. To save time I reuse what I can from other projects. In this case, I used a scanned torso, the neck and the head from a previous project, and the hands from another project. I then stitch it all together with the Zmodeler tool using bridging. At this point, I don’t care about topology. I use sculptris pro, decimation, dynamesh, and zremesher to make it all fit together and add detail where I need it. Keep in mind, this is the primary shape pass.

When sculpting something, you go through three passes: the primary, secondary, and tertiary shapes. The primary shape is getting down the structure of the body. The secondary shapes are the ones that make it look more natural if you will. The fat, big wrinkles, the philtrum, dimples, eye bags, etc. The tertiary shapes are things like smaller wrinkles, pores, warts, skin imperfections, and so on. 
I keep the A-pose and the symmetry until I’m good and happy with the secondary shapes of the character. I then decimate it and bring it to Maya for retopology. Here’s where the symmetry comes in handy. Now I only have to do one side and simply mirror it. 
So now I have a retopologized A-posed body. I now import it to ZBrush again and project the sculpted details on the new mesh. I then use the transpose tool together with the transpose master to pose the character. When that is finished, I decimate the body and import it to Maya for the costume modeling. When I’m satisfied with the base meshes of the costume, I’ll bring it into ZBrush again, together with the body. That way I can sculpt where the costume affects the body. Maybe a leather belt pushes in fat and the metal rings that rest on the ears make the ears droop more. Just blending it better together.

For the tertiary details, I'll import the XYZ texture maps to ZBrush and use those as a guide to where I can add more wrinkles and pores. The final displacement is a blend between sculpted details and the XYZ textures. I’ll get into that later.

Modeling and Texturing the Costume

Modeling the costume was a bit more straightforward, simply because I was modeling it in the posed position. The costume modeling is also more tightly knit with texturing as I use height maps from Substance Painter to add detail to the surface.

Let’s take the leather belts as an example to explain my process as it’s mostly rinse and repeat on all of the pieces.

There might be better ways to do this and it might be old school but it’s the way I work best:

Poly modeling in Maya. For the leather belts, I simply use the “make live” function in Maya and polydraw the mesh around the area of the body I want the belt to be on. When I have a good single-sided shape, I use extrude, bevel, insert edge loop, and other tools to model it into a decent base mesh. I make sure I have enough edge loops so when the mesh subdivides at render time, the UVs aren’t warped or stretched.

Also I layout the UVs in a way that everything is in the same direction.
In Substance Painter, I used a lot of noise, patterns, and masks to paint in details where I wanted them, like the cracks on the edges of the leather. This is not final, but it's a guide to export to ZBrush as a heightmap to sculpt further details on top of.

After I’m happy with my ZBrush sculpt, I decimate the mesh with all the highpoly details and bring it back to Painter. That way Painter picks up all the details to use with smart masks. I also bake out a displacement map from ZBrush to use in Maya.  

After that, it’s really just using a combination of smart materials and tweaking with noises and masks to get the look I want. I went back and forth between Maya and Painter to test render while texturing.

Texturing the Body

So now we come to the XYZ bit. I used the “Male 40s Multichannel Face #76” textures for the face. I also used one of the “male full arm” and “male palm hand” textures. This time I used Mari as it’s easier to paint across UDIMs there. The whole body has six UDIMs in total. 

There's really nothing to it; I simply dragged and dropped the textures into Mari and started projecting the textures over to the mesh. 
Sometimes, I exported the maps to Maya for a test render. That way I can spot artifacts that I haven’t noticed in Mari. The XYZ textures website has a lot of tutorials that go further into details.  
The diffuse textures were a bit trickier because the character is green. Since I wanted a realistic-looking chap, I tried several hues and saturations of green to make it work. I know I said “try not to use CG as reference”, but there are no green-skinned people in real life. So I looked at examples like the Hulk and Thanos. They’ve managed to make them believable even though they’re green and purple. What I ended up doing in Mari was to simply take the albedo maps that came with the XYZ textures and use them as a base layer. I then painted over and manipulated values, hues, and colours until I got the look that I wanted. It took a lot of back and forth between Mari and Maya and tweaking of Arnold shaders.

Hair and Fur

Now, this was something that I had done very little of before the project. I was somewhat nervous starting because the fur on the cape is part of the whole silhouette of the character. If I didn’t manage this, the whole piece would’ve been ruined. I really should’ve started out testing the grooming before I did anything else. But I was too excited about the modeling bit. However, thanks to the fantastic YouTube tutorials by Jesus Fernandez I managed to struggle my way through it using XGen in Maya. 

I had one XGen description for the body, one for the animal pelt, and one for the costume. I started with baby steps making the short hairs on the animal pelt. 

I extracted “scalps'' from the mesh for where I wanted the hair to be and used the scalps as the groom mesh. 

For the short hair, I used “groomable splines”. I found this method to be very agreeable since I could use brushes to lengthen, cut, and shape the direction of the hairs. This only worked on the short hairs though. 

For the longer hairs, like the whiskers, I used another method where I could place splines at specified points. This way I had a lot of control of the density and shape of the hairs, modifying the actual curve points. 
I also had several goes at the shading. But after thorough reading through Arnold's hair shader use guide, I got it right. 

I had some problems as well. It could be just me being a noob, but it turns out that XGen is very finicky. I would lose connections for clumping and noise modifiers. Sometimes the collection wouldn’t load. Sometimes the masks that I had painted wouldn’t work. I actually redid the short hairs two times because they got messed up. I finally figured out that I only had to reload the point and map directory under the "setup maps” option in the modifier panel. They save themselves automagically. Lesson learned.

Final Scene, Lighting, and Post-Tweaks

The lighting setup is pretty basic. I used a skyDomeLight with an overcast HDRI from hdrihaven.com. I set down the intensity of the HDRI to about 0.6. This way I get a nice neutral ambient light. On top of that, I use area lights to set up a fill, rim, and key light. For some of the closer renders, I added a tiny extra light just to add a little more oomph on the face and in the eyes.

For the breakdown video, I used DaVinci Resolve, but for the stills, I just used Photoshop. The tweaks I made are pretty much the same in both programs. Brightness/contrast, levels, vibrance, exposure, and color balancing. As a final touch, a tiny bit of vignette.

Conclusion

This is probably one of the more complex models I’ve created, simply because of all the little details and the grooming bit. It definitely did not go smoothly and I put it on the shelf several times. I tend to get tired of things pretty fast. Though I’m happy I finished it. It creates a sense of accomplishment, which is satisfying. I also came back from the project more comfortable with grooming and XGen instead of staying hesitant about it and finding a way around it all the time. That opens the door to creating models that are more complex in the future. All in all, I am pretty satisfied with the result.

Congratulations to you who managed to read through all of my ramblings, and I hope you got something out of it.

Espen Netland Jakobsen, Character/Creature Modeler

Interview conducted by Arti Sergeev

Keep reading

You may find this article interesting

Join discussion

Comments 0

    You might also like

    We need your consent

    We use cookies on this website to make your browsing experience better. By using the site you agree to our use of cookies.Learn more