Animation In Fallout 4

From Nexus Mods Wiki
Jump to: navigation, search

Guide from FALLOUT 4 ANIMATION KIT

Guide version: 1.0.5   F4AK can be found here:

http://www.nexusmods.com/fallout4/mods/16694/?

Don’t forget to check for updates once in a while!

You can use Navigation headings in both PDF and docx versions of this file to quickly navigate through it!

GENERAL SOFTWARE INFORMATION

TOOLS REQUIRED FOR ANIMATION MODDING:

• 3ds max (versions 2013, 2014 or 2015. Recommended: 2015)

o http://www.autodesk.com/

• HavokContentTools 2014 64 Bit

o Available through other modders. Ask other animators to get it.

• niftools-max-plugins-3.8.0

o https://github.com/figment/max_nif_plugin/releases

• Havok 2 FBX Converter 0.1a

o https://github.com/Highflex/havok2fbx

• HKXPack by DexesTTP

o https://github.com/Dexesttp/hkxpack


Some of the tools included in this kit, but look for newer versions using these links.

TOOLS INCLUDED:

• niftools-max-plugins-3.8.0

• HKXPack by DexesTTP with UI by ShadeAnimator

o UI also has a “Convert skeleton.hkx to rig.txt” feature.

• 3ds max scenes:

o Human rigged with CAT and Biped

o Deathclaw

• 3ds max scripts:

o F4AK Rig Connector

• HCT Preset files

• HCT Rig.txt files:

o Human

o Deathclaw


This guide is based on 3ds max, but workflow for Maya is basically the same.

NOVICE NOTICE

This guide will not teach you to work with 3ds max, or Maya or Blender, it will not teach you rigging or animation.

Not included, but really needed is some basic knowledge of 3ds max and rigging and animating. If you never rigged and animated anything before, all this might be very overwhelming for you, but for anyone who has at least some rigging and animation experience, and even better - some realization of how 3d animation works in general - all this should be really easy to follow.

If you want to start animating for Fallout4 or any other game, but you have no experience with animation and rigging, I'd suggest you starting with someting else first. But if you absolutely sure that you want to make animations for FO4 (or need to), then I'd sugget you first going through some tutorials.

I may suggest Digital Tutors, tutorials like intro to 3ds max, rigging (preferably not CAT or Biped but tutorials about making custom rigs, they will give you the understanding you need.) and animation.

ANIMATION EXPORT

3RD PERSON ANIMATIONS, AND BASIC WORKFLOW

The basic workflow with this kit is this:

1. You either make a copy of F4AK_Rig_Final.max scene, or reference it into a new 3ds max scene. Either way, just preferably don't mess with original file, or have a backup somewhere.

2. You make your animation however you like. By default skeleton is connected to the CAT rig, but you can switch it to Biped using F4AK Rig Connector (documented below). The reference body mesh in the scene will move with the rig if the skeleton is bound. Disconnect and Reconnect with the F4AK Rig Connector to bind if the body doesn't move. Freezing the reference body meshes allows for easy rig access.

3. To export you go to Havok Content Tools menu - Export.

4. Here you should already have the right preset loaded, but just to be sure, go File - Load Configuration Set and point it to F4Animation.hko file which comes with this Kit.

5. Click on Create Skeletons filter in the list to the right. To the right of it you should now see this filter's settings.

6. In the "Create Skeletons" filter settings on the right, you need to select From File and pick the FO4_Human_3rd_Rig.txt. Sometimes you may have to refresh it, by choosing some other option, then From File again. And selecting a file. It will just load the list of bones and their order from that file. This is also the list of bones which will have animation on them. But it's really easy to break this file, because order and names are important, so you can experiment with it, but carefully.

7. Go to Write to Platform filter.

8. In the filename chose the destination for your new hkx file to save it to.

Click Run Configuration. Or Run Configurations, whatever button you like most.

Now, if there were no errors, you should have your fresh animation file! Yay!

If there were errors, check these steps again, and if you still can't export your file...

Any MESH object in 3ds max scene, is there just for preview purposes. It won't be exported with animation. Max scene files come with a few meshes included, you can Hide and show them however you like. For example, there is a CBBE body which might be more pleasant to look at while animating. Also there are a few hair styles. And you can import more meshes. How? Described in another section of this text.

It is recommended to only use Rig controls, not animating game joints directly. However, it won’t break anything.

1ST PERSON ANIMATIONS EXPORT

It is possible to export 1st person animations using this Kit. To do it you need to follow the same workflow as before, with just a few exceptions. 1. Use the FO4_Human_1st_Rig.txt (thanks to MaikCG) instead of FO4_Human_3rd_Rig.txt 2. Follow the guide from MaikCG

GUIDE FROM MAIKCG

What I have to tell you. For all animation F4 using identical skeleton. And of course weapon bones saved with them. The difference in these two skeletons - in the 1st person skeleton absence 14 bones for skinning, it has no effect on the animation, as well as an absence of bone CamTarget in the Fallout4Rig1st.txt for HCT Animations for the FPS weapons (\Actors\Character\_1stPerson\Animations) - weapon directed at the axis +Y, neck and head rotated back by 90 degrees so as not to accidentally fall into the camera. Body movement only in order to hands not stretched. HCT export with preset AnimationExport1stPerson. Animations for the TPS - the same direction at the axis +Y. Most of the animation is done in place. Locomotions to do with the actual shift skeleton root. Still need to change the position of the Camera and CamTarget bones, as its default offset from the character is taken from an animation file. HCT export with preset AnimationExport3rdPerson. For weapons exists a set of common animations (Actors\Character\Animations) and an additional set which stores the individual weapons pose bones (Actors\Character\Animations\Weapon). I looked up a couple of files, there is no even animation, just a pose.

All annotations for animations recorded in Note track. Warning! Note track should not be added to the main track Root object, it should be added to the transformation track. In any case, use vanilla animations as an example.

3DS MAX RIG SCENE STRUCTURE

The scene contains a few layers and selection sets to make it easier to work with. It contains 2 rigs: Biped and CAT, and you can switch between them using the F4AK Rig Connector script. You can select Skin and Control joints using predefined selection sets inside the scene. You can hide or show layers for: • Game skeleton • CAT rig • Biped rig • Male meshes • Female meshes

IMPORTING SKELETON FOR ANIMATION FROM SCRATCH

You may need this if you’ll need to use updated skeleton from Bethesda, or to work with other creatures, not included in the kit. Well, there is really no magic here, and there just a few steps to importing the skeleton and mesh into max from scratch, and setting it up for export. First you need to extract two archives: Meshes and Animations. They have everything you need for animations. All you need to do, is import two files. First is the mesh *.nif files, and second is the skeleton.nif files, which is unique for each creature. Using Deathclaw as example, you can find them here: \Fallout 4\Data\Meshes\Actors\Deathclaw\Deathclaw.nif (Mesh) \Fallout 4\Data\Meshes\Actors\Deathclaw\CharacterAssets\skeleton.nif You will also need a skeleton.hkx file to get the order of joints for rig.txt. (Rig.txt is just a txt file you load into HCT as a preset of a rig, you can name it however you want). \Fallout 4\Data\Meshes\Actors\Deathclaw\CharacterAssets\skeleton.hkx The path convention is the same for all creatures. Or at least it should be. If not, try using logic and locating these files And you import it with default settings. Now you can import additional meshes as discussed in another section of this text, if you need. From here you can create your own rig for the creature or whatever you’ve just imported, using CAT, Biped or custom rigging. If you name your rig joints the same as the skeleton but with some prefix, you may be able to use the F4AK Rig Connector to connect any rig. Check it’s documentation below. Don't change the hierarchy of objects under the Root. You can use constraints, you can constraint those objects to other objects, etc etc, anything that does not break the hierarchy. Only the names and hierachy is important.

MANUAL HCT SETUP PROCESS.

Okay, so, to export animation for FO4 from max you need: • max 2013-2015 • niftools plugin • HavokContentTools 2014 • Rig.txt file (because automatic joint finding does not work properly) • Preset for HCT which comes with this Kit To create the rig.txt file you can use my HKXPack UI. It extracts all the bones from the hkx\xml file in the right order, and creates a rig.txt file. But you can also do this manually. SO, STEPS: 1. Setup\Create\Find rig.txt file. 2. Next, you need to go to Havok Content Tools - Export. In the new window go File - Load Configuration Preset, and load the *.hko file included inside the HCT_Presets folder. I will not go through the settings yet, you can check them from the file, and deduce some things. 3. Starting from here, click the Create Skeletons tab. And specify your rig txt file there. You may have to refresh it sometimes, by choosing another option then From File again. 4. Go to Write Platform tab (or list item rather), and select the output file location, where you want new file to be. Thats all! Just 4 steps.

ANIMATION IMPORT

IMPORT VANILLA ANIMATION (BY MAIKCG)

Video tutorial: https://www.youtube.com/watch?v=_tLdLlk2fi8
All F4 animation is created using the 64 bit version HavokContentTools. At the same time havok2fbx is only working with 32 bit files. In order to convert you need to use HCT.
Start 3dmax, open HCT export window and load F4Animation.hko preset. It contains three variants:
• ConvertAnimation_x32
• AnimationExport1stPerson
• AnimationExport3rdPerson
Select option ConvertAnimation_x32.
In first filter "Merge Asset" you need yo choose vanilla *.hkx animation file.
In third filter "Write to Platform" you need specify output folder and select file format - Binary, Packfile, Win32MSVC.
After this click "Run Configuration" and file will be converted.
Also you can select format - Tagfile, XML. This will extract the animation as XML (default *.hkx but it opens by notepad), in it you can find the names of events to track annotation (events created for F4 engine, mainly for playback of audio files).
Put the file skeleton.hkx and converted file (WPNReload.hkx for example) in folder with havok2fbx.
Then the console command will look like this:
havok2fbx.exe -hk_skeleton skeleton.hkx -hk_anim WPNReload.hkx -fbx WPNReload.fbx
Now you should have the FBX file with animation, which you can import onto the skeleton or rig or edit it directly.

ADDITIONAL INFORMATION FROM SHADEANIMATOR:

You can now use F4AK_HKXPackUI to convert 32 bit HKX to FBX. It acts as a UI for havok2fbx.exe as well now.
It will also automatically define the skeleton.hkx. The right skeleton.hkx is already included in the folder with F4AK_HKXPackUI.
But if you need to work with a new skeleton, you need to convert it into 32 bit as well first.

IMPORTING ANIMATIONS ONTO GAME SKELETON INSIDE THE RIG FILE

First you need to disconnect the skeleton from the rig, using F4AK Rig Connector. Now, Import FBX , in the FBX importer settings choose "File content: Update animation" (by default "Add and update animation"). It should load animation onto existing skeleton, as far as the joint names match.

IMPORTING ANIMATIONS ONTO CAT RIG FROM FBX

It is possible to import animations directly on the CAT rig. Variant 1: 1. Open the new CAT rig scene 2. DISCONNECT the skeleton from the rig 3. Import the animation from FBX file, in the FBX importer settings choose "File content: Update animation" (by default "Add and update animation"). It should load animation onto existing CAT rig. 4. Now you should see animation imported on the game skeleton. Now we need to transfer it to CAT 5. Go to Setup mode, delete old layer, select Cat’s spine bone (one on the middle) and change it from Procedural to Keyframed. Do the same to the neck. Go back to Animation mode and create new layer. 6. Make sure that all CAT’s limbs are in FK mode 7. Go to Animation – CAT – Capture animation 8. In there select Target – your cat rig, Source – COM object of the game skeleton 9. Load the mapping from F4CAT_VanillaSkeleton_Mapping.cam 10. Adjust the skeleton if needed 11. Capture animation 12. Remove all animation from the skeleton, Connect skeleton back to CAT Variant 2: 1. Open FBX file with animation. 2. Add the prefix “F4CAT_” to all the joints in there (Use renaming tool) 3. Export animation to a new FBX file. 4. Open 3ds max scene with CAT rig 5. Go to Setup Mode in CAT rig 6. Select one of the spine bones and switch the spine from Procedural to Keyframed mode 7. Create a new layer and switch to Animation mode 8. Make sure that ARMS and LEGS are in FK mode. 9. Import FBX , in the FBX importer settings choose "File content: Update animation" (by default "Add and update animation"). It should load animation onto existing CAT rig. Some joint scales may look weird, but that’s okay, the game skeleton should display the correct animation. To save time with steps 5-8, after the step 8 you can save it as a new animation import scene, and then you will only have to do roughly 2 steps for each new animation: 1. Open fbx and rename the jonits, and save it 2. Open cat rig and import animation

IMPORTING ANIMATION ONTO BIPED RIG FROM FBX (BY MAIKCG)

APPROACH FROM MAIKCG

Open F4BipedImport.max in 3dmax and import the resulting file. In the FBX importer settings choose "File content: Update animation" (by default "Add and update animation"). It must be remembered that the main direction of the face is +Y axis. Havok2fbx turn animation to axis +X, you need select Root bone and rotate skeleton in the correct orientation. In named selection sets choose "SaveAnimation", select Camera nodes and all Bip bones without Nub. Select main menu "Animation" -> "Save Animation..." Setup: • Animated tracks - off • Include constraints - off • Keyable tracks - off • Segment - on (and setup start/end frames) • Key per frame - on • You save animation for selected bones as xml file.(*.haf)

Open F4Biped.max (mentioned file is from F4Biped Kit by MaikCG, in F4AK you need to open it’s default rig scene, and reconnect the skeleton to Biped instead of CAT) in 3dmax. In named selection sets choose "LoadAnimation". Select main menu "Animation" -> "Load Animation..." Setup: • Load Into Active Layer - off • Absolute - on • Replace - on • Motion Mapping/Retargeting - choose SaveLoadMapping.xmm

Ready. If does not work, check to make things right, it is a tested method.

APPROACH FROM SHADEANIMATOR:

It is also possible to use different approach. To import animation onto the Biped rig in the F4AK_Rig_Final.max file, you can first open the FBX scene, add a prefix “Bip_” to all the joints. Now open the Rig file, and import FBX, in the FBX importer settings choose "File content: Update animation" (by default "Add and update animation"). It should load animation onto existing Biped rig. Both approaches are vaild.

EXPORT USING MAYA OR SOFTIMAGE

Since Havoc Content Tools 2014 has plugins for Maya and Softimage as well, it is possible to use these programs to export animations for F4 as well. Without niftools plugin you won’t be able to export new skeletons or meshes however. Nif plugin is available for Maya up to 2016, but you either need to compile it or find a compiled version. It or a link to it may be included in later versions of F4AK. The process to export animations is the same. F4AK has FBX versions of the skeleton and preview meshes, so you can import them into Maya or Softimage, rig them and export them to the game.

CREATING ANIMATIONS USING BLENDER

Blender currently (Jul 2016) does not have all the tools to export animations for F4. However, if you are experienced with it, you can use Blender to animate a character, then use Max or Maya to do the export. To do this you need to import FBX into blender. Animate it however you want. Then export the animation to FBX.

From here there are two options: 1. Open the FBX or the rig file in max or maya. And now you should be able to export it from here. 2. Alternatively you can open the existing rig scene for 3ds max. Disconnect the skeleton from the rig using F4AK Rig connector script. Import animation FBX using “Update” instead of “Add” or “Add or Update” in FBX import settings. Now you should have your animation.

MOTION BUILDER

Autodesk MotionBuilder is a character animation software perfectly suited for bipedal character animation, FBX Editing and motion capture. It’s main usage is motion capture and FBX editing. Basically you can think of it as FBX editor, because FBX is a native format for MotionBuilder. So it is perfect to use if you’re planning to use motion capture, or if you want to retarget existing animations on Fallout 4 skeleton, or if you simply want to edit existing animations. This kit includes the F4AK_MotionBuilder_Definition.xml file, which is a definition file to characterize F4 skeleton in Motion Builder. After that you only need to click one button, and you have a rig. You need to place it under: C:\Users\<YourUserName>\AppData\Roaming\Autodesk\HIKCharacterizationTool5\template

Basically you can open any vanilla animation after converting it to FBX, load definition, bake animation to rig and fix anything you want. Unlike 3ds max animation to rig load approaches, this will be 100% accurate to vanilla animations. Unfortunately, right now this Guide does not include any tutorials about how to use Motion Builder, but it may be here later. You will still have to export your animation through HCT-supporting software.

WORKING WITH RIG AND ANIMATIONS AND TOOLS

USING THE RIG (CAT BASICS AND SWITCHING TO BIPED)

By default, F4AK suggest you using CAT rig. Here is how you start animating: 1. Select any CAT rig object 2. Go to the Motion panel tab 3. Make sure the rig is in the “Animation” mode, the button should have a “Play” icon and be green 4. Create a new Animation Layer. If there is one already and it’s a new scene, you better delete it. 5. If the game mode\skeleton does not follow the rig, you probably need to connect the skeleton to the rig. To do it you can use F4AK RigConnector script. The process of using it is described below CAT is a complex rigging and animation system, with it’s own powerful layering system, pose and animation libraries, ability to import and export animations between rigs, importing and working with mocap animation. It is a newer and in many cases better than Biped. But there may be reasons for you to stick with the good-old Biped system. In this case you may easily switch to Biped rig. It is already in the scene. TO SWITCH TO BIPED RIG, ALL YOU NEED TO DO IS: 1. Use F4AK RigConnector to disconnect the skeleton from CAT rig 2. Hide the CAT rig layer (display layers in max), and unhide the Biped layer 3. Change the prefix in the RigConnector’s window to Bip_ . For Biped make sure that “maintain offset” is turned on. 4. Connect. Now you can use Biped as usual.

WORKING WITH CAT RIG

To get to know CAT system better, I suggest you to watch this tutorial: DigitalTutors - Introduction to CAT in 3ds Max http://www.digitaltutors.com/tutorial/768-Introduction-to-CAT-in-3ds-Max If you like the tutorial I endorse you to pay for it, and I am against piracy, however it is also available at cgpeers. TESTING ANIMATIONS IN THE GAME

You may have to add this to the Fallout4Custom.ini inside the /MyDocuments/My Games/Fallout4 folder: [Archive] bInvalidateOlderFiles=1 sResourceDataDirsFinal= This may be needed for the Engine to use files not from archives.

Then the tested and working way to test it is to export animation as PoseA_JetUse.hkx and put it into this folder (you can create it yourself, or extract Animations archive and replace a file): steamapps\common\Fallout 4\Data\Meshes\Actors\Character\Animations\MT\Neutral Then, in the game, open console with ~, and type: player.playidle IdleUseJet And you should see your animation playing.

IMPORTING NEW PREVIEW MESHES INTO EXISTING SCENE

This Animation Kit comes with a few basic meshes already. But sometimes you may need or just want to test your animations with some specific ones, like clothes, bodies or hair, for example. Adding new meshes into 3ds max is simple, and you should have everything you need. So, the tools you'll need are: • 3ds max (obviously) • nif plugin • Archive2 or another extractor of Fallout4 archives. Archive2 was not yet mentioned here. You can take it from the CreationKit: <CreationKitRoot>\Tools\Archive2 Main mesh files are in this archive: Fallout4 - Meshes.ba2 inside the Data folder of Fallout4 installation.

All standard meshes are here:

..\Fallout 4\Data\Meshes\Actors\Character\CharacterAssets

GETTING IT INTO MAX

Now, assuming you already have the rig or animation scene open, to get them into max, you just use File-Import. Select the file you want to import. Select the appropriate skeleton.nif at the bottom of the nif plugin import window (for humans it’s located at <>\steamapps\common\Fallout 4\Data\Meshes\Actors\Character\CharacterAssets), which should've opened after you selected a file and clicked Import. Now, UNTICK the Import Skeleton checkbox, since we're importing it into a scene. It is important. Otherwise it will create a separate hierarchy with another skeleton in your scene, and we don’t want it.

ANNOTATIONS

Anotations allow you to trigger different events at specific animation frames, through animation. This is usually used for sounds (footsteps for example), showing\hiding stuff (showing and hiding Phycho jet model in char's arm for example), and some other things.

TO ADD ANNOATIONS TO YOUR ANIMATION:

If you are using your own scene: 1. Select Root joint. 2. Open DopeSheet. 3. Select Root joint there. 4. Select it’s Transformation track. 5. Go to - Edit - Note Track - Add (note that in earlier max versions location of this button was different) If you're using scenes shipped with F4AK, this track should already exist there. To add annotation: 1. Keys - Add Keys tool 2. Click wherever you want to place a key 3. Exit this tool 4. Right click and write your annotation

Now they should export. If not, try ticking Annotations in Prune Type filter. List of annotations is currently unknown to me. Process is similar to the one shown in this video: https://vimeo.com/113225958

In the xml annotations will look like this:

     <struct>
       <string name="trackName"></string>
       <array name="annotations" size="6">
         <struct>
           <real name="time">x3727c5ac </real>
           <string name="text">EarlyExit</string>
         </struct>
         <struct>
           <real name="time">x3f3bbc64 </real>
           <string name="text">weaponSwing</string>
         </struct>
         <struct>
           <real name="time">x3f5555fe </real>
           <string name="text">HitFrame</string>
         </struct>
         <struct>
           <real name="time">x3faaaaff </real>
           <string name="text">PairEnd</string>
         </struct>
         <struct>
           <real name="time">x3faaaaff </real>
           <string name="text">pairedStop</string>
         </struct>
         <struct>
           <real name="time">x3faaaaff </real>
           <string name="text">ReevaluateGraphState</string>
         </struct>
       </array>
     </struct>

USING F4AK RIG CONNECTOR

F4AK Rig Connector is a MaxScript located under Tools\MaxScript. You can use it to constraint the F4 game skeleton to any rig. It works using the simple principle, control rig must have it’s driving joints named the same as the game skeleton, but with some prefix. The 3ds max rig scene supplied with this Kit has 2 rigs in it, Biped and CAT. Their respective prefixes are: “Bip_” and “F4CAT_”. You can add your own rig with some other prefix and connect the skeleton to it using F4AK Rig Connector. To reconnect the skeleton you first ALWAYS need to DISCONNECT it. Don’t be afraid to click the button a few times if the rig is disconnected. Also you should be fine clicking the CONNECT button multiple times, but it is not recommended. F4AK Rig Connector comes in two versions. Human and Universal. Human version does some additional work for Human skeleton. It constraints COM object to Pelvis control, and UpperArmTwist1 to upper arm control. In theory it may work with other bipedal creatures as well, depending on their skeletons. Universal version does not do those additional constraints. It should work with all F4 skeletons. But you may have to do some additional constraints manually.

HOW IT WORKS:

If you ever need to troubleshoot it, or if use it, or update it, this section may be useful. The script itself is documented. But here is the process. When you click Connect, it selects the hierarchy below the “Root” node, finding it by it’s name. Then it goes through each object in the hierarchy, and looks for the “prefix+name” objects. If it finds one, it Orient constraints the object to the object with prefix. Then it checks if the object’s name is in the RigConnector_Data object’s PosConstraints parameter. If it is – it adds a PositionConstraint as well. Human version only: If the name of the Object is “Pevlis” it will also constraint Pos and Orient “COM” object to the pelvis control. If the name of the joint is RArm_UpperArm or LArm_UpperArm, it will also try to connect the RArm_UpperTwist1 LArm_UpperTwist1 to the same parent. So, for some skeletons\objects you may also choose to add some of your own constraints. You can also use skeleton.hkx converted to .xml to see which joint supports translations or not.

If the script connector does not seem to do anything, does not connect or disconnect the rig, while everything should be working – it is probably a max bug. Try to close the F4AK Rig Connector window, and start the script again, preferably by opening it in the Script Editor window and running it from there. Or just try to run it again as usual. It should work now.

ADDING CONTROLS TO THE RIG FOR MORE JOINTS

By default, rig does not have some joints you may want to animate. For example, it has no controls for Weapon joint, and it’s children. But with RigConnector adding new controls is easy. You can follow the process with this video tutorial: https://www.youtube.com/watch?v=bbR9hCcH3W8 Steps for CAT: 1. Turn off Animation mode in CAT if it is turned on. 2. Add any new rig joints to CAT rig. Could be simple bones, using Add bone, but you can also use it’s arms, legs, tails, spines, etc. Only object names matter in this case. 3. Rename your new CAT bones as shown in the video. I recommend using it’s built in naming tools. Your final name should look like: F4CAT_<GameSkeletonBoneName> 4. If you need PositionConstraint for the object to be added: a. Find RigConnector_Data object in the scene and select it b. In it’s AttributeHolder modifier find the string parameter called PosConstrains c. Add game skeleton’s bone name you want PositionConstarint for into this string. Spaces are used to separate bone names. 5. DISCONNECT the rig. 6. CONNECT the rig. Biped process is similar. Just add new bones, and rename them, and add those you need position constraints for into the RigConnector_Data object’s attributes. The same for any other rig you may use.

USING F4AK HKXPACK UI

F4AK comes with a version of HKXPack enhanced with a UI. Or rather it comes with a set of tools, which use HKXPack. Call it however you like. The thing is, HKXPack UI has some additional functionality inside it. TO LAUNCH IT, START THE FILE: f4ak_hkxpack_UI.exe If you know python or have python installed, you can use .py file. FUNCTIONS: • UI for converting hkx  xml (using DexesTTP hkxpack) • Generating rig.txt file from the skeleton.hkx • (In future versions) UI for using havok2fbx

CONVERTING HKX TO XML

There are two ways to convert HKX to xml. One is to use HKXPack. Another is to use HavokContentTools. As of now, using HCT to do this will result in a much more detailed xml file. To do this you need to: • Open max • Open Havok Export • Load F4Animation.hko preset • Choose variant – ConvertAnimation_x32 • In Merge Asset filter select a file you want to convert • In Write To Platform filter change it to Tagfile, XML, and select output file location • Click Run Configuration

CREATING RIG.TXT FILE

You can use my tool, which is on git, under HKXPACK_BASED_TOOLS Give it a skeleton.hkx and press generate rig.txt, it will do the rest.

You can do it manually. Convert skeleton.hkx to xml using hkxpack, and then find the "bones" there, and create the following file: [HAVOK SKELETON DEFINITION FILE] [BONES START] Bone Bone Bone [BONES END]

just replace Bone Bone Bone with your joints. Now, thats not all. Open your scene, go to Havok Export, and try to load the rig.txt file under the Create Skeletons filter. It will probably show a few errors, saying that it can't find some joints. It's common. First, check if there are joints in your scene named in CAPS. Like commonly, Weapon is called WEAPON. Renamed them in your scene to match the naming from the rig.txt file. Then, if there are still missing joints, if you think they are not sagnificant for animation - you can just create a joints anywhere in the hierarchy with the name of a missing joints. Otherwise you may have to check other nif files for those joints. For example for human I had to import pistol and dummy weapons to get all the joints needed. But for creatures you will probably only need to create, say, a Camera joint, it should not be an issue really. Thats all. Now, setting it up for export.  

PAIRED ANIMATIONS (KILLMOVES)

If you’re looking for sex animations, refer to multi-character animations section. This section is about vanilla way of handling paired animations, for example for killmoves. In the heart of it, paired animations are the same as regular animations, they just have some annotations setup to sync them in time when required. Since this guide is about making animation files, I will not discuss how to add new killmoves, and I did not yet take part in researching it anyway. But you can replace old killmoves that way. THE SHORT VERSION: You need to animate 2 characters (Victim and Attacker), export 2 animations, and you need to copy annotations from vanilla killmove animations. STEP 1: IMPORT To do that, you need to import 2 characters into the same scene. There is a number of ways you can do it in max. For example, it can handle multiple objects with the same name in the same scene. So you can just open one rig file, merge it in and if it asks what to do with name clashing, just say “Merge”. Another way – you can open rig file, add a prefix “2_” to ALL objects in it, and save it as Rig_02 file or something. Then you open original rig file, import Rig_02. Another way – you can use XRefs. More about it read in max documentation or google. Again, sorry, but I’m not here to teach you max, already talking too much about it :D STEP 2: ANNOTATIONS You need to convert animations you want to replace into xml and take a look with notepad at them. I recommend Notepad++ or Sublime Text Editor, or some other text editor which supports xml color-coding. You need to look for something like this. Victim: <real name="time">x3727c5ac </real>

           <string name="text">SyncDeferDeath.Enter</string>
         </struct>
         <struct>
           <real name="time">x3727c5ac </real>
           <string name="text">EarlyExit</string>
         </struct>
         <struct>
           <real name="time">x3727c5ac </real>
           <string name="text">SoundPlay.NPCHumanKillPaired1HMSneakStabNeck</string>
         </struct>
         <struct>
           <real name="time">x4040002a </real>
           <string name="text">KillActor</string>
         </struct>


Attacker :

  <real name="time">x3727c5ac </real>
           <string name="text">SyncDeferDeath.Enter</string>
         </struct>
         <struct>
           <real name="time">x3f800054 </real>
           <string name="text">HitFrame</string>
         </struct>
         <struct>
           <real name="time">x4042224c </real>
           <string name="text">SyncDeferDeath.Exit</string>
         </struct>
         <struct>
           <real name="time">x4044446f </real>
           <string name="text">PairEnd</string>
         </struct>
         <struct>
           <real name="time">x4044446f </real>
           <string name="text">pairedStop</string>
         </struct>
         <struct>
           <real name="time">x4044446f </real>
           <string name="text">ReevaluateGraphState</string>

And now you just need to put these annotations into your new animation, in the same order. Exact timing is not required. These annotations will call events in the game through animation. There is a section in this documentation about annotations. STEP 3: EXPORT Now you need to export those characters. You’ll need to export them one by one. One of the ways is to delete one of the characters, export. Then open the scene again, delete, export. Or you can use name prefixes. If you added “2_” prefix, you can safely export a character without the prefix. Then you add some prefix to it like “1_”, and remove the prefix “2_” from the second character’s game skeleton objects. Now you export again. This should be it. Thanks to Hazraogh6 for testing this.

MULTI-CHARACTER ANIMATIONS

This part is still under research and development With SexTec it is possible to create paired animations with up to 8-10 characters participating in one ‘action’. Export process is the same, but you need to position Root objects and initial position of your characters correctly. The theory behind it is to move characters’ ROOT joints into the appropriate “Character snap markers”, and animate them from there. This has to be done, so that when the multi-character animation starts, they won’t all teleport into one same location, which will visually look like all the characters are standing in each other, in the same spot, overlapping each other. In practice it should be simple to do. With game skeleton connected to the rig, you are free to move the Root joint however you’d like. So you just need to use max’s “Aligment tool” to snap Root joint to one of the “Character snap markers”.You also should move the rig itself to that location, by moving the CAT_Parent or the Layer transform. There is a special control for the root object - green triangle at the feet of the character. You can move it around freely.

VIDEO TUTORIALS

Video tutorials are available here: From ShadeAnimator: https://www.youtube.com/playlist?list=PLKTfam4K4NwTJS2_SIr5AUoTmi9LD9-2m From MaikCG: https://www.youtube.com/playlist?list=PLGl7UHpjZyIu5UFYcdwzLU-rBWU-CWjLp

GUIDE APPENDICES

Other useful information.

ANIMATION PREFIXES

All human character animations can be found here: <STEAM>\steamapps\common\Fallout 4\Data\Meshes\Actors\Character\Animations They are split into subfolders. Here is a little hint: 1HM - one hand sword/knife 1HMShort - one hand fast attacks 2HM - two hand sword 2HMWide - two hand BIG H2H - hand to hand, melee MT - at the all previous games (oblivion, f3, f3nv, skyrim) prefix mt_ were specified as main animations for motion (Thanks to MaikCG for describing it)

GLOSSARY

Just so we are on the same page. Here are some terms: Rig - this can be a misquiding word, because it usually means not just one thing, but it includes a few things. Which are: Skeleton - Skeleton is a collection of joints, in gamedev they usually have to have the same root and exist within the same hierarchy. The joints\bones are used to drive character mesh, which is skinned to them, some of the joints\bones, usually referred to as locators, can be used as 'sockets' to snap other meshes to in realtime, like weapon joints. Basically joint is just a transform in space, and there is usually no real separation of joints or locators or nulls in game engines, only in 3d software, where they may have different properties and behaviour, only until you export them. Skinning - Skinning is a process of bining character mesh's verticies to specific joints. Control Rig - A collection of additional objects and constraints which are required to make it possible for an animator to animate the character comfortably. While you can just animate joints, this is not really the right way to work with animations. Rigs can be simple or complex, they can be considered programs even, because they follow same conventions usually. So basically character control rig is the strings an animator uses to control the puppet, while the puppet it skeleton and skinned mesh. It is good idea to keep control rig and skeleton separately. In 3ds max there are 3 ways to create Control Rig: 1. Creating Custom Control Rig, using bones, constraints, and objects and other tools available in max. 2. Using CAT - CharacterAnimationToolkit, built-in plugin in max, which allows you to easily create a rig for any character, and includes some animation tools, like mirroring, pose saving, etc. 3. Using Biped - less feature-full and older built-in plugin for max, which allows you to quickly rig a humanoid character. Rig.txt - this is something specific to Fallout4 and Skyrim, rig.txt file is a txt file required by Havok Content Tools to define the joints and their order upon export. I usually refer to it as “rig.txt” file, but you can call it however you want. I recommend calling them after the character’s skeleton it is made after, and putting it into the same folder. Some people reported that rig.txt file must be placed under the same folder as 3ds max scene you are working with. I personally did not encounter this problem, but if you have problems exporting hkx animations from HCT2014, this may be the thing to try first.


FILE LOCATIONS

Human meshes and skeletons are in the Meshes archive, here: <STEAM>\steamapps\common\Fallout 4\Data\Meshes\Actors\Character\CharacterAssets ABOUT THE SOFTWARE CHOICE WHY 3DS MAX? WHY THESE VERSIONS? Currently we are limited with the tools available. 3ds max everything required, for latest possible versions, and the most updated ones. HCT2014 is available for Max and Maya 2012-2016. It is not available for blender. niftools has it's most advanced and developed plugin for max only. VERSIONS You can use any of these versions to work with Fallout4 Animations: • 3ds Max 2013 • 3ds Max 2014 • 3ds Max 2015 (Recommended) They all have HCT and niftools plugins support. 3ds max 2016 and 2017 are not supported by available HCT, and probably won't be anytime soon, since HCT's future is unknown, because Microsoft bought it recently. I will be sticking with 3ds Max 2015, but Animation Kit will also include files for max 2013, which you'll be able to open in 2013 and 2014. However I can't guarantee that I will save all files under for max 2013. I will keep an eye on information about moving animation modding into Maya as well, but Blender guys have to research stuff themselves. I will, hovewer, add information about Blender to this header post, just send it to me, ill review it and post here. 3DS MAX It's the primary and most advanced package to work with Fallout4 animations so far. It has all the tools needed, all the plugins, and in some cases these plugins are more feature-full than in other software. Main reason why it's currently the best solution for animations is that is has HavokContentTools and niftools plugins are compiled and available for it from the official niftools github repo. • HCT • Niftools Plugin seems to have more features than alternatives MAYA Maya may be the second tool in this list, because it also has HCT and niftools plugin, and can use same HCT presets. But it is much harder to find the right compiled niftools plugin. I did not find it yet, for Maya 2013-2015. If someone can compile it for Maya 2015, it would be perfect! But since in fact niftools plugin is only required to import and export MESHES it should be possible to export meshes and joints as FBX into maya, and then work in it from there. You can use the FBX rig file, import it into maya and work with it there. BLENDER Bad news for blender users, it does not have HCT plugin available. Without it, currently it is not possible to export *.hkx animation files, until some third-party tool arrives. However it should be possible to create a blender scene for animation and use it to animate, then export FBX animation, bring it into 3ds max, and export from there. UNIVERSAL The real breakthrough can at some point come from DexesTTP with his hkx tools, he is basically working on a standalone COLLADA => HKX converter. COLLADA format is available for both max and maya, and, i'm not sure, but I think blender too. It will make the process of exporting animations as simple as exporting an animation file into collada format with built-in tools, and converting it with a converter. Once the converter is ready it will be even possible to automate the process to just 1 button click, a script can then export an animation, and launch external converter to convert it into hkx, so it will look like it just exported into hkx

HavokContentTools 2014 Can be obtained through other modders. Required to create animations, was actually available for free from the official site. Until Microsoft bought them, and removed from the site. But they officially allow those people, who still have them, to keep using them. And while redistribution is not allowed by the license, you don't need to provide any license keys or anything to install the plugin, which really makes redistribution untraceable. So while I'm not approving piracy, finding HCT2014 is possible. TROUBLESHOOTING TROUBLE: You get the following error, while trying to click Export in HCT. -- Error occurred in anonymous codeblock; filename: C:\Program Files\Autodesk\3ds Max 2013\MacroScripts\hvkCommon.mcr; position: 192; line: 7 >> MAXScript MacroScript Error Exception: -- Unknown system exception << SHOOTING: Try installing max on C:\ Drive. TROUBLE: When you try to export animation, you either succeed but the file is not created, or you receive some errors. SHOOTING: First, of course, try to read the error message and understand it. Second thing that might help – some people reported that they were only able to export animation, when the rig.txt file was placed right next to the current working 3ds max scene. I personally did not encounter this, though.


CHANGELOG:

1.0.5 • Fixed skeleton, it was missing IK R bones, which caused some stretching in the game • Note track was missing under Root-Transform, added it. Oops  • Added CBBE Vanilla-shaped mesh into the rig file for reference. 1.0.4 • Added motion builder notice • Added motion builder file preset and scene (no twists support) • Added link to tutorial about working with CAT • Other improvements 1.0.3 • Added F4Animation.hko from F4Biped. Thanks MaikCG • Fixed bugs in F4AK Rig Connector • Changes in Annotation Guide, still not tested • Changes in Vanilla animation import guide • Improved F4AK_HKXPackUI, it now supports hkx2fbx.exe to convert hkx 32 bit into fbx • Fixed head position • Expanded animation import on cat guide • Correctly positioned all Weapon joints by importing them from one of the vanilla animations • Added Using the Rig to the guide • Other fixes and improvements to the guide and files

1.0.2 • Added SaveLoadMapping.xmm 1.0.1 • Updated RigConnector. Fixed a few bugs and now you can define through the RigConnector_Data object, which objects should also have PositionConstraints. • Added guide to add custom control joints to the rig.   CONTACTS If you experience any problems or crucial bugs, or if you need any support with animations for F4 mods, feel free to contact me on http://forums.nexusmods.com. Find ShadeAnimator there, or use this link: https://forums.nexusmods.com/index.php?/user/5591708-shadeanimator/ I am also available at Loverslab. If I have time and consider your mod interesting for me to work with, I may consider joining your team or helping you. Though I am a busy man, so mind this, and don’t be offended if I decline to help you directly. However I will try to always help you with information, to extent of my abilities.

Also contact me if you know how to improve this guide. If it is too big or too small, or if you have additional information, or if something stated here is wrong. CREDITS While the author behind this guide and F4AK is ShadeAnimator, it would not be possible without the help of some people. • ShadeAnimator – author of F4AK and F4AK Guide. • DexesTTP – developer of HKXPack and HKXAnim. • MaikCG – author of F4Biped, helped a lot with information, research, guides and some files. • CPU – a lot of help during research • NifTools team for NifTools plugins • JoshNZ – contribution to research • Kimbale – suggestions and fixes for the guide • Caliente and Ousnius – CBBE mesh