is a Blender Plugin that Converts Mixamo animations to work in the Godot Engine (and UE4?) with root motion Blender 2.78 or newer needed to work (yes, 2.8 works)
This is a modified version of enziop's UE4 tool, so it works a bit differently
As a result of this, the workflow is a bit different:
- Upload model to mixamo without a root bone, only hips.
- Download adjusted model and animations as FBX
- Using batch convert, convert all FBX files (including model) to .blend files with root motion added
Now, you can either use the resulting model .blend file or using the "convert single" option on your original model:
- Open your moodel
- Go to file -> append and select the animation .blend file you want
- Go to Actions and select the only action there is
- Open the Dope Sheet -> Animation Editor and select the action (both for verifying it works and ensuring it's not orphaned, else it won't export).
- Export to godot using your favourite method (I use the .escn exporter)
- convert single animations (FBX or Collada) if they are previously imported by the user
- Batch convert all input FBX and Collada files from a folder to a new location
- Renames the bones in the skeleton to match the maniquine unreal skeleton
- first you have to get blender from https://www.blender.org/download/
- Download Mixamo Converter repository as ZIP (no need to unpack it)
- Open up Blender
- go to: File -> User Preferences -> Addons -> Install from File...
- select the ZIP you downloaded and click install from file
- now it should be the only addon visibly and you can enable it
- if you want to keep it enabled over multiple blender sessions you can click "save user preferences" on the bottom of the window
The Addon UI is located in the Toolshelve of the 3D view. You can open it by pressing T with the mouse in the 3D View or with the little plus sign on the left side of the 3D View In the Toolshelve there are several tabs on the left side, one of them should be named Mixamo
it will behave as follows in Unreal Engine 4 Only rotation along the Up Axis is transfered to the root
A Root bone which stays on ground except for cases when the Hip moves higher than its restpose location
the root bone can go below the Ground this will result in wierd behaviour if one Big Collider is used for the Character in Unreal
no Vertical motion at all is transfered to the Root and [On Ground] becomes obsolete
Those can be disabled to prevent movement of root on groundplane. Useful if one doesn't want to use root motion for some Animations but still needs to have the same converted rig. If so just disable Use Vertical, Use X and Use Y.
Here you can specify a custom HipName if your Rig doesn't come from Mixamo. It will then also search for a bone with this name and consider it as Hip to bake From if found.
If enabled, removes all namespaces, leaving you with only the object/bone bare names. This option is not compatible with "Use Unreal Engine bone names" option. To convert the bones of the armature in the scene select the armature and press the play button. Check this option to enable it for batch conversions.
If enabled, renames all bones in the armature to match the unreal engine maniquine skeleton. If a bone doesn't match a warning is printed and the name becomes the original one but without the 'mixamo' namespace (as Remove Namespace does). This option is not compatible with "Remove Namespace" option. To convert the bones of the armature in the scene select the armature and press the play button. Check this option to enable it for batch conversions.
Note: When importing the mixamo skeleton to unreal, you still need to perform a retarget. For a fast retargeting, after importing the converted FBX of your mixamo character in T pose, open its skeleton and retarget it to the humanoid rig but DO NOT PRESS the 'automapping' button for mixamo skeletons. If it's pressed, the automapping will match the mixamo bones to wrong rig nodes.
Please note that, most of the bones in the mixamo skeleton have a 1:1 mapping to Humanoid rig nodes, but for the following ones:
- lowerarm_twist_01_l -> hand_l
- upperarm_twist_01_l -> upperarm_l
- lowerarm_twist_01_r -> hand_r
- upperarm_twist_01_r -> upperarm_r
- thigh_twist_01_l -> thigh_l
- calf_twist01_l -> None
- thigh_twist_01_r -> thigh_r
- calf_twist01_r -> None
For more info please check the unreal documentation
Moreover to retarget your mixamo skeleton (in T pose) to the unreal one (A pose), both have to share the same retarget pose.' You can easily set T pose to the unreal skeleton following the instructions in this video
If your source files only contain a rig without a mesh, adds a dummy mesh and binds it to the armature. Otherwise the bindpose will not be saved properly. Useful if you download packs from mixamo, where all the animations don't have meshes, but only the rigs.
Makes sure, that there are no unneeded rotations on the character or its root bone, which would often cause unexpected rotation behaviour in unreal.
Applies the scale of the character and its rig, so they have scale 1, but doesn't change the actual size of the character.
Scaling factor for actually resizing your character.
Offsets the restpose of your rig without offsetting the animation. Can be used to correct for an offset of the restpose that one might have accidentally added during animation editing or retargeting.
Very kludgy workaround which can result in bones being out of place in animation. Can be used to fix rotational flickering occuring in some animations after export (seems to be an exporter bug). (mostly observed on legs but can be used on any bones) It moves the tip joint of given bones by the given vector in the restpose.
- Here you can specify an Input- and Outputpath for Batchconversion
- the output files will have the same names as the input files, existing files will be overwritten
- The [force overwrite] option is only for the case where Input- and Outputlocation are the same
- If input and output path are set you can press [Batch Convert] to convert all FBX files from source location and save it to target location
- this takes around 10 seconds per file, there is no progress bar yet so be patient
- The source location should only contain FBX files containing original mixamo rigs otherwise the script will not work
- files not ending with .fbx are ignored and can stay in source directory
Batch Convert will delete everything from your currently open blenderscene so only use it in a newly startet instance of blender or an empty scene
The video starts showing how to install the mixamoconv plugin into blender. Then it describe how to quickly batch convert a mixamo character (same procedure for anims), import it to unreal, reterget the mixamo skeleton and retarget some maniquine anims to the mixamo skeleton.
If you wanna contribute to this project you can edit the project with PyCharm and run the changes straightway in Blender. To achieve this you have to:
- Download Pycharm community edition from jetbrains.com
- Open blender
- open a text view, click + and paste there the code below
- Replace /the/path/to/the/git/project with the path to github project in the below code
- Edit the changes in Pycharm
- Click "Run Script" in blender to reload the project with the new changes
import bpy
import os
import sys
git_path=r'/the/path/to/the/git/project'
sys.path.insert(0, git_path)
filename = os.path.join(git_path, '__init__.py')
exec(compile(open(filename).read(), filename, 'exec'))
Happy Converting