From d035d74166e0d5721ee77e432dfb5929f39e092d Mon Sep 17 00:00:00 2001 From: Alan O'Cull Date: Wed, 6 Mar 2024 17:17:16 -0500 Subject: [PATCH] Animation export --- README.md | 2 ++ docs/animation.md | 31 +++++++++++++++++++++++++++++++ docs/images/anim_export1.png | 3 +++ docs/images/anim_import1.png | 3 +++ docs/images/anim_import2.png | 3 +++ 5 files changed, 42 insertions(+) create mode 100644 docs/images/anim_export1.png create mode 100644 docs/images/anim_import1.png create mode 100644 docs/images/anim_import2.png diff --git a/README.md b/README.md index c47c8ed..13820c9 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,8 @@ Additional notes: ## Resources and Guidelines ### Animation Guides +We are using [**Blender 3.6 LTS**](https://www.blender.org/download/lts/3-6/). As rigging changes in 4.0, please use the correct Blender version to ensure compatibility. + Guides for animation: - [Setting Up a New Animation](docs/animation.md/#setting-up-a-new-animation) - [Finalizing an Animation](docs/animation.md/#finalizing-an-animation) diff --git a/docs/animation.md b/docs/animation.md index 913f374..8804c93 100644 --- a/docs/animation.md +++ b/docs/animation.md @@ -40,3 +40,34 @@ If you want to go back and tweak an already-pushed animation, simply double-clic When you're done, deselect the track and unstar it. ![](images/anim_editing2.png) + +## Exporting Animations +I set up a pipeline for exporting animations that utilizes my Blender add-on, [BoneJuice](https://github.com/arocull/BoneJuice). Please download the `BoneJuice.zip` file from [here](https://github.com/arocull/BoneJuice/releases/), then in Blender go to `Edit > Preferences > Add-Ons > Install`, and select the file. + +Once installed, open the animation file you want to export from. Go to the `Scripting` workspace. You might be greeted with some code. This may be out of date, so load the latest pipeline script by opening the new file (red arrow), located at `assets/pipeline/export_anims.py`. + +![](images/anim_export1.png) + +Once you have the file loaded, click on the character's armature in the viewport to make it active, then run the script (blue arrow). + +If the script fails: + - Make sure that the character Armature is your active object + - Make sure you're not editing any animations, and that all animations are pushed to the NLA stack + - Make sure the corresponding output directory exists (`assets/export/infantry/` or `assets/export/insurrectionist/`, you may have to make these manually as they aren't synced with git) + +Once the script is run, **do not save the file**. +The pipeline makes changes to the file, bakes out your animations, and intentionally breaks the rig. +If you do accidentally save the file, you can discard your changes via Git Desktop. + +Your animations should be exported to the corresponding folder in `assets/export/` as an FBX file. +You can drag this FBX file into the Content folder of Unreal, preferably in the `Content/Characters/Infantry/Animations` (...or `Content/Characters/Insurrectionist/Animations/`). + +When the prompt comes up for importing animations, **uncheck the Import Mesh setting, and assign the proper corresponding skeleton**. Then, press the Import All button at the end. + +![](images/anim_import1.png) + +Finally, make sure any looping animations are actually marked to loop. + +![](images/anim_import2.png) + +And viola! The implementation of animations from here on out relies on the Animation Blueprint. diff --git a/docs/images/anim_export1.png b/docs/images/anim_export1.png new file mode 100644 index 0000000..5a67500 --- /dev/null +++ b/docs/images/anim_export1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70d77ee5b85ae530a1b9d975cc89e75a210191d832ad3e47f3b8d3dad5d2766a +size 141082 diff --git a/docs/images/anim_import1.png b/docs/images/anim_import1.png new file mode 100644 index 0000000..ee3fd55 --- /dev/null +++ b/docs/images/anim_import1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:9fe5985fb59d1a8acfff1441710f4075421f5a3980f7a74c932f546401ee55a5 +size 67533 diff --git a/docs/images/anim_import2.png b/docs/images/anim_import2.png new file mode 100644 index 0000000..da0ff98 --- /dev/null +++ b/docs/images/anim_import2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:73c99fc5c33785cc4badd5ee482e03b1f61c61531df5dc9a57caee68355f449e +size 696212