Skip to content

Motion Cleanup & Foot Locking

Module: Animation · Category: Motion · Tool ID: MotionCleanupFootLocking

A three-tab cleanup pipeline for mocap and authored animations. Foot Analysis loads an AnimSequence, samples foot bone velocities, and detects contact frames. IK Lock Curves generates IK lock curves on the analyzed clip with configurable blend time and IK type. Batch Processing runs the same workflow across a folder of AnimSequences in one pass.

Screenshot 01 — Hero shot — Tool open on Foot Analysis tab with a walk cycle loaded, contact ranges list populated, stats showing "X contacts detected".


  • Cleaning up raw mocap walk/run cycles where feet visibly slide on the ground
  • Generating IK lock curves consistently across an entire animation set without hand-authoring each one
  • Preparing a movement clip for a Two-Bone IK / Pose Warping / Full Body IK setup
  • Batch-processing a folder of locomotion clips after a mocap session
  • Don’t use this for hand-keyed animation — they typically don’t slide
  • Don’t expect this to replace cleanup in your DCC — it generates lock curves that an IK system reads at runtime, it doesn’t bake the cleanup into the source clip

  1. Open the EQLabs Hub and search for Foot or Motion Cleanup (or browse to Animation → Motion)
  2. Click the tool card
  3. Use the tab bar to pick Foot Analysis, IK Lock Curves, or Batch Processing

Sample foot bone velocities and detect contact frames.

FieldWhat it doesDefault
AnimSequence pickerDrop the clip to analyze(empty)
Left Foot BoneBone name for the left footfoot_l
Right Foot BoneBone name for the right footfoot_r
Velocity ThresholdVelocity below this counts as contact (cm/s)5.0
Analyze buttonWalks the clip, samples velocities, builds contact ranges
Stats blockFrame count, duration, detected contact count
Contact ranges listPer-range row: foot name, start frame, end frame, average velocity

Screenshot 02 — Foot Analysis tab — Walk cycle loaded, contact ranges list showing alternating left/right contacts, stats line summarizing detection.

  1. Drop an AnimSequence into the picker
  2. Confirm the foot bone names match your skeleton (defaults are UE4/UE5 Mannequin)
  3. Tweak Velocity Threshold — 5.0 cm/s works for most walk cycles, drop to 1.0 for slow idle clips
  4. Click Analyze

Generate IK lock curves on the clip analyzed in Tab 1.

FieldWhat it doesDefault
Lock Blend TimeBlend time at the start/end of each lock range (seconds)0.1
IK TypeTarget IK system: Two-Bone IK, Pose Warping, or Full Body IKTwo-Bone IK
Preview Lock Curves buttonUpdates the preview text without writing to the asset
Generate Lock Curves buttonWrites the IK lock curves to the analyzed AnimSequence
Preview blockText summary of what will be generated
TypeWhat it produces
Two-Bone IKStandard IK_LockL / IK_LockR float curves clamped to [0, 1]
Pose WarpingCurves shaped for UE’s Pose Warping node consumer
Full Body IKCurves shaped for FBIK consumer
  1. Switch to this tab after running Tab 1’s analysis
  2. Pick the IK type that matches your AnimBP setup
  3. Adjust Lock Blend Time for smoother transitions (0.10.2 is typical)
  4. Click Preview Lock Curves to see what would be generated
  5. Click Generate Lock Curves to write them to the AnimSequence

Run the analysis + lock-curve workflow across an entire folder.

FieldWhat it doesDefault
Batch Scan PathFolder of AnimSequences to process/Game
Scan Folder buttonWalks the folder, populates the list
Process All buttonRuns Foot Analysis + Generate Lock Curves on every included row
Batch listPer-clip row: asset name, frames, duration, include checkbox

Screenshot 03 — Batch tab — List of 8–10 walk/run cycles, mixed include/exclude checkboxes, Process All button visible.

  1. Set Batch Scan Path to the folder containing your locomotion clips
  2. Click Scan Folder
  3. Untick any clips you don’t want processed (e.g., upper-body-only animations)
  4. Click Process All — every included clip is analyzed and gets lock curves generated

FieldDefault
Left Foot Bonefoot_l
Right Foot Bonefoot_r
Velocity Threshold (cm/s)5.0
FieldDefault
Lock Blend Time (s)0.1
IK TypeTwo-Bone IK
FieldDefault
Batch Scan Path/Game

Settings are persisted to [Project]/Saved/EQLabs/Settings/MotionCleanupFootLocking.json.


  • In-place modification — Generate Lock Curves writes IK lock curves to the AnimSequence’s curve track
  • Undo — wrapped in ScopedTransaction. Ctrl+Z reverts; batch is one undo step
  • No source replacement — original animation data is preserved; lock curves are added alongside

  • Foot bone names matter — non-standard skeletons (Mixamo, custom) won’t have foot_l / foot_r. Update the bone fields before analyzing.
  • Velocity Threshold tuning — too high and you’ll miss legitimate contacts; too low and slow idle clips look like everything is “in contact”. Start at 5.0, adjust based on first results.
  • Lock Blend Time of 0 makes IK pop — keep at least 0.050.1 for natural-looking transitions.
  • Batch Process is destructive in the sense that it adds curves to source assets — re-running on already-processed clips will replace the previous curves. That’s usually the right behavior, but worth knowing.
  • Save All afterward — curve writes are in-memory until saved.


Report an issue with this tool

Opens our feedback form in a new tab with the tool name pre-filled.