Native Animation Framework (NAF) (2024)

NAF is a new multi-character animation framework, similar to AAF, but built entirely in F4SE for performance, reliability and new engine-level features.

Features

- In-Game Animation Studio: NAF features its own in-game animation studio complete with inverse kinematics & motion smoothing. No need for Blender or 3DS Max, NAF is all you need to create animations. With the click of a button, you can package a multi-character NAF animation into a single file that can be easily shared with other people.

-Face Animations: Up until now, modders have been limited to using the vanilla face animations or simple custom face poses. With NAF's keyframed face animation system, every single face morph can now be animated, including custom morphs and eye position.

- Optional HeadPart Morph Patch: Usually, to add a custom face morph, you would have to make a .ESP that edits every single relevant headpart. But with NAF's patching system, a custom morph can be dynamically injected into all headparts of the appropriate type.

-ESP-less Animation Packs:NAF can dynamically play HKX animationswithout the need for an ESP, which frees up room in your load order for other mods, and also makes animation pack creation more straightforward for mod authors.

-No Doppelganger:Thanks to being native, NAF can use the actual player character instead of a doppelganger for multi-character scenes. This allows scenes to startseamlessly, without any fade-to-black, and also allows animators to use custom camera paths for scenes.

-LookAt Cam:NAF comes with a special toggleable camera mode called "LookAt Cam", which keeps the camera's view locked on to the player's head or body for more immersive scenes. This camera mode can be toggled on for scenes & configured from NAF's Settings menu.

-Robust XML Parser:With NAF's specially designed XML mapping & caching system, it canload XML files up to 80x faster than AAF. Plus, NAF willnever fail to boot due to bad XML data. If something's wrong, NAF will ignore it and move on.

-Instant Scenes:NAF does not require any time to lock actors. It caninstantlypull actors out of whatever they're doing and into a scene.

-Perfect Sync System: NAF's perfect sync system can flawlessly synchronize animations between any races by directly altering the current animation time. Meaningperfectly synchronized animations, no matter the circ*mstance.

-Adjustable Scene Animation Speed: You no longer need to create entirely different animations for different animation speeds. NAF canadjust a scene's animation speed in real-timewith the click of a button.

-Compatible with Existing Animation Packs:NAF is designed so thatanimation packs made for AAF can be dropped into NAF and used seamlessly. Copy your XML files into the Data\NAF directory and they'll just work. NAF can currently understand the following XML data types:animationData, raceData, positionData, morphSetData, equipmentSetData, actionData, animationGroupData, furnitureData, positionTreeData and tagData. NAF also adds its own faceAnim XML type.

-Built-In LooksMenu Patch:NAF automatically patches LooksMenu to fix the morphs issue in v1.6.20, making morphs work without issue every time.

-Multi-Threaded Performance:NAF makes use of multithreading to greatly speed up certain operations. It can scan theentire loaded areafor actors & furniture within less than 10ms.

Animation Studio

Native Animation Framework (NAF) (1)



NAF's animation studio allows you to create full-body animations in the same place where they'll end up - in-game. It has full support for inverse kinematics, motion smoothing, and multi-character animations. To get started with the animation studio, open up the NAF menu and select the "Creator" option, set a name for your project, then create a new body animation & select the option to open it in the animation studio. A full in-depth write-up on all the features & keybinds of the animation studio is available on the wiki.


To configure the HeadPart Morph Patch for your custom face morph, there are 3 settings in NAF.ini that have to be changed (To generate a default NAF.ini, open the NAF menu in-game and go to Settings, then press Apply Settings.)

Values.bHeadPartMorphPatch=false
Values.sHeadPartPatchTriPath=
Values.sHeadPartPatchType=

First, set bHeadPartMorphPatch to true, then set sHeadPartPatchTriPath to the file path of your morph .tri file, starting from the Data/Meshes folder. For example, for a .tri file at Data\Meshes\Actors\Character\CharacterAssets\FaceParts\CustomEyeMorph.tri, you would just putActors\Character\CharacterAssets\FaceParts\CustomEyeMorph.tri. Lastly, set sHeadPartPatchType to the type of headpart that you want to patch. Currently, NAF only supports Eyes and Misc, but other types may be added upon request.

Once all the values are set, save the file and restart the game for the patch to be applied.

ESP-less Animation Packs

To make an ESP-less animation pack, just replace the formattributes in your animationData XML withfile attributes, pointing to the .hkx file path starting from the Data/Meshes folder. i.e., if you have a file at Data/Meshes/MyMod/Animation.hkx, you would just put MyMod/Animation.hkx as the file.

By default, all ESP-less animation packs will use the dyn_ActivationLoop animation event to start the animations. This will work fine for human animations, but different races may require a different animation event. To define this, in a raceData XML, add a startEvent attribute to the corresponding race node.

Also, NAF may not be able to locate the root animation graph for some mod-added races. This may be the case if both the file path and startEvent are correct, but the animation still isn't starting. To define this, in a raceData XML, add a graph attribute to the corresponding race node, with the path to the race's root behavior graph starting from the Data/Meshes folder. For example, for humans the graph isActors\Character\Behaviors\RaiderRootBehavior.hkxFuture Plans

Maxie for information on eye coordinates, morphs and fly cam.
dagobaking for the original AAF which inspired this framework.
Fudgyduff for CommonLibF4.
All the people on the RE discord for their invaluable help.

Native Animation Framework (NAF) (2024)

References

Top Articles
Latest Posts
Article information

Author: Arielle Torp

Last Updated:

Views: 6547

Rating: 4 / 5 (61 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Arielle Torp

Birthday: 1997-09-20

Address: 87313 Erdman Vista, North Dustinborough, WA 37563

Phone: +97216742823598

Job: Central Technology Officer

Hobby: Taekwondo, Macrame, Foreign language learning, Kite flying, Cooking, Skiing, Computer programming

Introduction: My name is Arielle Torp, I am a comfortable, kind, zealous, lovely, jolly, colorful, adventurous person who loves writing and wants to share my knowledge and understanding with you.