Root Motion Extractor

Root Motion Extractor

This plugin lets you extract root motion data. Using the extracted data, removes errors like foot sliding and let’s you use all root movement coordinates in non root motion animations.
You can transfer root motion data to float curves or animation curves including animation sequences or montages.
Just pick source asset with root animation, a target, make your capture selection and press Extract.
It’s that easy.

Marketplace URL: Root Motion Extractor in Code Plugins - UE Marketplace

Showcase:

Marketplace URL: Root Motion Extractor in Code Plugins - UE Marketplace

This suits perfectly with Kubold or Riko Animations sets.

support [at] yakistudios.com

The plugin has been released.

List of updates:

Update 1.1.5

  • Ability to cancel running operation

Update 1.1.4

  • Extraction and writing are running in separate thread

Update 1.1.3

    • Implemented Batch extraction
    • Removed “auto-delete all curve data” and converted it in option.

Update 1.1.2

  • Improved asset pickers to ease workflow
  • Implemented Precision Slider

A tutorial about how batch extraction works in Root Motion Extractor plug-in.

A new update has been released for Root Motion Extractor:

Update 1.1.6

  • Incremental Extraction(Stores at the current key frame the amount of data from the beginning to current frame).

Another update before new year:
Update 1.1.7

  • Fixed a rotation capturing bug where the extracted value didn’t represent the actual rotation degrees.

Update 1.1.8

  • Fixed a bug where packaging with the plugin enabled would fail because of an SProgressBar assertion failing.
  • Implemented Log category RMELog

I saw in comments you said this is to fix foot sliding. I don’t quite understand, can you explain how it can fix with the curves you extracted?

Update 2.0.0

  • Bone Tracking (BETA) - Capture movement and rotation of bones (local space only)
  • Backward Support for UE4.16
  • Several fixes and improvements

And this is a good learning material on how to use curve data from animations.

https://www.unrealengine.com/marketp…tion-system-v1

With the help of RME you can write very easy movement data in curves otherwise it’s heavy manual work.

Basically when you extract the Movement Speed from a root motion animation the actual speed in cm/s is stored at the current key frame. Then you can get that value from animation blueprint using Get Curve Value node and set that value to the character movement component (Max Walk Speed node) on your character.

1 Like

Update 2.0.1

  • Bone Tracking (BETA) - Capture is done in component space.

A video tutorial on how to do bone extraction with RME.

Hey, does it support transform extraction (Ie distance from root motion start to end).

Hi,

It extracts location and rotation separately for each axis. It doesn’t store values in FTransform variable type but you can use float curves output and build a transform variable.
You can decrease the precision to minimum to get only the beginning and the end of animation values.

You can check the above tutorials and see the actual output.

I hope i answered your question.

Hey thanks.
One more question. Is source included with plugin ?

Hi,

I’m wanting to extract root motion data from an animation and drive the character scene root through blueprints, would this be possible with RME? Alternatively is it possible to use the data extracted to drive a character root as a player (equivalent of pressing forward / side etc) rather than AI taking over the pawn when playing an animation on it?

Hey man, I remember you have post the video where you show how delete effect sliding animation, how use curve in the AnimGraph, I dont find now on youtube channel, can show me this video I have need? Tk bro…:slight_smile:

**Update 2.0.3

  • UE 4.20 compatibility
  • Lots of code improvements and restructures
  • Full backward compatibility to version 4.16**

**Update 2.0.4

  • Fixed a bug where packaging with the plugin enabled resulted in error.**

Can I have the curve multiplied by the playback rate at the same time?