Three key blend nodes that I use in the animation blueprint of the character are 1) the blend node, 2) apply additive, and 3) layered blend per bone.
Both characters use their own normal maps. They each have normal maps for different wrinkles on the face that appear when showing an expression. I posted some normal maps earlier for the old character, but here is an update with both new characters.
Expressions in Zbrush
The new character needed to have his blend shape correctives fixed as well.
From substance I baked out normal maps for the expresions, then isolated them in photoshop and assembled them all into one texture.
Expressions Normalmap Texture
In the material, I isolate each section of the texture, then take the red and green channels that get added to the character’s regular normal. There’s a parameter to control the intensity of the wrinkle, as well as a parameter tied to the animation/expression value.
A close up of the anger brow section.
Happy faces updated.
Above is an improvement from one of my earlier blog posts where I had first put the second character into the engine and his smile looked very odd.
And another expression example, showing a variation in the brow and mouth wrinkles.
Here is an update on the project’s user interface. There are three sections.
The emotion wheel is an overview of the six key emotions. When you click on a level, the number on the tip of the petals will change.
The next section is the Sliders. These are similar to the emotion wheel, but more control is given to each expression amount. You can also switch to “face control” where you can change each part of the face individually.
The temperament section changes the flavor of the expression being shown. The interface is divided into the four temperaments: Sanguine, Choleric, Phlegmatic, and Melancholic. Or, more simply, Relaxed to Analytic and Aggressive to Peaceful.
In the lower left corner is the option to switch the character to see the same expressions on them. You can also rotate the character around.
Here is a preview for the next few blog posts. I’ve been using some of Mixamo’s mocap data. The below body (not the head), and animation is from https://www.mixamo.com/#/.
By the way, this isn’t part of my thesis, it’s just a funny bug that happened when I didn’t retarget the legs properly.
When I adjust the topology on a character, or modify it enough to make a new one, there are some issues with the topology. There’s pinching and stretching, which makes it not ideal for animation deformation.
Here is my new character in zbrush:
New character in zbrush.
And here is how his topology originally ended up after I was done with sculpting:
Initial topology with unacceptable stretching near the mouth area.
Since his lips are smaller, there was a lot of pinching and stretching near the mouth area.
I started working on a simple method where I duplicated the high poly mesh, then on the original mesh, I used the smooth brush to smooth out topology areas.
Smoothed out mesh with a brush.
After I was done smoothing, I re-projected the high poly mesh onto the newly smoothed one. 99% of the time this works pretty well and I don’t have a lot of re-clean up to do afterward.
The project all button and the results on the left.
The resulting topology is now mostly cleaned up to send to Maya to be skinned.
In the character’s mesh file, I transfer the new topology using the transfer attributes tool and I only select the “vertex position” and I use the sample space “topology”.
Transfering the new topology over with the transfer attributes option.
Then, I make a copy of the old character’s skinning file. I export the skin weights using the Deform > export skin weights in the rigging menu and re-import with the import option after making tweaks to the head rig.
Here is a video of some of the facial expression portions of the face being applied to a rough idle animation. This UI is for testing the expressions. I also included a second character at the end, but he still needs some work. The smile (see picture below) is an example of some changes that need to be made for differing face shapes.
An example of a blend shape corrective for the smile that needs to be adjusted for the second character.
I have another update on my animation baking tool, as well as a new tool I made to help me manage my animation layers and more easily export them. The scripts are done with mel and now have a UI and some added features.
The menu on the left is the menu that controls the baking and saving of a single animation or multiple batch animations. The right menu is what I made to faster control the layers being used.
I’m adding a lot of new things. Some improvements to the head controls, improvements to blend shapes, skinning, and an almost ready prototype for the basic face shapes. I’ve done a little research on motion capture, but that’s a stretch goal. I’ve also worked on a few new and updated faces and models. Here are some preview images of the new children.