Motion-aware morphing between two images or elements.

Get it

Download on GitHub
  1. Download the aeTools repository from GitHub as a ZIP, or clone it. One download brings every tool.
  2. Copy the Aitor_Echeveste folder into your .nuke folder.
  3. Add nuke.pluginAddPath("./Aitor_Echeveste") to .nuke/init.py and restart Nuke.

In the gizmo

  • Morph controls the geometric transition
  • Dissolve controls the final image blend
  • Vector Detail adjusts motion estimation
  • Blur Map smooths the generated vector field
  • Optional mask input
  • GPU acceleration when available

Two images can show the same face or object in slightly different positions. A cross-dissolve shows both at once halfway through: doubled eyes, doubled edges, two objects where there should be one.

Why a dissolve makes two objects

A dissolve only changes opacity. If the outlines don't line up, both versions are visible at the midpoint, and the eye reads two things rather than one changing.

Warp first, then blend

A morph moves corresponding features towards each other before mixing them. aeAutoMorph estimates motion between the two images in both directions with Nuke's VectorGenerator and warps each towards the other with IDistort, so shapes meet in the middle. Vector detail and a blur on the map control how fine or smooth that correspondence is.

If features stretch

Why do features stretch?
The motion estimate is wrong or ambiguous there. Smoother vectors or a lower vector detail can help.

Goes well withaeMotionBluraeFiller