Auto Mouth Shape Matching

The tool can use mouth shape drawings to drive the mouth shape changing in Maya. Using the tool, we can have the mouth rig automatically matchs the shape of our drawing. The procedure and result is showed as following. On the right is the input picture, and on the left is the output mouth shape.

Screen Shot 2019-01-09 at 10.20.00 PM.png

The tool uses MATLAB to take in the image and process the image data. Basically the MATLAB code sees the black circle as 2 graphs of mathematical functions. Then it finds local maximum and local minimum of those functions. Then the code considers different cases and output a file with joint position data.

The python in Maya will read the output file and use those data to position controls on mouth properly. The steps are showed in the following video:



Blendshape Fix Tool


Rigger sometimes have a problem that accidentally freeze transformation of the blendshape, or shift all the vertices of mesh by certain amount without noticing. My tool is designed to shift back all vertices of the mesh by calculating the TRS matrix, which is the matrix that can be applied to vertex position of target mesh and gives back the corresponding vertex position of the base mesh. 

How to use the tool

The tool is designed to be user-friendly.

1. Just copy-paste code into python script editor. Run the code. It will give back a window, which shows the instructions that you should follow.


2. Choose the base mesh first, then the target mesh. Click on Yes button. If the window shows the meshes that you choose, then click on Confirm. You will see a new window after that.


3. Follow the new window's instruction. You need to choose vertices on the blendshape that remain the same position relative to your mesh. For example, in the tutorial video, the vertices around mouth change positions but other vertices all remain at the same place relative to their mesh. You need to choose at least four vertices. The more you choose, the better since the program will randomly choose 4 vertices out of your choices to compute the TRS matrix. It might fail if 4 vertices are on the same plane since it will then give back a singular matrix. In that case, just repeat the process, The chance is extremely small since we have large sample.


4. Then just click on Confirm. In less than 2 seconds you will get a copy of your original blendshape called xxdup, which you can directly use in blendshape deformer and it will give you the proper deformation.


Download link:



Auto-Arm Rigging Tool


The tool is used to rig arms automatically. It has following features:

FK/IK Switching

Skin arm automatically according to the user-defined 3D boxes





Image Manipulation Shader


This is a unity project that is mostly focused on shader. The shader uses OPEN GL routine to process the texture. It is used as a 2d texture manipulator to process images.

After entering play mode, user can create handles to manipulate images by clicking on the screen. 


User is also able to create multiple handles on the screen by clicking multiple times.


Then, the user needs to hit on space. The project will enter handle moving mode. The user can move the handles by dragging yellow squares. The around area pre-defined by radius will move with the handle.


By dragging the white circle around the yellow square, the user is able to rotate the handle. The texture around will rotate with the handle.


Users can also modify the radius of influenced area by drag the bar on the bottom of screen.


The influenced area is increased accordingly.


By hitting on "B" on keyboard, it will show the influencing area of each handle. Hit "B" again will disable the mask. 


source code: