Skyrim Special Edition
0 of 0

File information

Last updated

Original upload

Created by

Anathame

Uploaded by

Anathame

Virus scan

Safe to use

About this mod

This guide will go over the fundamentals of first-person animation modding in Skyrim, as well as providing the necessary tools to get started. The only thing required on your end is the patience to read through the guide, as well as the patience to develop your skills as an animator if you haven't already done so.

Permissions and credits
Changelogs

     So, before I start getting right into things I'd like to take a moment to explain myself.

You may or may not recognize me. You may be thinking, "hey, isn't this the guy that made CFPAO?" Yup, that's me! The one and the same. I've been wanting to make a guide like this for a long time, ever since I originally released CFPAO back in March of 2023 (has it really been that long already?). Since then, I've had a few people in the community reach out to me and offer their skills to help me in the massive endeavor that is making CFPAO. To those who have offered their help (you know who you are), I thank you from the bottom of my heart! But, as I am such a stubborn old man I have (perhaps foolishly) declined. And since I feel kind of bad for shooting them down like I have, it's given me that final push I needed to finally sit down and write out this comprehensive guide for the community, in the hopes that more first-person animation mods will start cropping up.

And to everyone who has supported me in developing CFPAO, be it a few bucks on Patreon, making a good suggestion or two, downloading the mod, or even just by leaving a nice comment, I am forever grateful to all of you! Consider this guide me giving back to you all, as thanks for supporting me through this journey.


     Right, now that all of the sappy stuff is out of the way, we can get started.

Obviously, the first step you're going to want to take is to download the mod tools I've provided in the files. In this section, I'll explain each of the items found within the .zip file you'll download. There's four folders and a ream of files to go over, so let's not waste any time.

The first item in the folder you'll see is a folder labelled annotation. This may be the most important folder and is one you will be visiting often. Inside, there's two subfolders labelled bin and src. You can safely ignore these. They aren't important. Well, 'not important' as in, you won't need to open them for any reason. The only things you'll want to pay any attention to are the files labelled anno.txt, dump.bat, update.bat, and zAnnotations.txt. So what are these files? Let me explain.
anno.txt is the file that stores any annotations you've dumped or added, and gets them ready to attach to an animation file. If you open it, you'll see a few different lines that may not make much sense to you. You won't ever need to edit these manually, as they will be automatically updated if you dump or update your animation file. The most important part of this file is everything that comes after the line # numAnnotations. This is where you'll be writing out your annotations and their timeframes.
dump.bat is the file that, well, dumps any and all annotations of an animation file that you drag onto it. They'll all get dumped into anno.txt, which is explained above. This is very useful, as you can dump one of the vanilla animation files and see which annotations it has (if any) and when they're triggered. You can also use it to dump one of your own animations to reuse the exact annotations and timings it has. Handy if you need to replace something quickly.
update.bat is the file that, as you may have already guessed, updates. More specifically, if you drag an animation file onto it, it'll attach any and all annotations in anno.txt onto that animation file and get its functionalities ready for use. This is usually the final step in creating an animation.
zAnnotations.txt is the archive of all the important annotations you'll need. It contains mostly things like certain sound effects, drawing or sheathing the equipped weapon, nocking and shooting an arrow, and attack windows.

The second thing you'll see is the folder labelled archive. This is an archive of all of the vanilla Skyrim first-person animations, fully annotated and properly named and everything. It's a great resource for if you need to reference when a certain annotation plays, or what a certain animation should be named. I won't go into any more detail on this, as most of the animations are pretty well labelled and you should be able to tell what it is just by reading its name.

The third folder is the one labelled convert. This is only important if you plan on making an animation mod for Special/Anniversary Edition, which I assume you are since you're on the Special Edition Nexus page. Once you export an animation, it'll end up in this folder as an .hkx file, and from there you can double click on the converttoskyrimSE.bat file and all the animations in the folder are automatically ready to be used in Special Edition. You can safely ignore the other file named HavokBehaviorPostProcess.exe, as you won't ever need to use it. But definitely keep it in there as it is important!

The last two folders are the ones named HavokCT and tool. You can just ignore these. You won't ever need to open these ever, at all, period. But please don't delete them as they are still important for the exporting and annotating to work properly.

The last, but definitely not least, item in the folder is the .blend file itself, which can only be opened with a program called Blender. It contains the first-person rig with a few visual aids. Note that the .blend file only includes models for the sword, greatsword, battleaxe, shield, mace, and warhammer (the mace and warhammer are parented to the left hand for some reason and aren't actual Skyrim models, so I never used them. The models don't actually matter in the slightest, they're just there for a visual aid), so if you plan on making animations for bows and/or crossbows, prepare for a lot of tedium as you'll have to guess where the bow/crossbow is, then launch the game to see if you got it right, then go back to fine-tune it, and repeat until it looks good. Furthermore, you have no control over when the bowstring is drawn back, so you'll have to guess when that happens. Similarly, you have no control over when the crossbow's lever is pulled back for reloading, so you'll have to guess when that happens as well.

Alright, that wraps up lesson one. I think I covered all of the basics pretty well, so let's start getting into the nitty gritty of things.


     Now we're starting to properly get into things. This section will help familiarize you with the .blend file that's been provided. If you're already familiar with Blender, most of this will already be familiar to you, but there's still a few things in here you may need an explanation for.

So, you've installed Blender and opened the .blend file. What are we looking at?


What you should see upon opening the provided .blend file for the very first time.

If this is your first time opening Blender, this may be a bit confusing at first. But hey, that's why we're having this talk.

To start us off, let's take a look at the Action Editor. That's the big old area on the left of the screen there. Perhaps contrarily, we won't actually be editing any actions here. The only thing you need to worry about in this area is the dropdown list of actions. You see that little bar that says "Empty" right there in the middle?


Highlighted: The only part of the Action Editor you'll be interacting with.

That's the one right there. So, there's five little things in the highlighted area there that I'll need to explain.

First up is that funky little icon on the far left, what looks like two connected diamonds above a hollow diamond next to a downwards arrow. That'll open the dropdown menu, and from there you can see all of the animations you've saved, and can swap between them whenever you see fit.
Next is the textbox that says "Empty." It's probably pretty obvious that this is how you name your animations. I'd recommend naming them here exactly what they're named in-game, as when it's exported it'll be exported with the name you give it in this box. For example, if you've got a sword unsheathe animation, I'd recommend naming it 1hm_equip, so it exports with that name and saves you a bit of time.
Next up is the little shield icon to the right of the textbox. This'll "protect" your animations so they aren't automatically deleted by Blender when you close the file. Any animations you have that aren't active and aren't protected will be deleted if you close Blender or open a different file. Definitely get into the habit of clicking this little guy every time you make a new animation. You can easily tell which actions are protected by looking for an F to the left of their name in the dropdown menu, or if the shield icon is highlighted with a check mark on it.
To the right of the shield is the icon of two pieces of paper on top of each other, commonly used to signify creating something new. In this instance, it'll create a new "action" so you can make a new animation on a blank slate without having to overwrite the previous one. A good habit to get into is, whenever you want to create a new animation, click this icon to make a new action and immediately click the shield to protect it straight away so you don't forget to later.
And lastly, next to that is the X icon. This will flag an action for destruction, assuming the action is not already protected. The next time you close the file, that action should be erased. You can easily tell which actions are flagged for destruction by looking for a 0 to the left of their name in the dropdown menu.

With that out of the way, what's next?


Highlighted: The animation exporter. The most important part.

That little bar highlighted there is the animation exporter. You won't need to touch anything here but the little arrow button on the far right. This will export the currently selected action and place it as an .hkx file into the convert folder we discussed earlier. As I already mentioned, the animation will be exported with the name you gave it in Blender, so be smart and efficient with your names!

That covers that, let's move on to keyframing your animations.


Highlighted: This is where all your keyframes will show up.

This area here is your Timeline. Whenever you add in a keyframe, it'll show up down here at the specific frame the blue marker is on. You can add a keyframe by hovering your mouse over the viewport (the area where the player model is), selecting the bone you want to key, and pressing I (that's an uppercase i not an L). Alternatively, you can turn on automatic keyframing by clicking on the circular icon to the left of the play buttons. This will make it so that whenever you move a bone, it'll automatically generate a keyframe on the specific frame the blue marker is on. I personally turn it on as it saves a bit of time, and that "bit of time" really starts to add up.
When you've got a keyframe in the timeline down there, you can move it around by clicking and dragging it around, which will change the time that the specific pose is reached. Quick little tip, if you select multiple keyframes, hit S on your keyboard with your mouse over the timeline, and start moving your mouse around, you can scale all of the selected keyframes (in relation to the blue marker) to slow down or speed up a whole set of keyframes at once!
From the timeline, you can also control the start and stop times of the animation. This can be done by changing the values of the numbers in the top right of the highlighted area. You'll generally want to keep the start frame on 0, but there's no minimum or maximum number for the end frame as far as I know, so go as crazy as you want with it! You can make a 10,000 frame idle animation if you really want to, but it will take an age to export and might actually end up crashing Blender.

Let's move on to your visual aids now.


Highlighted: The outliner, where all of the objects in the scene are listed.

This highlighted area in the top right is the Outliner. From here, you can see all the objects and collections in the active scene. You can toggle the visibility of certain collections by pressing the little monitor icon on the right next to its name. So, for example, if you don't want the one-handed sword active and instead want to see the greatsword, you'd click the monitor icon next to the collection named 1h Sword and click the monitor icon next to the other collection called 2h Sword, hiding the one-handed sword and revealing the greatsword.

Speaking of greatswords, let's take a look at how to make both hands grip the weapon, rather than just the right hand.


Highlighted: The bone constraints menu.

If you select the left hand bone (the red diamond on the left wrist), and click the little blue bone icon beneath the green bone icon, you'll see these two nodes to the right:

The bone constraint nodes.

These are your bone constraints for the left hand. Currently, they're already following a bone called NPC Spine2 [Spn2]. This is the chest bone just beneath the shoulders. But if we're making animations for a two-handed weapon, we want the left hand to follow the weapon, not the chest. To do this, click and hold on the bar labelled Influence at the bottom of the top node, and drag it to the left until it says 0. Then do the same to the Influence bar of the bottom node, but drag it to the right until it says 1. Now the left hand is following the weapon, just as we want it to. Fair warning, you'll probably have to reposition the hand bone after doing this.

I think that about covers lesson two. You should now be at least decently familiar with Blender and this specific .blend file, and you can start creating your animations soon! But first, we need to talk about annotations.


     Let's start getting into the more complicated stuff. Annotations. This section will cover what exactly annotations are, what they do, and how to use them.

So, if you're new to custom animation modding, you've probably been reading through this guide thinking "what in the world are these annotation things he keeps referring to?" To put it as simply as I can, they're more or less 'triggers' to tell the game to do a certain thing at a certain time while a specific animation is playing. For example, putting a draw weapon annotation into an animation at a time of 1.500000 will tell Skyrim to draw the player's weapon 1.5 seconds after the animation has started playing, provided the animation is at least 1.5 seconds long.

Alright, what annotations are at our disposal? Which ones should we be using? I'll list them out below and explain their significance.

FootLeft/FootRight: These are just footstep sounds. You don't actually need these, as Skyrim plays footstep sounds itself. Not a required annotation.

FootSprintLeft/FootSprintRight: These are footstep sounds for sprinting. You do need these as Skyrim won't play these by itself. Required annotation.

FootScuffLeft/FootScuffRight: These are slightly subdued footstep sounds. Useful for if you want to imply a change of stance (for example when unsheathing a weapon). Not a required annotation.

BeginWeaponDraw: This tells Skyrim when to start playing the equip sound effect. Not really required for anything but the sword and greatsword.

weaponDraw: This tells Skyrim when to unsheathe the weapon. Definitely a required annotation, otherwise your equip animation will do nothing. This is not required for fists or magic, however.

BeginWeaponSheathe: Same as BeginWeaponDraw, but this begins the sound effect for unequipping. Again, not really required for anything but the sword and greatsword.

weaponSheathe: Same as weaponDraw, but it tells Skyrim when to sheathe the weapon. Also definitely required, otherwise your unequip animation will do nothing. This is also not required for fists or magic.

AttackWinStart: The start of an animation's attack window. Basically all this means is the window for chaining into the next attack. Without this annotation, you'll have to wait for the entire attack animation to play (the whole thing, the wind-up, the swing, and the recovery) before you can attack again. Definitely required.

AttackWinEnd: The end of an animation's attack window. Same as above.

arrowAttach: Use this annotation for when you want the arrow/bolt to be nocked, such as during the draw animation. Definitely required.

arrowRelease: Use this for when you want the arrow/bolt to be fired/released. Definitely required.

SoundPlay.WPNBowNock: This tells Skyrim when to play the sound effect for nocking an arrow.

SoundPlay.WPNBowNockSD: Honestly, I'm not entirely sure what the difference between this and the other arrow nock one is. Probably has something to do with a perk I'd guess.

SoundPlay.WPNBowPullLPM: This tells Skyrim when to play the sound effect for drawing back the bow.

SoundPlay.WPNBowFire: This tells Skyrim when to play the sound effect for firing the bow.

SoundPlay.FSTSwimTread: This tell Skyrim when to play the sound effect for swimming.

SoundPlay.WPNCrossbowReload: This tells Skyrim when to play the sound effect for reloading the crossbow.

SoundPlay.WPNCrossbowReloadQuickShotPerk: Same as above, but this one is presumably for having the Quick Shot perk unlocked.

So, how do we go about adding these? Well, it's pretty simple. Copy whichever annotation you need from the zAnnotations.txt file, and paste it at the very bottom of the anno.txt file (I think I accidentally left an annotation in there so you can just replace that one). The string of zeros to the left of the annotation serves at your timeframe for when it's triggered. It's measured in seconds, not frames, so keep that in mind. Here's how an annotation for drawing a weapon halfway through a 38 frame equip animation would look like:

# numOriginalFrames: 38
# duration: 1.266667
# numAnnotationTracks: 99
# numAnnotations: 1
0.6333335 weaponDraw

Okay, so how in the world did we end up at 0.6333335? That's a weird number. Well, if you look at the lines above, specifically at # duration, that will tell you the full length of the animation in seconds, rather than frames. If you want an annotation to trigger exactly halfway through the animation, just take that duration number (in this case it's 1.266667), divide it by 2, and stick that number to the left of the annotation name.

You can use more than one annotation, too. For example, since the sword unsheathe sound effect usually starts with the sword sliding against the scabbard, you may want to start the sound effect before the weapon is actually drawn. That might look something like this:

# numOriginalFrames: 38
# duration: 1.266667
# numAnnotationTracks: 99
# numAnnotations: 2
0.100000 BeginWeaponDraw
0.6333335 weaponDraw

With this setup, the sound effect for drawing the weapon would play pretty quickly after the animation begins, ideally around when the player grabs the hilt of the sword and starts pulling. Then, halfway through the animation, the weapon is drawn (meaning you've switched states in-game from sheathed to unsheathed and the sword is now in your character's hand).

That wasn't so bad, right? With lesson three done, we're about ready to wrap up here, now we just need to put the final touches on it before we can call it a day.


     Ready to finish this off? Let's do it!

So, you've followed along and you've got an animation made, exported, converted, and annotated. It's all ready for use in-game, all you have to do now is put it in the right spot!

If you just want to quickly see it in-game and aren't worrying about Open Animation Replacer yet, you can go ahead and chuck your new animation into the following filepath in your Skyrim's Data folder:

meshes / actors / character / _1stperson / animations

If you want to use Open Animation Replacer, check out the mod's description! It gives you a nice, detailed look into how your mod should be set up.

And voila! You should now be able to see it in-game!

I hope this guide has helped you start your journey! Hopefully it all makes sense and I explained things well (it's pretty late and I wrote the whole thing in one sitting, so I wouldn't be surprised if nothing makes sense), but if something sounds confusing or I forgot to mention something, feel free to make a comment and ask about it! I'd be more than happy to help.

Thank you again to everyone who's been supporting and downloading CFPAO, and again special thanks to those who pushed me to finally make this guide! I hope someone out there somewhere gets good use out of it!