Mokosh

Character Breakdown

Pierre-Alain Reymond

FireRender1-scaled
44

Pierre-Alain Reymond

Character Artist

Introduction

Hello! My name is Pierre-Alain Reymond. I trained at New3Dge (France) and I have been a 3D character artist for some time now as a freelancer.

Software

  • Zbrush (Sculpting)
  • Marvelous (Sculpting)
  • 3Dcoat (lowpoly) – 3DSmax/Maya/Blender (UVs and cleaning for export)
  • Marmoset toolbag (Baking)
  • Substance Painter (Texturing)
  • ActoreCore (Posing)
  • UnrealEngine (Final)

Reference & Design

Generally, when I work on a personal project, it consists of two points: one for my pleasure and the other for my knowledge.

To put into reality an idea that I have in mind: for example for Mokosh, I had this idea of ​​opposing a warrior between the attitude she can have before the fight, and the perspective she has once the fight is over.

The other point is, how can I improve my knowledge and challenge myself through this project. Using Unreal only for some little tasks at work, I decided that this character would be the exercise that would force me to include this software in my process and master it a bit more!

Overall I’m pretty interested in the medieval period and Slavic culture. I then asked myself “What could those Vikings who conquered Eastern Europe look like ?” From this question was born Mokosh and the final image of the project.

So I looked for historical references on these people called “Varangian” or “Rus’”.  I took some time to seek, to understand their history a little more. I generally like to do it when I’m working on a character, trying to link it to facts. It helps me later to better understand the kind of wear and tear that can be done and the patterns that will make up the design.

That was something really interesting, discovering their ancient deities and habits.

Her name “Mokosh” comes from those research, the same goes for all those symbols on the necklace that represents Slavic deities and the same goes for the arm symbols, representing “fire” and “family” (from what I’ve learned). Other patterns are basic Slavic patterns.

On the other hand, I searched for a large number of 3D and artistic references. Whether it was Slavic Vikings or not, my goal was to see the interpretation that everyone could have of it. As well as 3D and artistic references to medieval characters in Slavic or simple Viking lands.

Two main references were on one side, God Of War and on the other The Witcher. I didn’t want to fully put this character in either one or the other, but I had to learn from their interpretation.

References2-scaled

Concept

To begin, I define the anatomy, whether visible or not, this also falls within an anatomical practice exercise. Obviously, I’m not pushing it to detailed high res. But enough to define the global volumes and respect anatomy. I also generally like to position characters in an A pose, a pose that seems more natural and pleasant to me. The head is blocked with the first intentions, I know I will come back with some serious references, so I don’t bother too much for now.

Following this I do my studies for shapes directly on ZBrush, I only take care of the silhouette. It is a work close to 2D concepts, but not being a 2D artist, I do not have the necessary level to express my ideas as well as with 3D.

At this stage, I use as much as possible the dynamesh and the sculptris mode that Pixologic introduced in Zbrush. Excellent for working without worrying about the mesh. Using my reference board, I compose different elements of outfits that I may like or seek to find a silhouette. And by dint of collecting by mixing my refs, I end up having my “concept”. A rough one, but something to have fun with. I asked some friends to know their opinion about the evolution of Mokosh’s concept and help me to choose the best direction for her design from what I had.

Research

Blocking out

Once the concept’s silhouette has been defined, it is time to detail volumes. First I define “hard” areas such as leather belts since this influences the clothing areas. I do not dwell on cleanliness, this will be an element on which I will come back later. I just want to give them a final shape and place the pattern and visual noise areas. I draw simple shapes for all patterns, no need to think too much, it’s still not High res.

When “hard” zones are defined, I pass on the cloth. This one is done both on Marvelous and on Zbrush’s cloth simulation.

Not being a stylist, I try to find patterns that can look like the desired clothes, then I don’t hesitate to deform them even if they don’t look like they were before. My goal is only to generate the desired folds.
As for the pants and Torso, big folds, I had to have something accurate and marvelous was the best option here.

About ZBrush’s simulation side, I use it when I want to play a little more in Zbrush. In my opinion, this gives us more control over crease areas and their intensities using the “cloth” brushes and some quick simulation.

But unfortunately, these folds will not be of as good quality as those of marvelous. Here I used it for the right arm fold and boots. It generated some folds really quickly and was a really good starting point. Something marvelous could have been done but with way, more time for a result not so much better.

To have some results with Zbrush Cloth Simulation, there are just a few things to keep in mind:

  • Intensity and size of the fold depend on your subdiv (the lower your subdivision is, the bigger the fold will be)
  • If you start a simulation, be careful with the gravity option (a bit tricky)
  • You can play a lot with Cloth Simulation brushes, they are quite fun and easy to understand.

For me, the two software can complement each other depending on the kind of folds. At some point, it’s even possible to imagine using Marvelous (or similar software) for prominent folds, and global structure, then reworking it with Zbrush cloth simulation.

BD3-scaled

Following this, I come back to the complex elements in dynamesh that we talked about before. Whether it’s stiff leather or metal I treat it the same way, “split and polish” I cut those shapes. Then I use group loop / Zremesh/panel loop/Zmodeller.

The easiest way is to watch the videos recently uploaded by Marco Plouffe (from the Keos Masons channel on youtube where he discusses the methodology). He was the one who taught me this process. It is usually used for metal, but do not hesitate to abuse it for any other element.

High Res

Once I have all my parts “clean” I am finally ready to switch to High res. This is a very simple phase in my opinion, I place my creases on edges that may require a crease. I adjust their intensity according to needs, then I work on the wear and life of the element.

Note: For all elements that look a bit complex, it has been done as you could imagine, for example, the braided part on the stomach belt, has been done by modeling it. This can be achieved with some custom curves if you want to gain time.

For cloth I add memory folds, using brushes reproducing a crumpled paper effect, it is also possible to create this kind of brush via marvelous as the Outgang channel was able to show https://www.youtube.com/@Outgang.

Then I tear it up, I damage it, I try to bring some past life to it, something more complex than just memory fold. It’s important especially with a character like Mokosh, to keep in mind her life doesn’t start at the point you sculpted it. She didn’t take some cloth and spawn, I had to think about her past to find some stuff to tell from her cloth.

Texture information like leather pores, fabric fibers, etc is mostly not done on ZBrush. There is no harm in doing them directly on your sculpture, but the intentions will then be different. Doing it directly on your sculpt can bring a more raw look, which can be pleasing to the eye, but unfortunately, it will freeze the result and risks coming into contradiction with the map’s details (which we will see later).

Detail4
Detail5-scaled

For metal and hard leather, I work on “damages” by using DamStandard and ClaybuildUp. For damages like a sword or axe blows I create a negative shape inside the metal with the ClayBuildUp then I rework the border with DamStandard in positive.

If it’s more enforced damage, I play with ClaybuilUp and Standard brush. Then I add an aged metal texture using the ClaybuildUp by modifying its parameters to turn it into a spray, reduce its intensity and modify its focal length according to my needs.

I also sometimes use Fredo’s free brushes to add finer wear to the metal. He has a free pack that’s quite amazing.

https://www.artstation.com/artwork/xKeK1

Emblems, logos, and others are placed using alpha as much as possible. For Mokosh I mainly used 2 methods

  • Placement in mask on mesh -> Deformation menu -> Inflate. (for details like emblems on the collar or on the right arm).
  • Quick UV creation with Zbrush -> Draw the desired patterns in the UVs (using photoshop or other such software) -> Import the mesh into ZBrush with the UVs -> Surface menu -> import alpha in UV (for details such as the patterns on the edges of the small loincloths or the ax range)

When the volume is too big and complex, it’s obviously just sculpted. Like on the central belt buckle.

BD4-scaled

Head

Here we are, then, with anatomy and an outfit, but the essential is missing: the face. There is no mystery, many references. I had on my screen 3 main references, two actresses, and some images of facial anatomy. The complexity of a face lies, in my opinion, in two points:

Understanding the Skull/Muscle/Fat ratio. It is always complex to know where to delimit a bone area from a muscular area through pockets of fat. And the second point is the gaze. This will be the hardest element to have when working on a face and it is something that I always find quite mystical. The easiest thing would be to rely on references.

At first, I made sure to respect as much as possible the first reference, as the one that makes the structure of the face. Here it was an actress that played in “The Last Kingdom”.

Once the person is recognizable and with “correct” anatomy, I then involve the second person reference (An actress in Game Of Thrones) to retrieve the elements that interest me, and finally, I make some edits to finish appropriating this face, trying to lead to a style that suited me better in terms of the result I had in mind. Keeping in mind to have a face that is anatomically correct and does not lose the charm of the original reference.

ReferencesFaces-scaled

When this is done, I do the retopology for it, with body parts that will be visible. I then do the UVs. For me, it’s better to have our own LP when possible, and it will be necessary for the next step.

For skin pores work, I initially thought of using Metahuman maps. I wanted to try this new tool, but at the same time, I was interested in discovering the new Vface maps from Texturing.XYZ and I then decided to orient myself towards this one. To finally have skin pores present on ZBrush. I will advise you to watch the tutorial videos on TexturingXYZ. They explain it really well!

https://www.youtube.com/watch?v=vbVv_5WIl6k&

The problem with using TexturingXYZ is the price, unfortunately. While metahuman stays free.

The last thing, I didn’t want the XYZ topology, so I added a step, where I adapted VFace mesh to my mesh with Zbrush. Software like Zwrap could be used to optimize the workflow. The main goal is:

Two different meshes with the exact same silhouette, to help for the next phase where we will copy information from XYZ.
Then I baked VFaces maps on my UVs’ mesh before applying them to my model. I had to bake with a high resolution, like 8K or 16K to be sure to not lose any information. By chance, my computer could handle it.

Don’t forget to add some imperfections like scars, buttons, or other stuff like that. Subtle but present, it’s rare to see perfect skin.

Head-scaled

In parallel fur and hair are only light blocks. I don’t waste time on them, since they won’t be reused.

Sculpt

LP / UV / Baking

We will now have to embark on retopology, UVs and baking, in this long phase.

No miracle solution here, a decimation and 3DCoat direction. Many use it for texturing handpaint, in my case, it is their flow for retopology that I like. I feel like I’m in a hybrid between 3DS Max/Maya/Blender-type modeling software and ZBrush.

I let myself be carried away by my rhythm of retopology and I only care about having a constant flow in meshes and keeping continuity between edges of two separate elements for animation and interpenetration issues (and obviously respecting all the must-have loops). I also try to separate metals and fabric when possible, this is for a question of shader later. I don’t hesitate to place a few triangles when necessary.

EdgeContinuity

For the UVs I go back to more classic software (3Ds Max/Maya/Blender). I try to separate my boards in a logical way (Torso/Leg/Hand and foot/Jewelry/etc) and to respect an equal pixel ratio if possible, except for the head, which has a bigger ratio. But Head retopology was done before the skin’s pore phase.

Then comes the bake, the pleasant phase, if all the previous steps have been done well, this one will only require pressing a button (or almost). Marmoset toolbag offers us, in my opinion, one of the best bake interfaces, all you have to do is adjust the cage, modify the skewmesh if necessary and bake desired maps (Normal / Normal Obj / Curvature / Position / Id / Ao AND Cavity / Convexity.

These two additional maps will bring more controls afterwards. For the face, we add thickness).

For the AO and thickness Map, I do not hesitate to play with the number of rays to increase the quality.

For the ID map, I usually paint the meshes in ZBrush (only for this step) and thus bake the vertex color.

TechTest-scaled
ID

Texturing

Finally texturing, the end of this character is approaching, but there are still very important steps to do!

The first step, set up:

I was planning to use UE5 so PBR metal rough, change the quality in the shader settings to ultra, and used Tomoco studio as an environment map. For me, it’s the best environment map, offering something neutral that could work later in all lighting setups.

When texturing I like to remember the order of importance:

BaseColor > Normal > Roughness/Metalness maps (we are talking about a metal/rough PBR generally used for UnrealEngine)

The quality of a texture most often lies in its base color, whether it is in 2K, 4K, or even 8K, at a distance where we can see the whole character, the difference will only be slight. It is its variations that will bring the “beauty” of texturing.

2Kand4K

Note

Obviously, if you want to have your leather pores directly on your normal in substance, you will have to use a good resolution. But once again, the difference will be only visible when you look closely.

For realism, I would recommend paying attention to the folds of clothing, in the dark recesses area, and avoiding having some dark areas in the base color. These may have a little “shadow” but they must be really subtle and soft. The shade must be provided later by lighting.

Then I bring life into the garment, a life of wear, the fact of being worn every day brings a slight overall dirtiness. Doing it while playing with some grunge always thinking to have a good variation in base color AND roughness. Base color being the most important map, roughness plays its role too.

To then add, to this life, a story. There we have a fighter, so I looked for what she could have experienced, previous fights bringing bloodstains that would not have completely disappeared. Mud that hasn’t been removed yet, and things like that. These variations will then have to influence the roughness and the metalness. For that one, it’s a painting. No generator or stuff like that, it has to be thought out.

TextureStep-scaled

Always keeping in mind not to go in too dark color or too bright. To avoid something way too dark for Unreal Engine, I use the filter “PBR validate”.

It isn’t something that has to be absolute, but it helps to know when things are going way too dark (a bit of red, yes. Totally red, I calm myself and go brighter. To avoid being too bright I can only try to “feel” it).

PBRValidate

On another hand, there is the normal map. For Mokosh I gave once again little information on leather and fabric, I have mainly worked on the wear. Bringing information on leather pores and fabric fibers would also have risked harming the map details that will arrive on the unreal engine. It does not mean that I did not put any, I just left them very slightly.

Cavity and convexity maps are used to define a bit more of Mokosh’s gears. It brings a slightly stylized vibe, really little, but I kinda liked it. It could have been done with Curvature, but as always I’m trying to have more control over my workflow, and having those two maps separated was the best option for me.

Two little tips when texturing: Use fill layers as much as possible with a mask, then paint in the mask. It brings more control.

The other is for ID maps. When you use IDs maps it is possible that the tolerance zone leaves a slight border between each change of ID, to avoid this, above the “mask by ID maps” add two filters. The first one will be a slight blur between 0.2 and 0.5 and the second one a histogram scan, which you can adjust. In this way, the edging will disappear and you can modify areas of influence of the IDs’ map at will.

CSBH
CSBH2

Face textures are also made in Substance Painter. As said earlier for this project, I used VFaces maps, which provide an excellent basis. Behind, I still reworked hot areas and roughness areas.
Quick tip, the cavity maps we baked earlier can be used here to bring back some skin pores in our base color/roughness/specular. The same goes for Convexity.

FaceEvolution-scaled

Storage that seemed to me the most effective when I worked on this face consisted in grouping all the layers for color on one side, all those for roughness on another, and the layers for the specular in a last group. On top of that, a layer for moles, scars, and other similar elements that influence both the roughness/specular and the color.

And to finish a layer for the paintings on the face.

FaceStep-scaled

During the texturing phase, I went back and forth with the final rendering engine a lot to see how it interpreted my work. Each software has its own comprehension, I had to see how to adapt my textures for my rendering software.

Once this step was finished, I got the following maps: Base Color/Normal/RMA (roughness/Metal/AmbiantOccluison) for the outfit. For the face, I added a specular map, painted in substance painter.

 

Integration

For the integration, I, therefore, went through the Unreal Engine. Initially, I reused the Metahuman scene to take advantage of their lighting during my texturing tests. Then once the texturing was finished I prepared my own scene.

The environment was made using Megascan assets and textures made with Quixel Mixer. I was able to ask for help from an environment artist friend, Clement Masset, who then took the time to explain some tricks to me such as offset dithering to mix two different meshes with snow between them and other basic notions of integration (like adding snow at top of all rocks, etc).

PIxelDepthOffset-scaled

Subsequently, it was then necessary to prepare shaders for Mokosh, so, as not to hide anything, I took as an example the one made by Saurabh Jethani for a face. It was a really interesting and well-done shader. https://texturing.xyz/pages/saurabh-jethani-creating-realistic-skin-in-ue4

I then changed it to add the fuzz on the clothes and other stuff I needed. It is also one of the advantages of having separated metal and clothing during the Low Poly, to apply the fuzz only to fabrics and not to metal. I could have used ID maps, but it could have some leaks at junction points, and since it was a personnel project with as much tris as desired, I chose a visual quality direction.

ClothMaterial

The advantage of rendering in Unreal Engine is, also, to be able to put as much map detail as desired. Those detailed maps are textures added on top of yours. Allowing them to add details such as skin pores, leather pores, or even fabric fibers.

It is for this reason that I did not force on those pores of leather and fabric fiber in previous steps. These detailed maps will be in 256×256 or less, then repeated as much as requested, thus providing a finer and more controlled quality than having those details directly on the output’s map from Substance Painter.

For the face shader, I reused more or less the same shader, modifying a few nodes to suit my needs.

There, on the other hand, it is necessary to have pores of the skin to work well on ZBrush, our pores will be different according to the zone of the human body and on a face and it will be different on each zone of the face, for a better transition, working on this in ZBrush will bring a better quality. It will just take an effective bake. Then on top, it is possible to add a slight detail map to refine the work done in ZBrush.

DetailMap-scaled

Hair

Here comes hair. A fairly classic flow, at first, with a lot of hairstyle references, then a passage on Xgen (Maya) to generate the hair strands that will make up all the maps.
This is followed by a placement in ZBrush as I was able to show it in a video made for my previous personal project.

Luke Hair Process

Unfortunately, I couldn’t find anything magic to speed up the process.

Ref-scaled

On the other hand, for the fur, I did not feel like placing each fur plane, one by one, I wanted to try solutions to place them automatically so I tried nanomesh (still in ZBrush).

The result was convincing, it still asked for a cleanup pass to avoid repetition, but the job was roughed out pretty quickly.

Fur-scaled

For their shaders, I reused the one proposed by Unreal Engine in “digital human”.

Posing

All that’s left now is to tell this story that motivated me to do this project. I usually rig and skin all my personal projects, but for this one, I wanted to try another process. And then I tried “ActorCore AccuRig”. Which quickly generated the poses I wanted. A little cleaning on Zbrush and here are the 3 poses.

https://actorcore.reallusion.com/auto-rig

It was quite important for me to have those 3 posings, two for the story of this character and one for presentation. It’s like a must-have in my opinion to have a “presentation pose”.

Differentpose-1-scaled

As for the screaming face, it sends me back to the sculpting process. Since the expression was really marked I had to bake a new normal map, so go back to high res face.
Searched for lots of screaming person references, the artstation shop has plenty of awesome facial expression references, as well as various movies.

And I’m off again to sculpt respecting those references, then appropriating the final. Again, various books on the functioning of facial muscles helped me.

I do not recommend references that can be found in google Images when looking for an emotion, generally, those photos overplay the emotion or the opposite.

Then I repeated the previous step that went after the SkinPore phase. I rebaked the face, re-imported it in substance, and reworked the textures made previously to match the scene where she screams, adding dirt and blood to the face and clothes.

Scream-scaled

Quick tip

While sculpting the expression, deactivate skin pores layers. And add a new layer. You won’t affect your skin pores, and will just have to reactivate them at the end.

Lighting

Just one last step before the final, the lighting. A step that I dread every time. The best advice I could have been given on this project was “find a film with lighting that suits you” I then looked for different films and tried to reproduce their lighting. The site that helped me with that was “ShotDeck” with a lot of screenshots from different movies with really cool navigation on this website.

LightingReferences-scaled

Each pose has its own lighting. For the screaming scene, I wanted something more dramatic, that couldn’t follow the arrogant pose. And the lighting for the arrogant pose couldn’t follow the presentation pose since this last one had to be clear lighting with no intention. So three poses, three lightings.

I could have changed the lighting for each shot, but I wanted to keep something consistent.

LightingUnreal

On this screen, you can see a lot, a lot, and a lot of light. But keep in mind that many of them were just there to avoid a pure black area. I didn’t want to boost the HDR too much and wanted to control everything.

Usually a 3-point light or 4-point light could be enough.

Compositing

Finally, I exported the renders from Unreal Engine using the sequencer to which I added antialiasing. Sequencer renders are way better than screenshot renders, they just took longer, but the time is worth it! And then rendered with transparency at a resolution twice above the final one.

Something I often do, outputting a 4K image will have fewer details than an 8K image scaled down to 4K.

During the composting of the final images, I took the time to prepare a background according to the scene presented. Something with fire intention in the background for a screaming scene. Being the most important render for this project I had to make something special. For the arrogant pose, I didn’t find something that suited me, so I went to this foggy background that I, in the end, reused for my presentation pose.

FireRender1-scaled

Conclusion

This is more or less the process I used for Mokosh. This process is the same that I use for my other projects, it obviously evolves alongside objectives that I set for myself, and I am very happy to have been able to decide to finally make my renderings on unreal engine.

Now I am able to alternate between Marmoset toolbag and Unreal engine depending on my goals. And here I am now making a list of the next things I want to learn and how to use them on my next project! Hoping to have been useful to you in this Breakdown.