Skip to content

Animation Files (.anm)

A .anm is the everyday transfer. It carries the animation — and everything a .pvt carries, folded in alongside it.

Holds
Keyframes Position, rotation, and scale, per frame, in the exported range
Interpolation BEZIER, LINEAR, or CONSTANT, per key
Bezier handles Absolute, per axis
The rest pose Each item's parent, pivot, and rest rotation — the .pvt content, folded in
The frame range So the target knows what it received
The cameras Lens, clip planes, offset, roll, default flag
The rig tags So a multi-character scene stays separated

That last-but-three row is the important one:

One .anm rebuilds the whole rig and the animation

Because each item carries its own parent and rest pose, a .anm is self-sufficient. Hand someone a single .anm and they can press Create Rig on an empty scene and get a working, animated skeleton. You do not need to send a .pvt alongside it.


Exporting

The .anm export page in Maya
  1. Select what you want to send — including any camera.
  2. Animation Files (.anm) → Export, then + to scan it in.
  3. Check the Rig column.
  4. Set Start and End, or press Scene range.
  5. Save As…, then Export Animation.

The frame range matters

Only frames inside the range are sampled. A tight range makes a smaller file and a faster export; a range that misses the end of your action silently truncates the shot. Scene range is the safe default.

The range is written into the file, so the summary line on the import side tells the recipient exactly what they got.

What "exported" means for a key

OTS doesn't blindly sample every frame. It collects the frames that are actually keyed on any channel, adds the first and last frame of the range so the shot is bounded, and evaluates the transform at each of those.

The evaluation is a world-matrix bake, made relative to the nearest exported ancestor. That's what lets you export half a rig and still get a coherent result: if you export a hand but not the forearm above it, the hand's keys arrive relative to whatever was exported above it, and the pose is right.

It's also why the transfer is one-way per shot. What arrives on the other side is baked transforms, not the deformers, constraints, or expressions that produced them.


Importing

The .anm import page in Harmony

Browse… to the file. OTS immediately matches every item in it against your scene and reports:

3 PEGs — 3 matched | 1 camera | Frames 1-60

Every row has a checkbox — untick anything you don't want. A row painted amber found no match in this scene. See The Match Tree.

Then choose one of three actions.

Apply to PEGs / Apply to Joints

Writes the animation onto the matched rows that are ticked. Nothing is created; nothing unmatched is touched.

This is what you want when the rig already exists on this side — you built it earlier from a .pvt, or it's a rig you authored yourself with matching names.

In Harmony, Apply rewrites the peg's authoring mode

Applying to an existing Harmony peg unlinks any 3D-path or quaternion-path column on it and writes fresh separate-channel bezier curves. The values are correct and the curves are editable, but a peg that was authored on a 3D path won't be afterwards.

This is deliberate — it's the only way to represent an arbitrary incoming curve — but it's worth knowing before you point it at a peg you hand-crafted.

Create Rig

Builds the skeleton from the file's folded-in rest pose and applies the animation, in one step. This is the button for an empty scene, and it's why a .anm needs no companion .pvt.

What gets built is the same as Build Skeleton — joints in Maya, an armature per rig in Blender, a wrapper group of pegs in Harmony — with the keys applied on top.

Create Cameras

Builds the cameras the file carries, with their lens and clip planes, attached to the item that animates them. Disabled if the file has no cameras. See Cameras.

Amber rows stay amber after Create Rig

Creating the rig doesn't repaint the list — the match state you're looking at is the one from when you browsed. Press Browse… again on the same file to re-run the match and see the rows resolve.


.pvt or .anm?

.pvt .anm
Rest skeleton
Parenting
Cameras
Animation
Bezier tangents
Frame range
Can build a rig from nothing

The honest summary: .anm is a superset. .pvt exists for when you want to hand over a skeleton without a shot attached — which is a real need, just a less frequent one.