0ceal0t / BlenderAssist

Create custom FFXIV animations with Blender
39 stars 1 forks source link

BlenderAssist

An add-on to import FFXIV animations into Blender and export custom ones for use in-game. Based on AnimAssist, but much more scuffed.

Requirements

Installation

Download the addon from the releases. Go to Edit > Preferences > Add-ons, press "Install" and select the entire .zip file. Make sure to enable the add-on as well.

Note on updating: you may need to uninstall the add-on, restart Blender, and then re-install it

image

Usage

First, find the .pap file of an animation that you want to replace (using a tool like FFXIVExplorer), as well as the corresponding .sklb skeleton file. For example:

chara/human/c1101/skeleton/base/b0001/skl_c1101b0001.sklb
chara/human/c1101/animation/a0001/bt_common/emote/joy.pap

Make sure that the ids of the skeleton and the animation match up (in this case c1101), and extract both of these files using Textools, FFXIVExplorer, etc.

Once you have an animation you want to export, select the armature and open the "BlenderAssist" menu in 3D view (default keybind is "N"), or press the left-facing arrow at the top-right of the 3D view.

Configure the parameters to your liking, making sure to select the original .pap and .sklb files. Make sure the animation index also matches that of the animation you want to replace. Most .pap files only have a single animation, so leaving it at 0 is fine, but make sure to double-check.

image

And import the outputed .pap using your modding tool of choice.

https://user-images.githubusercontent.com/18051158/162326495-ab9ba1c2-fc88-4068-a53d-bf8dd50c83e2.mp4

Porting Animations

When importing animations from MMD, other games, etc. it's generally a good idea to use a bone remapping tool. A small caveat for this specific ones is that it will not work unless just adjust the "Rest alignment" of one of the bones you have mapped. For example, my mapping is:

image

So when setting the "Rest alignment", I just wiggled n_hara slightly. Also make sure to resize the animation source armature so that is rougly the same size as your target:

image

TMB and PAP Files

There are parameters in both the .pap and .tmb files which determine how long an animation is allowed to play, so you may need to adjust them. In addition .tmb files often have facial expressions which you may want to remove or adjust using VFXEditor

Notes on Building

This is taken verbatim from AnimAssist:

Building animassist.exe requires the Havok 2014 SDK and an env var of HAVOK_SDK_ROOT set to the directory, as well as the Visual C++ Platform Toolset v110. This is included in any install of VS2012, including the Community edition. You can find the Havok SDK to compile with in the description of this video. Please note that is NOT a download I control, just a random one from online.

Make sure to set your HAVOK_SDK_ROOT like this:

image