Advanced Blendshape Tools | Maya plugin for blendshape transfer across topologies

Advanced

Blendshape
Tools

For Autodesk Maya

Export, import, and transfer blendshape targets, weights, and component selections across same or different topologies at blazing speeds. One native file format that preserves everything in your Shape Editor, plus what Maya leaves behind.

Purchase Read the docs

Supporting:

Maya 2023 Maya 2024 Maya 2025 Maya 2026 Maya 2027
Windows 64-bit macOS Linux

Deform it. Bake it. Store it.

A live UV/Proximity Wrap Deformer is built into the same toolkit.

  • +Drive the deformation from one mesh to another mesh
  • +Bake it down to blendshape targets
  • +Store it in the same portable format as everything else
Enlarge

Deform it.

Live UV/proximity wrap on the target mesh, sculpt or drive the deformation in real time, no shape baked yet.

Enlarge

Bake it.

Convert the live wrap into a standard blendshape target with one command.

Bake/Transfer the same organization to the new blendshape node.

Enlarge

Store it.

Exporting or batch exporting your blendshapes into the .DELTAS format is super fast and produces small compressed portable files.

The toolkit

Four tools. One pipeline.

Keep mesh changes moving through your pipeline with minimal disruptions. At the core, each of the tools pass through the same interpolation logic whether you are transferring blendshape targets, blendshape weights or component selections. In addition, there's a UV Wrap deformer that gives you a preview of pre-baked results or keep the deformer live to drive different meshes.

Adv Blendshape Tools

Export, import, and transfer blendshape nodes between any two meshes. UV, Topology, or Index interpolation. Groups, combinations, in-betweens stay intact.

  • +Topology-independent transfer
  • +Combination shapes + in-betweens
  • +Group directories + visibility flags
Adv Weights Tool

Deformer masks and per-target paint weights round-trip in a .bweights file. Maps follow the mesh via the same UV-based transfer.

  • +UV-based weight transfer
  • +Per-target paint maps
  • +Batch import / export
Adv Component Tool

Named vertex selections (eyes, mouth, neck) captured as component tags and remapped onto any target mesh automatically.

  • +Named vertex sets
  • +.components file format
  • +Transfer between meshes
UV Wrap Deformer

A live UV / proximity wrap deformer that drives one mesh from another, then bakes straight down into a blendshape target.

  • +Live UV + proximity wrap
  • +Bake to blendshape target
  • +Feeds the same .deltas format

Benchmarks

In production, speed and portability aren't nice-to-haves. Long export and import times stall iteration, and on a shared repo, every extra megabyte slows down syncs and commits for the whole team.

18.5× faster import
2.3× smaller files
ABT .deltas
Maya .shp
OBJ

Export time

1.78s
0.83s
60.55s
ABT
.deltas
Maya
.shp
OBJ

Import time

1.50s
27.59s
50.66s
ABT
.deltas
Maya
.shp
OBJ

File size

260 MB
608 MB
2.44 GB
ABT
.deltas
Maya
.shp
OBJ
+24,049-vertex mesh
+695 blendshape targets
+Maya 2027
+Windows 11
+Averaged across 10 runs per format
+OBJ measured as one file per target

vs Maya Shape Editor

Full Shape Editor Support

Export, import, or transfer: same or different topologies.

The .DELTAS format is a superset of Maya's Shape Editor format (.SHP): it stores everything .SHP does, plus the group directories, visibility flags, and auto-named combinations Maya's native format leaves behind.

FeatureMAYA
(.SHP)
ADV. BLENDSHAPE TOOLS (.DELTAS) 
{{ row.feature }}
Group directories
Target visibility
Combination shapes
Driven key connections
In-betweens
Custom target names
Auto-named combinations
Deformer weights

Three ways to match geometry.

Pick a transfer method based on how closely source and target meshes relate, from exact vertex-index matches to fully independent topologies.

Index

1-to-1 by vertex index. For identical meshes: exact, instant copy.

UV

Nearest neighbor in UV space. Best accuracy for retopologized characters with shared UV layouts.

Topology

3D distance. For meshes with no shared UVs but close surface geometry.

CORRESPONDENCE GROUP CONSTRAINTS

When transferring blendshapes between meshes with different shapes (same vertex count), closures such as eye blinks or mouth closures will not produce the same results. The Correspondence Group constraints is a solver that will take 2 regions, A and B, and will find the correct closure ratio based on the 2 regions and close the gap for the designated target.

Drag to compare Same mesh · same target
Source Transferred Without With ◀▶
The top row is the source shape, identical on both sides. The bottom row is the transferred result: plain index transfer on the left, Correspondence Constraints solving the closure on the right.

The constraint data is stored within the .DELTAS file format, which can be batch imported onto other meshes with the same vertex count. A huge timesaver for artists or TDs.

For TDs · Riggers · Pipeline developers

Built for automation.

Every UI operation is a first-class Python or MEL command. Batch-process a whole scene, rebuild after retopology, push blendshapes to LODs. All headless, scriptable, and pipeline-ready.

01

Retopologize

Artist updates the mesh. New vertex count, new edge flow. Without ABT, rebuilding the rig starts now.

02

Transfer

Point ABT at the existing blendshape node and the new mesh. One Python call or one UI operation.

03

Back in production

The updated mesh has the same targets, groups, and combinations. Animation can keep working.

Testing a new mesh against previously saved data Python
from maya import cmdsfrom advBlendshapeTools.api import commandsdeltas_file = "D:/show/rigs/hero_head.deltas"mesh = "hero_head_geo"# Read the vertex count straight out of the file. No import, no temp# node, nothing added to the scene.file_vtx_count = commands.get_file_vtx_count(deltas_file)mesh_vtx_count = cmds.polyEvaluate(mesh, vertex=True)# Matching vertex counts mean the mesh is topologically unchanged since the# export, so a direct index transfer is exact and fastest.# A mismatch means it was retopologized, so fall back to interpolating# across the UV layout instead.if file_vtx_count == mesh_vtx_count:    method = "index"else:    method = "uv"blendshape = commands.import_deltas(mesh, deltas_file, method)print("Imported {} targets onto {} using the {} method".format(    len(commands.get_file_targets(deltas_file)), mesh, method))

Example only. Query the file first and you can branch on topology before committing to an import.

Pricing

Indie / Educational $50per seat

Under USD 100,000 revenue in the last 12 months, or enrolled students and faculty.

  • No feature restrictions
  • Direct support

FAQ · End User License Agreement · please read before purchasing. Perpetual license, one seat per person, and your output is yours.

{{ zoomAlt }}
{{ zoomAlt }} Click anywhere to close