> For the complete documentation index, see [llms.txt](https://scenegroup.gitbook.io/cavalry/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://scenegroup.gitbook.io/cavalry/nodes/behaviours/morph.md).

# Morph

Morph between shapes with different point counts.

Morph from one shape to another. Morph differs to a [Blend Shape](/cavalry/nodes/behaviours/blend-shape.md) in that is doesn't require the shapes to have matching point counts. For example you could morph between a [Rectangle](/cavalry/nodes/shapes/basic-shape/rectangle.md) (4 points) and a [Polygon](/cavalry/nodes/shapes/basic-shape/polygon.md) (5 points).

[Common Attributes](/cavalry/nodes/behaviours/common-attributes-behaviours.md) +

**Mode** -&#x20;

* **Simple Morph** - sample additional points in order to match the point counts.
* **Wave Morph** - converts both paths via a Fast Fourier Transform (FFT) to perform the morph before converting the resulting path back. This can be useful for morphing complex shapes like text characters for example.

**Morph Divisions** -  determine the subdivision level used when sampling the shapes.

**Sampling Offset** - this will offset the pointId. This can be useful to fix instances where two shapes might 'fold' inside out due to points trying to move to the opposite sides.

{% hint style="success" %}
Example usage:

1. Create an [Ellipse](/cavalry/nodes/shapes/basic-shape/ellipse.md) and a [Polygon](/cavalry/nodes/shapes/basic-shape/polygon.md).
2. Add a **Morph Behaviour**.
3. Connect ***polygon.id > morph.morphTarget***.
4. Connect ***morph.id > ellipse.deformers***.
5. Scrub **Strength** on the Morph.
   {% endhint %}
