# AnimBlendTree

Class · extends [`AnimNode`](https://api.playcanvas.com/engine/classes/AnimNode.md) · category: Animation

Source: https://github.com/playcanvas/engine/blob/b5b983982a9860d21e0c1dafb2f85f72e2c01afb/src/framework/anim/controller/anim-blend-tree.js#L16

AnimBlendTrees are used to store and blend multiple [AnimNode](https://api.playcanvas.com/engine/classes/AnimNode.md)s together. BlendTrees can
be the child of other AnimBlendTrees, in order to create a hierarchy of AnimNodes. It takes a
blend type as an argument which defines which function should be used to determine the weights
of each of its children, based on the current parameter value.

## Constructors

### constructor

```ts
new AnimBlendTree(state: AnimState, parent: AnimBlendTree | null, name: string, point: number | Vec2, parameters: string[], children: any[], syncAnimations: boolean, createTree: Function, findParameter: Function)
```

Create a new AnimBlendTree instance.

**Parameters**

- `state` ([`AnimState`](https://api.playcanvas.com/engine/classes/AnimState.md)): The AnimState that this AnimBlendTree belongs to.
- `parent` ([`AnimBlendTree`](https://api.playcanvas.com/engine/classes/AnimBlendTree.md) `| null`): The parent of the AnimBlendTree. If not null, the
  AnimNode is stored as part of a [AnimBlendTree](https://api.playcanvas.com/engine/classes/AnimBlendTree.md) hierarchy.
- `name` (`string`): The name of the BlendTree. Used when assigning an [AnimTrack](https://api.playcanvas.com/engine/classes/AnimTrack.md)
  to its children.
- `point` (`number |` [`Vec2`](https://api.playcanvas.com/engine/classes/Vec2.md)): The coordinate/vector that's used to determine the weight of
  this node when it's part of an [AnimBlendTree](https://api.playcanvas.com/engine/classes/AnimBlendTree.md).
- `parameters` (`string[]`): The anim component parameters which are used to calculate the
  current weights of the blend trees children.
- `children` (`any[]`): The child nodes that this blend tree should create. Can either
  be of type [AnimNode](https://api.playcanvas.com/engine/classes/AnimNode.md) or [AnimBlendTree](https://api.playcanvas.com/engine/classes/AnimBlendTree.md).
- `syncAnimations` (`boolean`): If true, the speed of each blended animation will be
  synchronized.
- `createTree` (`Function`): Used to create child blend trees of varying types.
- `findParameter` (`Function`): Used at runtime to get the current parameter values.
