Motion Capture in Maya: Import, Retarget, and Export Guide | MoCap Online

Motion Capture in Maya: Import, Retarget, and Export Guide

Why Maya for Motion Capture?

Autodesk Maya is the most widely used 3D application in professional game development and film production, and its motion capture Maya workflow has matured significantly over the past decade. While MotionBuilder remains the go-to tool for live capture sessions and bulk retargeting, Maya is often the preferred environment for shot-level mocap polish, complex rig integration, and final animation delivery.

Maya's strength in mocap work comes from its comprehensive rigging system, the built-in HumanIK retargeting framework, and the precision of its Graph Editor for curve cleanup. For independent animators, indie studios, and teams already invested in Maya's pipeline, doing mocap work directly in Maya — without a MotionBuilder license — is entirely practical and increasingly common.

This guide covers everything you need to know to import FBX and BVH mocap data, retarget it to your own character using HumanIK, clean the animation curves, and export back to FBX for Unreal Engine, Unity, or further downstream processing.

Maya's HumanIK System

HumanIK (HIK) is Maya's built-in full-body inverse kinematics and retargeting system. It operates on the same underlying technology as MotionBuilder's Character system — Autodesk developed both — which means the concepts translate directly between the two applications.

HumanIK works by defining a character: a mapping between your skeleton's bones and HumanIK's standard joint slots (Hips, Spine, Neck, Head, Left Shoulder, Right Knee, and so on). Once defined, HumanIK can use any other characterized skeleton as a motion source, solving the retargeting problem with a full-body IK pass in real time.

To access HumanIK in Maya, go to Skeleton > HumanIK. This opens the HumanIK window, which is the central interface for character definition, source assignment, and baking.

Key concepts:

  • Character Definition: The mapping from your rig's bones to HumanIK's standard joints. This must be created for both the source skeleton (the mocap data) and the target skeleton (your production rig).
  • Character Controls: The IK handle interface that lets you directly manipulate HIK-driven characters.
  • Bake: The equivalent of MotionBuilder's "Plot" — converts the procedural HIK retargeting into explicit keyframes on the target skeleton.

Importing FBX and BVH Mocap Data

Maya supports both FBX and BVH natively. The import process differs slightly between the two formats. For a deeper look at FBX itself, see our FBX animation guide.

Importing FBX

FBX is the preferred format for professional motion capture Maya exchanges. To import an FBX animation into Maya:

  1. Go to File > Import.
  2. In the file browser, select your FBX file.
  3. In the import options dialog, choose FBX as the file type.
  4. Click Import. Maya will load the skeleton and any animation curves embedded in the file.

If you are importing animation onto an existing skeleton, use File > Import > FBX Import Options and set Animation to merge with existing scene content. This avoids creating duplicate skeletons.

Best practice: Before importing, check that the FBX was exported at the same frame rate as your Maya scene. A mismatch (e.g., 30fps FBX in a 24fps Maya scene) will cause timing distortion.

Importing BVH

BVH is the older, simpler format. Maya imports BVH through File > Import with the BVH file type selected. The import creates a skeleton with Maya's default joint naming. Because BVH skeletons rarely match production naming conventions, you will almost always need to use HumanIK to retarget the BVH data to your actual character rather than trying to use the BVH skeleton directly. See our BVH animation guide for full format details.

Retargeting Mocap with HumanIK

Once your mocap skeleton is in the scene, retargeting to your production character involves characterizing both skeletons in HumanIK and then baking the result.

Step 1: Characterize the Source Skeleton

  1. Open the HumanIK window (Skeleton > HumanIK).
  2. Click Create Character. Name it something like "MocapSource".
  3. In the scene, select each bone from your mocap skeleton and assign it to the appropriate HIK slot (Right-click on a slot in the HumanIK definition grid → Assign Selected Bone).
  4. Fill in the required joints (spine, hips, legs, arms, neck, head). Optional joints (fingers, toes) can be left unmapped if not present.
  5. Click Lock to finalize the character definition.

Step 2: Characterize the Target Skeleton

Repeat the characterization process for your production rig. Create a new character, assign your rig's bones to the HIK slots, and lock the definition. Your production rig must be in a neutral T-pose or A-pose when you characterize it for best retargeting results.

Step 3: Set the Motion Source

  1. Select your target character in the HumanIK window.
  2. In the Source dropdown, select the MocapSource character you just defined.
  3. Play back the scene. You should see your production character moving with the mocap data, solved in real time by HumanIK's IK engine.

Step 4: Bake the Animation

  1. In the HumanIK window, click Bake (or go to Edit > Bake Simulation from the main menu).
  2. Set the bake range to cover your animation.
  3. Choose Smart Bake (bakes only at keyframe positions) or Every Frame (bakes at every frame — larger file, maximum precision).
  4. After baking, the target character now has explicit keyframes. You can disconnect the HIK source and the animation will play independently.

Cleaning Mocap Curves in the Graph Editor

After baking, your character's animation curves will typically have a keyframe on every frame — the raw mocap data. This is precise but often noisy and not directly usable for production. The Graph Editor is your primary tool for cleanup.

To access the Graph Editor: Windows > Animation Editors > Graph Editor.

Key Reduction

If you baked at every frame, start with key reduction to remove redundant keyframes while preserving the motion shape. In the Graph Editor, select all keys and go to Curves > Simplify Curve. The tolerance parameter controls how aggressively keys are removed — start at 0.01 and increase until you see visible distortion, then back off slightly.

Euler Filter

Rotation curves in mocap data frequently exhibit Euler flipping — sudden 180-degree jumps in a rotation channel that cancel out visually but cause ugly interpolation between keyframes. To fix this, select the problematic rotation curves in the Graph Editor and apply Curves > Euler Filter. This is one of the most important cleanup steps for motion capture Maya workflows.

Smoothing

For jittery areas — common in shoulder, wrist, and ankle joints — use the Smooth Tangents option in the Graph Editor to reduce high-frequency noise in the curves.

Manual Edits

For specific problem frames (a knee popping, a foot drifting through the floor), zoom into the Graph Editor, locate the offending keyframes, and manually adjust them. Use weighted tangents for precise control over the curve shape around the correction.

Working with Constraints vs IK in Maya Mocap

Constraints are the most common approach for mocap polish. After baking, you can apply a Point Constraint or Orient Constraint to lock a hand to a prop, keep a foot planted, or match a character's gaze to a target.

IK handles are used when you want to replace sections of mocap with manually keyed IK-driven animation. If a character needs to pick up an object that wasn't in the capture, you might key an IK wrist control for those frames, then transition back to FK-driven mocap.

The general rule: use constraints for world-space corrections (foot plants, hand grabs), use IK switching for manual animation additions, and keep the FK mocap curves as your baseline.

Exporting Back to FBX

Once your animation is cleaned and baked to the skeleton, exporting to FBX follows a straightforward process:

  1. Select the skeleton root joint and any attached geometry you want to export.
  2. Go to File > Export Selection.
  3. Choose FBX Export as the file type.
  4. In the FBX Export Options:
    • Enable Animation and set the correct frame range.
    • Set FBX Version to FBX 2020 for Unreal, or FBX 2019 for broader compatibility.
    • Enable Bake Animation to ensure all constraint-driven or HIK-driven motion is included in the export.
    • Set Resample All if you need to normalize to a specific frame rate.
  5. Click Export Selection.

For Unreal Engine: ensure the root bone is named "root" or matches Unreal's expected hierarchy, and that the scene scale is set to 1 unit = 1 cm. For Unity: set the FBX axis conversion to ensure forward matches Unity's expectation (Y-up, Z-forward).

Maya vs MotionBuilder for Mocap Work

Task Maya MotionBuilder
Single animation cleanup Excellent — Graph Editor precision Good — faster for bulk, less precise per-curve
Batch processing 100+ takes Possible but slower Designed for this — Python batch scripting
Live capture streaming Not suitable Native, real-time
Complex character rigging Industry standard Limited rig-building tools
Rendering Full pipeline (Arnold, V-Ray) Not a rendering tool
Cost Subscription (~$285/mo) Subscription (~$200/mo)
Learning curve for mocap Steeper — more general-purpose Shallower for mocap-specific tasks

For teams already in Maya who handle a manageable number of animations, staying in Maya is entirely justified. For high-volume productions with dedicated mocap capture stages, MotionBuilder handles the capture-to-retargeting pipeline more efficiently, with Maya taking over for final polish.

Maya to Unreal Engine Pipeline

  1. Export your skeletal mesh from Maya as FBX (with skin binding, without animation) to establish the base Skeletal Mesh in UE5.
  2. Export each animation as a separate FBX file. Select the skeleton only (not the mesh) for animation exports to keep file sizes small.
  3. In UE5, import the Skeletal Mesh first. This creates the USkeleton asset.
  4. Import animation FBX files and target them to the existing USkeleton using Use Existing Skeleton in the import dialog.
  5. Use UE5's IK Retargeter if you need to remap animations to the UE5 Mannequin or another character.

Maya to Unity Pipeline

  1. Export your Maya skeleton and animations as FBX using the settings described in the export section above.
  2. Drag the FBX files into the Unity Project window.
  3. Select the FBX in Unity's Project panel and go to the Rig tab in the Inspector. Set Avatar Type to Humanoid if using Unity's Mecanim animation system.
  4. Click Configure Avatar to map bones — Unity auto-detects most bones from standard Maya naming conventions.
  5. Under the Animation tab, verify the animation clips, set loop times, and configure root motion settings.
  6. Hit Apply and your Maya-cleaned mocap is ready to use in the Animator Controller.

Frequently Asked Questions

Do I need MotionBuilder if I already have Maya?

Not necessarily. For moderate volumes of mocap work — say, under 100 animation takes per project — Maya's HumanIK system handles retargeting competently. MotionBuilder's advantages become significant at scale: live streaming, batch processing, and real-time performance on large take libraries.

Why do my rotations flip when I import BVH into Maya?

BVH files use Euler rotation order, and different applications default to different rotation orders (XYZ, ZXY, YXZ). When Maya imports BVH data, the rotation order may not match, causing interpolation flipping. Apply the Euler Filter in the Graph Editor after import to resolve this.

How do I keep a character's feet from sliding in Maya?

After baking HumanIK, use Point Constraints on the foot joints at contact frames. Set a Point Constraint with the foot's world-space position locked to a locator placed at the correct floor height. Key the constraint weight on at contact and off at lift-off.

Can I use pre-made FBX animation packs with HumanIK?

Yes, and this is one of the most practical uses of HumanIK for motion capture Maya workflows. Import the pre-made FBX skeleton, characterize it in HumanIK as the source, characterize your production rig as the target, and bake. The entire process from import to baked retarget typically takes under five minutes per animation. Pre-made packs from MoCap Online's animation library work directly with this workflow.

What frame rate should I use for mocap in Maya?

Match your Maya scene's frame rate to the capture frame rate for best results. Mocap is commonly captured at 60fps or 120fps and then resampled for game use. Game animations are typically delivered at 30fps.

Ready-Made Mocap Animations for Maya

If you want to skip the capture process entirely and work directly with pre-processed, production-ready animation data in Maya, MoCap Online offers hundreds of FBX animation packs that import cleanly into Maya's HumanIK workflow.

Browse MoCap Online's animation collection — every pack is designed for direct use in Maya, MotionBuilder, Unreal Engine, Unity, and iClone. Download a free sample pack to test the workflow before purchasing.

Related Articles

Maya-Compatible Motion Capture Animations

MoCap Online provides professionally captured animation packs in FBX format that import cleanly into Maya, with proper skeletal hierarchies and joint orientations that work with Maya's HumanIK characterization system. Every animation is recorded with optical motion capture equipment, delivering precise joint rotation data that Maya's Graph Editor and animation layers can work with directly.

Browse FBX Animations for Maya → | Browse the Full Animation Library → | Try Free Animations