Preview

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/#/.

air_guitar

Air Guitar

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.

Advertisements

Fixing topology on a new character

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:

 

newchar.PNG

New character in zbrush.

 

And here is how his topology originally ended up after I was done with sculpting:

 

good_topo1.PNG

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.

 

goodtopo_3_smooth.PNG

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.

 

good_topo_4_.PNG

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.

 

good_topo_2_result.PNG

Fixed topology.

 

 

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”.

 

vertexpos.PNG

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.

expo.PNG

 

 

 

Previewing Pieces in Unreal

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.

 

DIYTldQVwAAN36D (1).jpg

An example of a blend shape corrective for the smile that needs to be adjusted for the second character.

 

Baking Script – Update 2

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.

script.PNG

 

The New Children

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.

Scripts

Hello again. I just wanted to make a brief post on some of the scripts I’ve been making to aid my thesis project.

The first script is very simple. I have a control rig and a skin rig. To save time for myself, I save the skin joints in a variable, then the control joints. Then the appropriate joints are skinned to the other. This is helpful when I have many joints I need to parent constraint and make changes to my rig hierarchy.

The next is actually just a few expressions I use for controlling blend shapes and the external face control rig. The reason I made the face control expression was so that I could easily control a joint with multiple controls. The blend shape expression was made because I’ve had to export and reimport my blend shapes a few times and I didn’t ware-import-key every blend shape individually. Also, when I bring in a new character, it will be easy to transfer the blend shapes over to the new geometry. I currently have 26 blend shapes, so this has saved a lot of time, and it’s much easier to debug.

The last script is the baking animation script. Before a rig gets sent to Unreal, I need to bake the joints and blend shapes, then strip out the control rig that won’t be used anymore in Unreal. Selecting all of the joints, baking them, etc, took a while. So this script allows me to select the chosen bones and blend shapes, the chosen meshes to export, and the “junk” stuff. It bakes the bones and blend shapes, deletes the “junk” then exports the mesh to a chosen folder after prompting for a name of the fbx file. There’s also an option to re-open the file with all of its joints returned to a pre-bake state so that I can then send out another different animation from the same file.

Eye Shader

Hello again. I also had an update on the shaders. Particularly for the eyes. I couldn’t get all of the features that Unreal’s latest eye shader has because I wanted to use my own geometry. But I found a few workarounds so that the shader would at least work for the project.

eye_turn.gifeye_light.gifeye_pupil_distance.gif

I might include eye dilation, but it’s a little buggy at the moment. It also does not react to the light, I’m modifying a parameter in the shader by hand.