Realistic Character Workflow
This chapter will focus on the shape planning and creation for the neck, body and clothing. This comes with its own challenges slightly altered workflow.
A similar approach to the FACS system of the face can be taken for the body deformations. List out all of the possible joint rotations and deformations that body can perform.
Unfortunately it was not possible in Project Heist to mix the neck rotation shapes. So each rotation of the neck and head bones would lead to its own Shape:
For Project Heist this also meant that we skipped sculpting detailed Sculpt Layers for these shapes. The increase amount of textures would not be good for Eevee rendering.
The head and neck rotation shapes had to start with a very simple two bone setup.
This was to make sure that the sculpted shapes and rigged head will stay consistent with each other. Starting to sculpt the neck and head rotation can be too imprecise and rough as a starting point.
Once we had a simple rig with agreed upon pivot points for rotations and animated the maximum rotation values, we applied these as shape keys by applying the armature modifier as a shape keys.
From there the same shapes sculpting workflow was done as with the other shapes. First the shape key was sculpted further to achieve the correct volumes and skin sliding. Then the shape keys were saved as sculpt layers for more detailing if needed.
To save time on the neck shapes it's a good practice to only sculpt one side and flip it for the other. It halves the work.
To do this you can sculpt a shape key, for example for rotating the head to the right, and then duplicate and mirror the shape key.
This works best if the neck area is still mostly symmetrical!
For any sculpt layer detail this can be done by baking the displacement first to a texture and then flipping the texture.
This only works if the UV map was created to be symmetrical!
For the clothing shapes it was only necessary to sculpt the main jacket and pants objects. Everything else would ether be rigged or automated via Surface Deform modifiers.
We needed to keep the amount of shapes very low here to avoid memory issues with Eevee. So some deformations like a lowered arm or mixed deformations are not included in the list.
The model and sculpt is created starting from an A-pose, as mentioned before. But rigging and animation is ideally done from a perfect T-pose as a resting pose.
This has the benefit of more accurate zero default values and makes the graph editor more useful and accurate.
To achieve this we had to add a rig as soon as the retopology was done. With this preliminary rig we added an animation to transition the A-posed model to a T-pose for further rigging and animation.
For the shape sculpting this meant that this transition needed to be taken into account. That is why the Shape for the raised arm is called "T-Pose". It functions as both and allows us to treat the alternative pose just as a different shape during sculpting.
It also mean that the rest of the body was already changed to be compatible with a t posed rig:
It might be a bit confusing to read in the list of clothing shapes that the Torso Bend shapes are listed as two:
This is only for later baking to keep the number of shapes low. During the sculpting process these are actually 4 distinct sculpt layers:
In the later baking section we will explain how we combined them into two shapes. But doing this allowed us to apply the stretching/compression displacement on the torso wherever needed. Whichever direction the torso bends, there is always one side that compresses and an opposite side that stretches.
There are various aspects of the workflow that can lead to problems or wasted time. Here are some practical tips to keep in mind.
Some of these were also mentioned in the Blog Post on this workflow.
Shape Keys are simply a stored position of each vertex in obejct space. This makes it very easy to define a new shape by moving vertices to a new relative position. But rotation of a cluster of vertices is not possible.
The same is also the case for how sculpt layers are stored, so toggling or sliding them will have the same effect.
(In the video above this is easy to spot)
This is very important to keep in mind while sculpting the shapes for the neck and body. It will always make it difficult to visualize the effect of the sculpted shape by sliding the shape keys or sculpt layers.
In a later chapter we will go deeper into ways to check and compare the effect of the sculpts and how to iterate on them.
Unfortunately this also means that making adjustments are harder on clothing and neck shapes. Any sculpted shape key or sculpt layer will be corrupted if the default sculpt and proportions should change. That's because they depend on the default as a basis to their relative deformation.
This can be worked around, but it's not straight forward. The advice here is to lock the default shape of the clothing and neck before starting any shapes with rotation in detail.
If adjustments need to be done anyway, on Page 6 there will be more information on how to do it.
There is another way around this limitation of rotation during shape sculpting. And that is to use tangent space instead of object space.
Tangent space allows us to move points not relative to the single object origin but instead based on the surface normal of the face they belong to. This then allows for rotational changes.
This is possible because the subdivisions of Multires are stored in tangent space. If we make broader changes to the shape with shape keys and store additional sculpting in Multires, it is then possible to make these details follow the surface direction.
The order of events always has to be:
While this workflow can be scripted directly into the addon for a faster workflow, it can easily lead to corruption of the sculpt layers. If the shape keys is still visible when saving a sculpt layer, the shape will be corrupted and a lot of work and time can be lost.
For Project Heist we sculpted clothing shapes on the main jacket and pants object. But on top of those there are many pockets and other elements that need to follow the shape deformation.
To achieve this in a fast way we used the "Surface Deform" modifier to make the objects follow the surface of the main clothing objects. The modifier will give a simple interpolated result from following the surface.
Earlier we mentioned to get more control over the deformations we advise to add loops (including two proximity loops) in the retopology wherever the these objects are stitched to the underlying clothing.