Posted on Leave a comment

What is interpBlendShape?

interpBlendShape is a custom Maya deformer, similar in purpose to Maya’s built-in blendShape deformer, but with surface UV interpolation, in-between support, and Bezier-style blending instead of traditional linear interpolation. It supports both meshes and curves.

The tool is designed for high-end facial rigging and special deformation cases where you want the deformation to slide across a surface while keeping the result smooth, clean, and controllable. In some cases, it can also help achieve a more graphic or 2D-style deformation look.

One of the most common challenges in facial rigging is handling large mouth shapes. Traditional linear blendShape interpolation can often produce unpleasant or unnatural in-betweens. With surface-based blending, you can focus mainly on sculpting the final target shape, while the in-between motion slides across the NURBS surface or mesh surface you provide.

In a traditional Maya setup, solving this kind of deformation can be difficult and inefficient. Workflows using UV Pin, 2D projection, or multiple built-in Maya nodes can become complicated and heavy, especially for production rigs. interpBlendShape simplifies this workflow into a single deformer, with TBB parallel processing and GPU acceleration to help keep the deformation fast and interactive.

Currently, interpBlendShape supports NURBS surface blending, where the target shape blends over the surface. You can use Cache Mode for significantly faster evaluation, or Live Mode, which allows you to drag targets and have them slide along the surface when targetOffset is set to zero.

The deformer also includes Bezier Blend as an alternative interpolation method when you do not want to use a surface. With Bezier Blend, you can create multiple in-between targets to produce a more rotational style of interpolation, which is useful for shapes like eye closing, eyebrow twisting, or other areas where you may not want to rely on many extra joints.

interpBlendShape also comes with the interpBlendShape Editor, a dedicated UI for creating, deleting, and editing deformations more easily. The editor supports real-time Maya synchronization and full undo/redo. Since the UI uses callbacks to stay synchronized with Maya, it is recommended to close the editor while playing animation, as deformation evaluation can trigger many callbacks and may slow down playback.

The editor also supports normalized weight painting, making it easier to split weights using normalize groups. In addition, mirror and flip operations for targets and weights are significantly faster than Maya’s default workflow, especially on higher-resolution meshes. During mirror and flip operations, unnecessary callbacks are suppressed to improve performance.

interpBlendShape is free for individual users. I hope this tool can be useful in your work, and feel free to contact me if you have any questions.

For more detailed technical information, including setup, attributes, and workflow examples, please refer to the interpBlendShape documentation.

You can download the sample file here:

interpBlendShape_example (558 downloads )

Thank you!

Posted on Leave a comment

Maya魔方绑定的原理 Rubik’sCube rigging

魔方的实现有很多种方法,但是实现的过程都大同小异。我采用的的表达式让时间帧来控制主程序,或者可以使用scriptJob直观的去控制旋转。魔方分别有右、左、前、后、上、下六个面,创建六个控制器并且标号(也可以用8个控制器,俩个中间的)以6个控制器为例:right - 0/left -1 /front -2 /back - 3/up -4/down - 5

一、控制器如何分别控制所对应区域的方块:所有的方块都被6个控制器父子约束,根据标号跟方块的位置参数做比较

二、如何得到旋转的控制器是哪个方向:

1、探测当前控制器在时间线上的度数,可以得到在旋转的方向的标记号

2、如果旋转度数等于0度或90度或者90度的倍数(包括负数) 返回 0

3、如果旋转度数不等于0度或90度或者90度的倍数(包括负数)返回 1

假如等到标记号是1,$index =1;

获取所有方块的$axis[$index]的位移值,如:block1.tx

核心原理如下: Continue reading Maya魔方绑定的原理 Rubik’sCube rigging