Pose Making for Gonks

A simplified and Up-to-date tutorial on the pose making workflow. 🕺

Summary

Created & Published: May 30th by PinkyJulien (original link)

After being asked about poses multiple times on Nexus and seeing a couple of folks struggle with it on Tumblr, I’ve decided to write a “gonkified” tutorial sharing my own pose-making workflow. 🤠

I assume you’re already familiar with WolvenKit, Blender, and how to make a mod for Cyberpunk in general - if not, hit the modding wiki!

Requirements


Making our poses

For this tutorial, I’ll be making a synced duo pose for Masc V (= MA rig).

“Synced” poses are poses that are meant to be used together! They come in two, three, fourth or more; there is no limit to how many characters you can snap together by using synced poses. ;)

To make synced poses, you’ll need to append multiple pose templates into the same project. And to append multiple pose templates into the same project, it’s easier to first pack the template into a collection!

  • Open xBaebsae’s template in blender

  • Right click on the hierarchy window and choose “New Collection”

  • Drag and drop the two armatures into your new collection

  • Make sure to also drag the mesh that will be left behind!

  • Save the template .blend file and close it

You can now append your template’s collection into your pose making blender project! I recommend always working in a new blender file instead of working on the template directly; it avoids accidentally messing up the template or saving and overwriting the file.

Since I’m planning on making a duo pose for masc, I’ll append the same template twice. I’ve renamed them and given them distinctive colors for clarity! Yellow here is MA_A and Blue is MA_B.

MA_B moved to the side to showcase the two templates correctly

For the sake of this tutorial, I’ll be using one of my previous poses.

Actor MA_B is far away from MA_A but his Root bone is still at 0.0.0
Both actors having their Root bones at 0.0.0

Keeping the Root bone at the center of the scene will assure that your poses will look the exact same way in game.

Once you’re satisfied with your poses, we can bake them! I’ll start with MA_A

Final poses for MA_A and MA_B

Make sure to have a couple of frames on your timeline, even for static poses. (I usually go overkill and put up to 5 frames, it never caused issues in the past but 2 frames should also do the job!)

5 static frames on the timeline

Change your Timeline to the Nonlinear Animation tab

Change from Timeline to Nonlinear Animation tab

Here, you can double click and rename both animation stripes - this will be the name showing up in AMM’s pose list! I try to make my pose names as descriptive as possible so it’s easier to use in game. (This is only my way of doing it, and not THE way people should do it.)

First, I first put an indicator of the pack it’s from - “hv” for High Voltage. Then I put the type of poses - both actors are standing, so “stand”. I add more descriptive words - it’s a kiss on the cheek!

And since these are synced poses, I put an indicator to differentiate each actor; A for the actor doing the action, and B for the actor receiving the action.

Rename your animations before baking!

You can then click the button right next to the names to bake the animations into anim stripes!

Baked animations ready for export

Before exporting our anims, we’ll need to clean the list of animations in the CP77 Plugin to keep only the animations we want to export.

You can save as many Blender projects as necessary for your comfort - For example, delete all the WA animations from the list, save your blender project as “MA export”, CTRL+Z to undo the suppression, then delete all of the MA animations and save as “WA export”.

In my case, since I’m working with the Man Average “MA” RIG for both poses, I can safely keep both animations in the list and export them in the same anim container.

Animation tab of the CP77 blender plugin

Exporting our Poses

Before exporting, we also need to get ourself a file to export our anims into! Any .anims file will do - just make sure to get one that fits your rig.

In my case, I’ll grab an .anims that is for Male - “MA” (You can check which RIG is used by opening it and reading the path of the listed rig)

Clean up the anims file by right clicking on each arrays/list and choosing “Clear Array/Buffer”. You can also remove all of the fallbackAnim arrays! (afaik WolvenKit should do it automatically, but just to be sure)

Emptied animation container

You can now export the empty .anims container and open its location.

Empty anim container exported as glb

Back in blender, you can now select one of your Armature and export your animations by using the CP77 GLB export option into our empty, exported container.

It doesn’t matter which armature you select; all anims present in the CP77 animset list will export into the same container! Again, if you have poses for different rigs, do two exports.

Make sure to check "Animations" before hitting Export!

In wolvenkit, import your GLB back into the anims file. You should be able to see your anims names pop up in the Log!

Successful import log :D yeay!

There’s a few adjustments we need to do in our anims file before it’s ready to use!

Your poses in the anims container 👍

Open up your Animations array and scroll down to the “numTracks” value. There should be a number here; remove it and replace it by 0. This will stop the pose from vibrating, even when frozen!

(Kisses to Halkuonn for sharing this tip with me 💛)

Nuke the numTracks value to stop poses from vibrating

We also need to remove any potential events. They can contain noises, FXs, or more annoyingly; an IK snap.

Right click on the Events array and choose “Reset Object”.

Remove all the events from your poses

And voilà! Your poses are now ready to use in game.

You can now either make them available for AMM, PM or both!


Manually fixing the T-pose bug

The T-pose bug is caused by pose makers using the same Workspot file. This is easily fixable by simply changing the finalAnim set hash number!

Open your workspot file, then:

  • Open the workspotTree array

  • Open the finalAnimsets array

  • Open each rig entries to have access to their hash numbers

Hash number in your workspot file

Open Wolvenkit’s Tools tab and select Hash Tool.

Where to find the Hash Tool :)

You can now generate a new hash; I recommend typing an “unique” text, your pose pack’s name + the type of RIG for this specific animSet.

Copy the first string of number (CName) and paste it into your finalAnimsets hash field.

Your poses won’t conflict with any other packs and won’t T-pose anymore!

Last updated