API Reference · Animation

AnimationMask

Namespace: Ava3D

public sealed class AnimationMask

Which nodes a layer is allowed to move.

A mask is the difference between "wave" and "wave with the legs stopping". Without one, a gesture that only meant to say something with an arm holds the whole skeleton for as long as it plays, because every channel it carries — and an exporter writes all of them — competes with the layer underneath.

A set of nodes rather than a set of names, because the animator addresses nodes and a name is only how a caller finds one. AnimationMask.Under is the form worth reaching for: "everything below the chest" is a thing a person can say, and a list of fourteen joint names is a thing a person gets wrong.

Constructors

MemberDescription
AnimationMask(IEnumerable<Node> nodes)

A mask of exactly these nodes, and nothing below them.

Properties

MemberDescription
int Count { get; }

How many nodes it names.

Methods

MemberDescription
AnimationMask Add(Node node)

Adds one node.

AnimationMask AddSubtree(Node root)

Adds root and everything under it.

bool Contains(Node node)

Whether this layer may move node.

static AnimationMask Named(Node root, string[] names)

Every node under root whose name is in names.

static AnimationMask Under(Node root)

root and everything under it.

See also