Retargeting Poses/Animations

How to retarget vanilla poses and animations from one rig to another and how to port external animations by retargeting them to cyberpunk's armatures ๐Ÿ•บ

โ–ถ Summary

Created & Published: April 2023 by PinkyJulien (original link) Last Documented Update: March 2025 by PinkyJulien

In this tutorial, Iโ€™ll show you how to Retarget an animation Retargeting is also useful for Static poses packs to avoid shrinked shoulders when using WA anims on MA characters for example!

โธ Wait, this is not what I want!

To learn about making animations and pose packs, check the Animations category, such as

If you're here looking to retagert your Static Poses Pack, I recommend checking this other Retargeting Tutorial by Halkuonn, which uses a different plugin better suited for static poses

โ–ถ Requirements


โ—ผ Retargeting vanilla animations

1. Installing the retargeting plugin: Rokoko

First, youโ€™ll need to grab the Rokoko Plugin from their official website

Rokoko Blender Plugin Download Button

And install it like any Blender Addon

Edit > Preferences > Add-ons drop down arrow on the top right > Install from Diskโ€ฆ

Rokoko Addon in the Add-Ons window

Upon first opening the Rokoko plugin, youโ€™ll need to Create an account

This is completely free and you can sign in via your Google account

Rokoko Plugin Tab - Sign In

Once signed in, you can return to blender

For the sake of this tutorial, weโ€™ll focus on the Retargeting Menu Close up everything else ๐Ÿ‘€

Rokoko Plugin Tab - Retargeting

2. Gathering our files

Now that everythingโ€™s ready for the retargeting, we need to grab our files For the first part of this tutorial, we'll retarget a vanilla animation to another rig

If you donโ€™t have them already, you'll need to grab Angyโ€™s pose templates

xBaebsae's Animations Templates

As an example, Iโ€™ll be retargeting Alexโ€™s dance for MA So Iโ€™ll use xBaebsaeโ€™s MaleAverage template

Youโ€™ll also need to grab an animation you wish to retarget from wKit

.anims file example

Export the animation and open it in your Blender project

For clarity sake, I renamed the MaleAverage armature to MA and Alex's animation to ALEX

xBaeBsae MaleAverage Template and Alex's Dance Animation in Blender

Before retargeting, we first need to choose which animation weโ€™d like to retarget! Cyberpunk's .anims files usually have more than one animation in them

To do that, open the CP77 Modding tab Open the Animation Tools menu and look into the Animsets list

Be sure to select the Source Armature, in my case Alex and click on the Play Button โ–ถ of any animation you want to retarget

CP77 Modding Plugin - Animation Tools Tab

You should see the Source Armature move to the chosen anim

GIF - Imported Animation Armature moving

Press space or the Pause Button โธ on the timeline to stop the anim We can now get into the retargeting process!

3. Retargeting

Select your Target Armature, in my case MA

Open the Rokoko Plugoin tab and focus on the Retargeting menu

Put the Source Armature (in my case Alex) in the Source field and your Target Armature (in my case MA) in the Target field

Then press Build Bone List

Since weโ€™re retargeting a vanilla animation to another rig, the armatures share the same bones names, making this step really easy - However, I still recommend reading through the list and verifying that everything does match! If a bone happens to be listed multiple time, the plugin will let you know

Example of a bones naming missmatch when building the bone list

In the example above, we can see that the LeftUpLeg and RightUpLeft bones doesnโ€™t automatically match; to fix that, simply click on the miss-matching bones names and select the correct matching one

I recommend leaving the Root, Trajectory and Reference_Joint bone fields empty regardless of the type of animation youโ€™re retargeting, but especially if you're porting an external animation

Leave these fields empty!

We then need to check Auto Scale and make sure to use the Rest Pose

Once you verified the bone list and checked everything, you can press Retarget Animation

Your Template model should automatically get into a pose Press space or the start button โ–ถ on the timeline to see the animation!

You might see some deformation or bones breaking; thatโ€™s ok and should be smoothed in game

If the previewed animation isn't complete or you wish to see it loop correctly, you'll need to change the timeline's length by putting the exact number of frames for this specific animation

If you're happy with the retargeting, you can follow the regular Pose Making worflow

Switch to the Nonlinear Animation menu

Close the Source Armature list to only see your Target Armatureโ€™s animations list

Double click on the name to rename the animation

And bake your animation by pressing the push down action button

The animation is now saved into your Target Armature!

4. Exporting our retargeted animation

Before exporting our animation, we need to clean up our blender project

Go back to the CP77 Modding plugin's Animsets list And delete โœ– every other animations to keep only your retarget

Itโ€™s now ready to export back to WolvenKit!

We still need a container file to export our new animation into

For Male Average MA poses, I recommend using the following file: generic_male_average__stand__2h_on_sides__02.anims

It has a single animation, making it easy to clean up into a blank state

Add it to your wKit project and open it

Right click on animationDataChunks and select Delete all items in Array Do the same on animations

Verify that the rig matches your Target Armature rig

Save the file and export it using wkit export tool

Go back to Blender Select your Target Armature and Export the file using Cyberpunk GLB Make sure to check Animations and export over the anim file container you just cleaned

In WolvenKit, make sure the Target File Format is set to Anims and check Use existing file

If everything went well, you should read in the log;

[...] total: 1 animations (...1 newโ€ฆ)

Successfull Animation Import Logs

Your animation is almost ready to test Open the file and navigate into your animation animBuffer data

There, find the numTracks entry and put it at 0 In my own experience, this fix multiple issues like animations flickering and twitching when frozen

Thanks to Halkuonn for sharing this fix!

Your animation is now ready to test! Plop it in game by either making a quick replacer or an AMM Poses Pack

Turns out the forearm/elbow twitch is noticeable in game, you can go back into blender to try and fix it!


โ—ผ Retargeting external animation

Retarget animations form other games requires a bit more work and preparation

Be sure to follow the first part of this tutorial "Retargeting Vanilla Anims" if it's your first time retargeting!

For this example, Iโ€™ll be using one of Fortnite animation

First, we'll need to change our template's armature Rest Position

For a proper retarget, both source and target armatures should have similar Rest Poses This is really important if you want the animation to look somewhat identical to its original source and avoid weird deformations!

Select your imported Source Armature and change itโ€™s pose to Rest Position

Then, select your CP77 Target Armature and make sure it's currently set to Pose Position

With your Target Armature still selected, switch to Pose Mode and change the Transform Orientations to Local for an easier workflow

Our goal here is to move our CP77 Target Armature to best match the Source Armature pose

The poses doesnโ€™t need to perfectly match and be layed on top of one another (they shouldn't, especially if the models donโ€™t have the same heights)

Just make sure that the bones are angled and rotated in a similar way

Iโ€™m making it rough for this tutorial, but the closer youโ€™ll match the Source pose, the better the retarget will be! Be precise if you wish to ๐Ÿ‘Œ

Once your pose is done, select your whole armature (CTRL+A) Then go into

Pose > Apply > Apply Pose as Rest Pose

The CP77 Target Armatureโ€™s Rest Pose should now match your Source Armature's Rest Pose

You can now follow the same Retargeting steps as before!

Make sure to also pay extra attention to the Bone List Since the armatures are different, you will need to manual input bones names

If the heights of the models differ a lot, check which bones match each area of the body

For example, the Fortnite armature has 5 Spine Bones, while the CP77 Armature only has 4 But the area doesn't match; I canโ€™t simply input Spine1 into spine_01

By comparing each skeletons and bones placement, I've noticed Spine1 fits the spine_03 placement

Once thatโ€™s done, hit the Retarget Animation button and enjoy your shitpost โœจ


โ—ผ Fix misaligned limbs and bones

When retargeting an external animation, you might notice misaligned limbs

The hands are supposed to form an heart here - obviously Not the case after the retarget

This can be frustrating, but thankfully we can easily fix this! No need to re-do the entire animation keys by keys, bones by bones โœ‹

Head over the Graph Editor tab

In pose mode, select the bone youโ€™d want to fix

With the Move Tool active, move the different โ€œwavesโ€ on the graph; each waves correspond to this boneโ€™s quaternion rotations

For a better control, I recommend locking all of the waves and only unlocking the one youโ€™re currently fixing/moving - allows you to be more precise

You can select any other bone at any point and go back-and-forth fixing what needs fixing Thereโ€™s no need to โ€œapplyโ€ or insert new keyframes for the change to take effect on your animation

<3 <3 <3

Last updated

Was this helpful?