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
a recent version of WolvenKit | used in tuto: 8.16.1
a recent version of the CP77 Blender Plugin | used in tuto: 1.6.4
Blender 4.4 or above | used in tuto: 4.4.3
◼ Making our poses
For this tutorial, I’ll be making a synced duo pose for Masc V (= MA rig).
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.
For the sake of this tutorial, I’ll be using one of my previous poses.
For synced poses to correctly snap in game, all actors need to have their root bone in the center of the scene (0.0.0)! When posing your characters in blender, make sure to leave the Root bone unselected; this is really important, perhaps the most important part of making synced poses. The Root bone determines where the character will spawn in game; keeping the Root bone in the center of the scene will assure that the character will spawn in front of the player.
Once you’re satisfied with your poses, we can bake them! I’ll start with MA_A
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!)
Change your Timeline to the 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.
You can then click the button right next to the names to bake the animations into anim stripes!
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.
Only export animations for one specific RIG at a time! If your synced poses contain different rigs, for example MA and WA, you’ll need to export your animations in two times and in two different anim container - One export containing only the MA animations into a MA container and a second export containing only the WA animations in a WA container.
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.
◼ 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)
You can now export the empty .anims container and open its location.
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.
In wolvenkit, import your GLB back into the anims file. You should be able to see your anims names pop up in the Log!
There’s a few adjustments we need to do in our anims file before it’s ready to use!
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 💛)
We also need to remove any potential events. They can contain noises, FXs, or more annoyingly; an IK snap.
IK Snap causes poses to get stuck on the ground, making it really hard to use them with AMM!
Right click on the Events array and choose “Reset Object”.
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
Open Wolvenkit’s Tools tab and select 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.
You’ll need to generate a different hash for each finalAnimsets entries, so for each rigs! for example, nomadposema for MA, nomadposewa for WA, and nomadposemb for MB.
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