Tomb Guardian

Character Breakdown

Cosimo Bonechi

ExtraImg_02
73-1

Cosimo Bonechi

3D Artist

Introduction

Hi, my name is Cosimo Bonechi, I'm a 3D Generalist with about 7 years of experience in gaming and VR, I worked mainly in Italy.
I've had the chance to work with Rainbow CGI, Artbully production and Stormindgames. At the moment, I'm a full-time freelancer.

Goals

When I started working on this project, the initial goal was to make a short film, but because of the short time in the end I just finished the model and tried to make a good presentation. In my personal projects, I always try to give something of my own, I am very passionate about trying to interpret concepts and give them life and context.

Software

For the whole project, I used Maya, Zbrush, Substance Painter, Photoshop, Marvelous Designer, Unreal engine and finally Premiere and nuke to comp.

Reference & Inspiration

I was inspired when I saw the work that was done on Mortal Shell. I’m so passionate about armor and medieval stuff, and when I saw the well done Morten’s concept, I really wanted to sculpt it as Mortal shell models.

For references, I used Mortal shell highpoly and some photos of medieval armor, arab weapons that I took in the past.

Blockout

With the blocking I started in Maya, using cubes to define volumes over a base mesh, I needed to understand the depth of some areas and after that, I started to detail the shapes.

The difference between my workflow varies according to the type of shapes, the armors that I consider as hard surfaces I model mainly on Maya, the organic element like the mask in Zbrush and the clothes principally in Marvelous Designer.

Modeling Hard Surface – Maya

I begin in deforming with lattice and bend tools or similar, simple geometry like ribbons or subdivided cubes or cylinders. In this way, I concentrate on finding and identifying the correct curvature of metal and nonmetal elements.

I built the mesh bit by bit, and for some, I made them up from pieces or used a quad draw over a live surface, which I then combined and merged. This method allows me to adjust the shape while keeping the topology clean since I can edit through history the deformer of multiple elements at once.

While modeling I use the crease Maya tool which is the most important tool I use. The crease tool allows you to export some “creased edge” information to Zbrush for subdivision, and with it, is possible to work with the 3 Maya preview, which speeds me up a lot since I don’t need any support edge, for this reason it is important to have a clean geometry. I also suggest assigning different colors to the meshes.

ArticleImg_0

One “hack” I use is a custom script that selects all hard-edge model’s that then I can convert to the crease. So I made sure to hard the edges as well using the threshold soften/hard command or manually.
This will come in handy later too.

Mel script:
ConvertSelectionToEdges;
polySelectConstraint -m 3 -t 0x8000 -sm 1; // to get hard edges
resetPolySelectConstraint;

ArticleImg_1

Then I add some final detail and adjust a little bit. I used also the Maya bonus tool such as Curve to ribbon and Curve to Tube mesh for other golden ornaments, which you can download from their website.

Another important step in Maya is to create meshes with a relative texture that I used later In Zbrush to project some color information to the high poly vertex color and then use this information as a mask (for inflate or whatever uses). I call this kind of procedure “decal mesh”.

ArticleImg_2

Marvelous Designer

For the clothes, I used Marvelous designer. The first step was to import proxies mesh made in Maya for the body and for the armor, a simpler version than the one created before without any slits and holes. For the simulation, I edited a little bit the material properties and I used a value of 10 for particle distance. I imported a rigged and animated version of the armor to help me simulate some correct cloth compression of some pieces.

When a cloth layer was done, I moved to the “Upper” one and hid the other. I don’t care much about compenetration, so I fixed them later in Zbrush.

ArticleImg_3

Sculpting

At this point, I send all to Zbrush, the Hardsurface Maya file as “MA”, since they got crease information and the clothes as obj with UV option enabled.

For the clothes, I started adding some subdivision and used some noise with the mask and surface tool to add some macro detail, and later I used again the surface tool with a cloth texture to add some micro detail. For extra information, I used the standard and the slashing brush where I feel I needed it.

Then I painted the exported marvelous model in Substance painter some patterns extrapolated from the concept that I uploaded in zbrush, since it’s the same model I could share the UV and then extract the intensity mask for nanomesh detail which I then edited with move etc.

ArticleImg_4

For the belts, I model in the same way, using the UV information as the main tool to project some texture and then inflate and adjust later, for the ornament I prepared a base mesh with the quad draw and poly modeled in Maya that I then applied with the insert mesh tool in Zbrush.

ArticleImg_5

For the rest of the armor, I proceeded by first dynamesh each piece of the creased geometry and subdivided and then reprojected to the creased one.

With a uniform tessellated geometry, I project the details of the drawings to the high poly vertex color, which I retrieved thanks to the meshes created specifically with the project tool with RGB active shown before.

ArticleImg_6

After this step I started sculpting macro details, I used mainly the move tool, trim adaptive and dynamic, clay brush, slash, standard and the chisel one. For more detail, I used some noise texture that I applied as a mask with the drag rect tool.

And later I finished with some micro noise, so I created the UV for the dynamesh, using the Zbrush plugin and I used the surface tool with some texture I made on photoshop for raw metal. Sometimes I didn’t unfold the UV but I projected the noise based on the camera view. I registered all the steps with layers. Occasionally I added another layer of shapes before starting to “ruin” it.

ArticleImg_7

For the weapon I used the same sculpt workflow, and for the furnace piece to make the pattern hole, I used a specially created mesh with its own texture that I used to subtract from the main one.

ArticleImg_8

Face

For the mask, the process was slightly different, instead of starting in Maya, I modeled directly on Zbrush, and after reaching a satisfied level of shape, I sent the file into Maya where I retopologized and then brought the mesh back to Zbrush, where I projected back the high model information and I started to do the details and reliefs in the same way described above.

ArticleImg_9

The mask is one of the body parts that I retouched toward the end of the project, getting closer to the original concept

ArticleImg_10

Retopology, UVs & Baking

For the Retopo, I imported a decimated ZBrush version for the armor for reference. I started editing a little bit of the original creased geometry, where I added more edges and detail where needed.
For the Mask, I optimized the Retopo version I created before, and for the clothes, I simulated a new mesh with lower density which I then Imported back to Maya and fixed a little bit.

ArticleImg_11

Errors

At this point, I started to do the initial bake to check artifacts. I baked with the average normal check disabled since I’m using the hard edge technique and I didn’t need any cages.

But at this moment, I started to play with the engine with the baked low poly model, I noticed that I fucked up some model proportions. I should have sent it to Unreal and played with the camera earlier.

I sent the lowpoly to ZBrush and I started to adjust it with the highpoly itself. I used the Transpose Master plugin, which lets you use the latest subdivision level and modify all visible subtool together without merging them. It is also at this moment that I edited the mask to match the concept better and added other parts such as the eye and inner face.

ArticleImg_12

Texturing

In my texturing workflow, I don’t use any Megascan but I enjoy creating my own smart material or smart mask, where I use mostly fill layers.

My workflow starts with some “Pure” material, such as pure gold and pure iron fill layer, and then I start to build up the material with dirt over dirt, grunge, edge wear and in this case rust. Where needed I start to paint manually some layers, breaking the macro texture look.

ArticleImg_13

For the Furnace model I added another layer of metal burn effect using the gradient filter which was useful to speed up this process a little bit.

ArticleImg_14

Polish & Rigging

Before I started rigging I added a last detail to my low poly model. I used Zbrush to add detail to the silhouette of the dress using the fibermesh tool, applying the ties only at certain outermost points. Of course, the fiber mesh tool also created cards that were too small and almost imperceptible, so after importing them into Maya I used cleanup to delete all shells that did not exceed a certain size to optimize the model a little bit.

After that, I transferred the normal and UV information from the dress to these cards and I added a green vertex color to them, which I used to override some mask information later in Unreal.

ArticleImg_15

Then I started rigging. I fully rigged only with FX on arms and IK on legs, nothing special or advanced. The model is divided into 3 parts that share the same skeleton: The body with the inner cape, armbands, and the external cape.

I did in this way because my initial idea was using the unreal dynamic cloth and I initially thought that was possible to have collisions between cloths in this way, but after a fast search I did not find any documentation, I am still not sure if it is possible, but I honestly didn’t care much and since I wanted to match the concept pose I needed to skin them anyway.

So I started posing and animating it and gradually adjusted the colors to match the concept inside the engine.

ArticleImg_16

Lighting, Materials & Post Process

For lighting, I study the work of others, in this case for the turntable low poly and high poly I emulated some of Vitaly Bulgarov’s renders while for the Concept pose, I used lights to help me match the concept. I used a mix of rect light, point and spot in Unreal 4.27 with ray trace reflection.

A rule that almost always works is to use a warm fill and a cold rim, also on Unreal to get a good rendering you have to be careful not to increase the intensity of the lights too much.

For the post-process setting, I disabled Motion blur and lens flare and I didn’t use color correction.

ArticleImg_17

For the material, I didn’t use anything particular technique, for low poly cloths I used the fresnel function to boost the color a little.

While for the high poly render I used some triplanar noise to add information to the color, roughness and normal and used a curvature function to boost the edges a bit.

You can check the curvature function from Mark Serenas work.

Rendering

To boost the asset quality a little bit (and avoid some artifacts) I suggest you enable the full precise UV from the meshes and the compression from the Color and ORM (the user interface is a good default option).

ArticleImg_18

And then for the beauty export I used the Movie render queue preset, and lowered the samples count.

ArticleImg_19

For the wireframe I used Maya by matching the camera with the Unreal camera, usually, in fact, I prepare the shot in Maya and then export the camera in the Unreal sequence.

I use Maya Hardware 2.0 as my render engine which is basically a screenshot of the scene, afterwards I make sure to set render settings and assign a white layer and a black material to the meshes. In this way, I could batch-render the shots.

ArticleImg_20

Conclusion

Although I regretted not being able to make a short film or something more besides posing, I am quite happy with how it turned out and how I matched the concept. I could have made further changes or improvements but the time had come to stop and do something else.

I have tried to explain as many steps as I could potentially useful, if you have any more specific questions, feel free to contact me on LinkedIn or artstation.

Thanks for getting this far, good work everyone.
Ciao!