Make your own pose, then import it into photo mode
Published: September 2023 by Last Documented Update: June 19 2024 by LadyLea
This guide will teach you how to create a custom pose in Blender and import it into the game via Wolvenkit.
Since this guide is about creating and imported custom poses, we will make a photo mode replacer. To convert it to a standalone pose pack, follow the guide for either Photo Mode or Appearance Menu Mod.
If you have never done this before, don't do both at once. Or... do whatever, but it might result in unnecessary frustration.
For an overview of all poses in photo mode, check Cheat Sheet: Photo Mode
For more general knowledge, check the Animationssection.
We all stand on the shoulders of giants: this process has first been documented by xbaebsae | Angy, who also provided the original animation templates. You can find a link to their version of the guide in the menu on the left.
Thank you!
This guide will include the minimum amount of fluff and will link background information rather than giving it.
For that reason, you shouldn't skip or skim unless the section tells you that it's optional.
Any links in the text will either
provide additional information which you do not need to complete this guide
lead to step-by-step instructions for any given process
Follow them if you want to learn more, or if you are unclear on how to complete the current step, then come back here.
You will need the following software (install at least this version or higher):
>= 8.13
>= 4.0
>= 1.5.3
To import your pose into Cyberpunk, you need a Wolvenkit project.
female
base\animations\ui\photomode\photomode__female__idle.anims
male
base\animations\ui\photomode\photomode__male__idle.anims
You can not move these .glb files. Wolvenkit needs them to stay where they are so it can splice your new animation into the existing .anims
file.
Download the animation template(s) for your rig(s):
for single characters: from Angy's Google Drive or check Easy IK based Posing
for multiple characters: Zwei's edit of Angy's templates
Move/copy them somewhere, then open the one you want in Blender.
This step will happen in Blender.
If the written instructions aren't clear enough for you, check the screenshots below them.
Open up the file
Select the armature by clicking on one of the bones in the viewport (the red circle on the screenshot below). They will be highlighted if you did it right.
Switch the viewport to Pose Mode
in the dropdown menu at the topleft of the viewport, immediately below the "File" and "Edit" menus. This will turn the armature red.
Now, you need to create your pose. Before you do that, check the box below:
As of today (September 2023), we can only create poses and animations by adjusting each bone by hand. This is how:
Select a bone by clicking on it (it will appear highlighted)
Rotate the bone by either
pressing R
to enter rotation mode, then moving the mouse to rotate the bone (read up on axis limitation in the expandable box above)
or
selecting the Rotate
tool from the toolbar on the left, then clicking and dragging along the coloured axes
When you're done with this bone, position the next one.
Now, draw the rest of the owl, then proceed to the next section.
You now need to create an animation that Wolvenkit can add into the existing file. For that purpose, we will create a nonlinear animation in Blender.
In the panel at the bottom, click on <No Action>
to select it.
In the Armature -> Animation Data panel, click on the New button.
Now, we need to add keyframes, one for the fallback position and one for the pose.
Make sure that the keyframe selected in the animation timeline is 0 (see "Animation Timeline" screenshot below)
Click into the main viewport next to the armature
Open the Keyframe menu (Pose -> Animation -> Insert Keyframe, Hotkey: I)
Select Whole Character
(Hotkey: W).
The menu will close now.
Press the right arrow to select the next keyframe
Repeat the steps 3 and 4
After you have done that, click on the Push Down Action
button
Now, rename both your NLA strip and your animation to idle_stand_01
. This will overwrite the "Tabula Rasa" animation. (Find a list of animations and their associated names here.)
If you aren't planning on replacing the in-game idle poses (i,e., Tabula Rasa), it is still required that your NLA strip and your animation have the same name.
This step is crucial. If you don't do this, then Wolvenkit won't import your animation.
The names must be the same, and they must match the name in your .anim file.
Go back and read the warning box under step 4.
Double-check the names. (Yes, this is that important)
Optional: To add another pose, you can go back to Step 1, then rinse and repeat.
Now that you're sure that you have the correct names, switch the viewport back to Object Mode (the same way you switched to pose mode). Your armature should still be selected. TODO: This step will be made optional when the Blender plugin update hits. Update guide when it does.
Use the Wolvenkit Blender Plugin to export your animation as a .glb file. If the instructions below don't match, check WKit Blender Plugin: Import/Export -> #animations for the up-to-date workflow.
This will open a file picker. Do the following things:
Check the Animations
box on the right
Navigate the to the path of the file you exported in the previous step and click on it to overwrite it
When you're done, hit "Export for Cyberpunk".
Now it's time to import the file back into Wolvenkit.
Click on photomode__female__idle.glb
to select it and open the import settings panel.
In the panel on the right, change Target File Format
to Anims:
Hit the Import Selected button.
Youc an now test your mod: Install your Wolvenkit project by clicking the green button on the taskbar, and launch the game.
If all went well, entering photo mode will show your new pose.
Open your .anims
file in Wolvenkit
expand the animations
array at the top of the file
For each animAnimSetEntry
, change the property animation
-> animBuffer
-> numTracks
to 2
If that doesn't work, change the numTracks to 0
If that still doesn't work, make sure that your pose has at least two keyframes by going back to #step-2-creating-the-animation and not skimming this time.
If Wolvenkit's console tells you something like this:
Use the Wolvenkit Blender IO suite 1.5.3 or greater to export as animation. If the error does not go away, update the plugin.
Import the .glb file into Wolvenkit again.
I have no idea how to tell you this, choomba, other than stressing thrice that it's important and putting a big red box, but the NLA strip and the animation must have the same name. Go back to "this is important" and double-check. The animation might have trailing numbers, e.g. be called photomode__female__idle.001
, that will already do it.
If you're really 100% sure, then you might have a broken NLA strip. That happens sometimes — simply recreate it:
If your armature isn't selected anymore, click on it to select it
Switch into Pose Mode
Press A
to select all bones
Press Ctrl+C
to copy their positions
Create a new NLA strip by repeating Step 2 — but instead of posing the armature, you can simply press Ctrl+V
to paste the bone positions from your previous animation.
Export the new NLA strip, then import it via Wolvenkit. This should work now.
We're reaching the end of the rope here. Go back and check the animation names. If that wasn't it,
create a new copy of the .blend file you downloaded (but keep yours open)
In your old Blend file, repeat 1-4 of the previous step
In your new Blend file, repeat 5+6 of the previous step
When trying to import into Wolvenkit, you get an error message like this:
That is because there is ancient data in the template, which Wolvenkit doesn't know how to handle. Delete everything called "Noesis" from the list of animations below:
Wolvenkit ( | )
. Give it a name that you can identify later.
Now, your project needs the photo mode .anims file appropriate for your pose(s). The table below shows your options. for the correct photo mode file and add it to your project:
Export the file(s) to GLB via . Default settings are fine. (We will overwrite these glb(s) with our new pose, then use Wolvenkit to merge them into the existing .anims file.)
Switch back to Wolvenkit and open the .
To make sure that the .glb
file that you want to import into is okay, do a fresh of your .anim
with a Wolvenkit version from after February 10 2024 (>8.13 should be ok)