.. _Remap: Remap ================== .. raw:: html
| Overview -------- What's that? """""""""""" The Remap tool is useful to re-target an armature animation to another one. You can import for example a BVH motion capture file and transfer it to a rigged character. | Euler Support """"""""""""" The "Interactive Tweaks" tool only works with **Euler** rotation mode at the moment. This tool can be used to tweak the bones rotation after retargetting. If you wish to use it while the target armature is set up with **Quaternions**, you can do the following: * Select all bones (A key) in Pose Mode, and hold **Alt key** while clicking the **XYZ Euler** switch instead of Quaternion in the transform tab (holding Alt apply the action for all selected bones) .. image:: img/quaternion_transform_28.jpg :align: center | .. note:: If you don't use the "Interactive Tweaks" tool, you can ignore this warning. It's also possible to tweak the bones transforms after retargetting, using an additive animation strip. | Workflow -------- Here is the workflow to import a BVH file to the Auto-Rig Pro armature (same instructions apply for other formats such as Fbx). Import """""" Import the BVH armature: File > Import > Motion Capture (If using FBX, check **Automatic Bones Orientations** in the import options) | Set Source and Target Armatures """""""""""""""""""""""""""""""" .. image:: img/bvh_import4_28.jpg :align: center | * First select the source armature (BVH) and assign it in the dedicated field * Then the target armature (Auto-Rig Pro) and assign it below * Push Auto-Scale to adjust the source armature scale to the target. Scale it manually (S key) otherwise. * Use the **In Place** option to keep looping animation in place (e.g. walking, running...) .. image:: img/remap_in_place.gif :align: center | Build Bones List """"""""""""""""" * Press **Build Bones List** * Check and modify if necessary the bones mapping by changing the bones names in the list. * Click this button to quickly select in the bones list the selected bone in the viewport: .. image:: img/remap_synchro_select.jpg :align: center | Bones Settings """""""""""""" .. image:: img/remap_bone_setting.jpg :align: center Root Bone ^^^^^^^^^^^^^ * **Set as Root**: Define this bone as the root bone, typically the first or second bone of the bones hierarchy (hips or pelvis), setting it as "Root" allows to use translation retargetting on it. IK settings ^^^^^^^^^^^^^ * **IK:** Useful for accurate feet and hands retargetting. If enabled, will retarget the translation data of the bone as well, if disabled only rotations are transferred. When retargetting to rigs with complex controllers like Auto-Rig Pro, Rigify,... make sure to switch to IK mode the controllers of these rigs (e.g., switch to IK mode the legs when using this IK retargetting option for the feet) * **Pole:** Pole bone of the IK chain. When retargetting, the IK pole position is automatically calculated and transferred to this bone. If not set, the IK pole position is skipped. * **IK World Space**: Use world IK coordinates instead of relative/local, works better under certain circumstances, for example if the character is spinning. * **IK Pole Mode:** Defines how the IK pole should be evaluated. **Absolute**: Evaluate the exact IK pole position based on the real IK pole vector as defined by the bones geometric plane. Ideal if the input skeleton has high quality, refined animation data. **Relative:Target** : The IK pole is treated as a child of the target bone. Less accurate than absolute, but great if the source animation doesn't comply with IK constraints requirement, such as broken geometric plane. **Relative:Chain**: The IK pole is treated as a child of the IK bones chain. Less accurate than absolute, but great if the source animation doesn't comply with IK constraints requirement, such as broken geometric plane. * **Add IK Constraints:** If enabled, add automatically IK constraints to the target bones when retargetting . Works if the target bones IK hierarchy is valid, e.g. foot parented to calf, calf parented to thigh bone. * **IK Axis Correc**: Axis used to correct IK bones alignment if necessary, in World Space coordinates. Typically, characters facing the Y axis should have this values set to Y. If facing X, set to X. Others ^^^^^^^^^ * **Location**: Click this checkbox to enable location retargetting. This is especially useful for facial animation, when bones are animated in translation/location instead of rotation (e.g. eyelids, lips bones). To adjust the strength of the location retargetting, use the **Interactive Tweaks** > **Location Multiplier** (see :ref:`interactivetweaks` chapter) | Armatures Rest Pose """""""""""""""""""" * Make sure both source and target armatures are facing the same direction in rest pose: select them and enter Edit mode (Tab key) to check the rest pose. Retargetting is a picky technical process, things should be in a plain boring state to work properly. If they are not facing the same direction, rotate the whole armature object manually. .. image:: img/remap_rest_pose_turn.gif :align: center | .. image:: img/remap_arp_dir_wrong.jpg :align: center .. image:: img/remap_arp_dir_right.jpg :align: center | * Check the source armature rest pose: If it's the same as the target armature rest pose, go to the next step. .. image:: img/different_rest_pose.jpg :align: center | From the picture above we can see the source armature, on the left, has a different rest pose than the target armature on the right (A-pose versus T-pose). So we'll need to redefine the rest pose of the source armature. * Click the **Redefine Rest Pose** button .. image:: img/redefine_rest_pose_28.jpg :align: center | * A pop-up menu will show. Tick the **Preserve** checkbox in order to maintain the current rest pose of the armature, but save a new rest pose in the internal armature data (invisible to the user). This is recommended to keep the armature untouched. * Below are 3 parameters: **Rest Pose**, **Current Pose**, **Saved**. The first one (Rest Pose) will use the actual rest pose of the armature as the new base editable pose. The second one (Rest Pose) will take a snapshot of the current pose as shown in the viewport and will use it as the base editable pose. The third (Saved) will backup the latest rest pose, if it was saved with this tool earlier. In all cases, the pose will remain editable until clicking **Apply**. This only defines the base pose to start with. .. image:: img/redefine_rest_pose_pop.jpg :align: center | Select the bones that are not oriented like the target armatures bones (in this case the arms and legs) and click **Copy Selected Bones Rotation**, wich will copy the corresponding bone direction automatically from the target armature (may not work properly if the poses are too much different, in this case do this manually). Then click **Apply** to complete. .. image:: img/copy_selected_target1_28.jpg :align: center | .. image:: img/redefine_rest_pose_copy.gif :align: center | Retargetting """"""""""""" * Click **Re-Target** to transfer the source armature animation to the target animation. .. image:: img/remap_retarget_click.gif :align: center | .. _interactivetweaks: Interactive Tweaks """"""""""""""""""" Interactive tweaks are useful to adjust the bones rotation and position quickly after retargetting, to fine tweak the result. .. note:: It's also possible to tweak the result using additive animation layers, called NLA strips in Blender. More informations in the Blender documentation. Interactive Tweaks are per-bone settings. It means each bone can be tweaked independently. Examples: * After retargetting, the root/pelvis bone is too high, we need it lower: select the pelvis bone in the bones list, set the **Additive Location** value, and click **-Y** to move it along the Y axis downward (assuming this bone in your skeleton has its Y axis pointing up). .. image:: img/remap_interactive_tweaks.gif :align: center | * When remapping facial animations, lips bones are moving too much: select a lip bone, set the **Location Multiplier** value to 0.5 to reduce motions by 50%, and click **Set**. Repeat the process for each lips bone. .. image:: img/remap_tweak_lips.gif :align: center | * Click the **X** button next to **Interactive Tweaks** to revert all tweaks applied. | Presets """""""""" * Optionally, the bones mapping (source and target bone names as set in the bones list) can be imported an exported with the **import/export** buttons. * Built-in presets can be imported using the downarrow button * Additionally, the **Replace Namspace** is a search and replace function for namespace when presets have different prefix names that the current bone names (e.g: mixamorig:Hips > matthew:Hips) .. image:: img/remap_presets.gif :align: center