2 items

File information

Last updated

Original upload

Created by

Snapdragon

Uploaded by

Snapdragon2

Virus scan

Safe to use

211 comments

  1. GEvans1487
    GEvans1487
    • member
    • 0 kudos
    What does it mean when the actor is still wearing clothing during the animation?   The animations otherwise play - but they're fully clothed?  I am running the "Playable NPC Clothings" as well.  
    1. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      This mod doesn't interact with actor equipment, it simply plays and blends animations. You may be thinking of a different mod.
    2. GEvans1487
      GEvans1487
      • member
      • 0 kudos
      Thanks for the reply, and the mod!  It works great!  No issues installing or running it - at all.   I would like to find a way to somehow automate the process without hopping into the console each time.   I think macros and hotkeys might be a partial solution, but. . .   I'm not very good at this modding stuff.  So I'll probably have to wait and see what others may or may not create.   Once again, thanks for the reply and the mod!
  2. Deathlord08754
    Deathlord08754
    • member
    • 0 kudos
    one question howdo i install this programm i am a newby with mod install i get in game only a text message that something is happening and nothing happens after that
    1. Deathlord08754
      Deathlord08754
      • member
      • 0 kudos
      i just get the message in the console NAF not found when i search for it
    2. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      I would recommend installing this mod with one of the commonly used mod managers: Vortex or Mod Organizer 2. Once it's installed along with the requirements, launch the game with sfse_loader.exe to start it with SFSE mods enabled.
  3. BadSquirrel
    BadSquirrel
    • member
    • 7 kudos
    Hey Snapdragon, awesome framework you built here. I played around with it a little and it works great.
    I found some little things that would round it off really well in my opinion:

    • A response (false/status code as int) from PlayAnimation()/StartSequence() to be able to tell if the animation failed to play (e.g. because the .glb file is missing).
    • A function to check if a specific .glb file is installed. (This would be very helpful since we can’t check that through papyrus.) Kind of makes the idea above obsolete but would be nice to have one of the two or both. :D
    • A function that returns all available animations (.glb files). (Again because this can’t be done in papyrus.)
    • A function e.g. IsInstalled() or GetVersion() that always returns true/version number as a proper way to check whether NAF is installed or not.

    Anyways thanks for this awesome mod and keep up the great work!
    1. Squirrel97
      Squirrel97
      • premium
      • 133 kudos
      Oh look, a fellow squirrel. Nice to meet ya.
      Agreed that Snapdragon's work is awesome!
    2. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      Hey, thanks, glad you like the mod ^^
      On the suggestions, there are some technical challenges which would prevent some of them from working:

      #1 is not fully possible atm, due to multi-threading. When a script calls the PlayAnimation()/StartSequence() function, NAF lets its internal file manager know that actor A wants animation file B. Then, when it can get around to it, the file manager's worker thread attempts to load animation file B, and lets actor A know whether it was able to load it or not. It's set up this way to avoid hitches when waiting on the disk. I can work around this by making PlayAnimation()/StartSequence() latent, but script functions can't be safely made latent until SFSE adds co-save serialization (otherwise there's a risk of the Papyrus stack getting permanently frozen.)

      Although, when using StartSequence(), you can register for the PhaseBegin event to know when an animation file has finished loading and begun playing. If the file fails to load, then the SequenceEnd event will trigger instead.

      #2 and #3 are possible, will try to add those in some form. (In relation to #1, I could make PlayAnimation()/StartSequence() return true/false based on a simple "file exists" check, but in that case a value of true won't neccesarily guarentee the animation will play, as the file may contain malformed data.)

      For #4, NAF can't really provide an IsInstalled() function itself, because if the NAF .pex file and/or .dll file is not installed, then the mod attempting to call NAF.IsInstalled() will error out and not execute anything after that call. GetVersion() can definitely be done though.
    3. BadSquirrel
      BadSquirrel
      • member
      • 7 kudos
      Thanks for the reply. I have some further remarks:
       
      #1 Thanks for the explanation. You made me realize that I can just check if I receive the PhaseBegin event the correct number of times (once for each phase) and if I receive a SequenceEnd event before that I will know something went wrong and can handle the error. Also I can just always use sequences instead of PlayAnimation() so there is really no need for this to be implemented.
       
      Not really necessary but you could add a PhaseFailed/SequenceFailed event that fires before SequenceEnd if an animation failed to play. (So lazy people like me don’t need to count PhaseBegin events. ;p)
       
      #2
      / #3 Would be greatly appreciated. In my opinion a check if the file exists should suffice as it’s highly unlikely, that a user would have a corrupt .glb file in the NAF directory.
       
      #4 Yes this should be totally possible! I tested it by calling GetSequencePhase() on the player. I’m happy to report that papyrus handles perfectly well if either NAF or SFSE (or both) are not installed. It returns “None”, throws an error but keeps executing.
       
      So, by adding something like this to NAF.pex, we (other modders) could determine if NAF is installed and if SFSE is installed by simply calling NAF.isInstalled(). (There is the edge case where NAF.pex is installed but NAF.dll is not, but this is highly unlikely to occur.)

      ; Checks if NAF and it's dependency SFSE are installed. Returns:
      ; None => NAF.pex (this script) is missing
      ; false => NAF.pex is installed but SFSE or NAF.dll are missing
      ; true => NAF.pex, NAF.dll and SFSE are installed
      bool Function IsInstalled() Global
      If (IsSFSEInstalled())
        Return true
      Else
        Return false
      EndIf
      EndFunction
       
      ; Utility function. Call IsInstalled() instead.
      bool Function IsSFSEInstalled() Native
      "IsSFSEInstalled()" would just need to always return true in your SFSE plugin for this to work.

      This would be awesome as it would allow us to display a Message to the player in game with a specific reason (NAF not installed or SFSE not installed) as to why the mod is not working.
  4. ojasam71
    ojasam71
    • member
    • 0 kudos
    I have been struggling trying to install this mod. I installed it via Vortex, I have the CustomCommandFramework and the SFSE libraries also installed via Vortex. When I am in game the command NAF is not found. I followed the solution where you try to start the game with the sfse_loader.exe instead but it crashes instantly every time I try to load a save, can anyone help?
    1. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      Please install the Trainwreck Crash Logger, which will generate a log at Documents\My Games\Starfield\SFSE\Crashlogs whenever a crash occurs, then upload the contents of the log as a new bug report on the "Bugs" tab of this page.
  5. willomally
    willomally
    • member
    • 0 kudos
    Mod organizer 2 will not install it and can't find instruction on how to manually install any resource on were I can look up instructions.
    1. bannedbystarfield
      bannedbystarfield
      • member
      • 0 kudos
      cancel
    2. bannedbystarfield
      bannedbystarfield
      • member
      • 0 kudos
      for the life of me i cannot get sfse and native animation framework to load in vortex. both files show in the mods but says there a rule conflict. i select naf to load first but when i click save it does nothing
    3. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      For mod manager issues, I'd suggest visiting their respective support forums:
      MO2 Discord
      Vortex Support

      I don't recommend manual installation, and won't be able to provide effective support if something goes wrong with a manual installation, but if absolutely neccesary, you can just drop the contents of the .zip file into your main game folder.
  6. thegrgonzo
    thegrgonzo
    • premium
    • 46 kudos
    A brilliant framework!
  7. New0Nexus02021
    New0Nexus02021
    • premium
    • 0 kudos
    Not a Blender expert here, but how do you make multiple actors in a blend? It seems like I can highlight it all, duplicate it, and move it, but this seems to cause a lot of synchronization errors. I've noticed there's a dotted line for the root, to what makes me believe this has something to do with the alignment. I've tried removing it as a parent, but it makes the actor T-Pose. My only workaround for having more than one actor is to export the .glbs into two separate animations, then call them from a script. Then I go back to Blender and make small adjustments, export, test, make small adjustments, export etc. until the alignment seems close enough.
    1. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      Create a new, empty Blender scene, then go to File -> Append, select the rig .blend file -> Objects, press A to select all objects then press Append. You can do this any number of times to get multiple characters in one Blender scene, then in the NAF Export Helper you can switch between their roots to export each one.

      Note: For actors to align properly in-game, make sure you do not move their root node. You can move the COM node to move them around the scene.
  8. evilladyTR
    evilladyTR
    • member
    • 0 kudos
    ı love this mod thank you so much <3
  9. Rocknroll509
    Rocknroll509
    • member
    • 0 kudos
    Love this mod! Thanks so much for all your hard work Snapdragon. Question: is it possible to export body shapekey animations using morph.dat files from custom body mods such as CRT-Body Mesh or SFF Body Replacer? I know it’s currently possible to animate shapekey animations for the face when importing vanilla morph.dat files for the head mesh into a blender scene using the Blender Geometry bridge, however when trying to export any animated shapekey animations from a morph.dat file pertaining to the body of an aforementioned body replacer mod, the animated shapekeys/morphs don’t seem to work when playing the .glb animation in game. If NAF currently supports shapekey animation exports for a custom body just as it does for vanilla shapekey animations for the face, is there any chance anyone could please explain how? I’m hope I’m making sense! Happy to provide more detail if needed. 
    1. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      Atm it's not possible to animate body morphs. Internally, the game handles face morphs and body morphs very differently - face morphs are automatically re-rendered every frame and are unique to every actor, while body morphs are only re-rendered during character creation and are shared between actors with common appearances.

      There is a way I can make the game update body morphs every frame, but there are potential performance implications with that which I need to look further into.
  10. daedaddy
    daedaddy
    • premium
    • 689 kudos
    are there any known incompatibilities? i experience immediate crash on new game with this mod installed, but theres no log generating to actually send in. obviously im not being helpful but i dont have any other ideas than an incompatible mod.
    1. Snapdragon2
      Snapdragon2
      • premium
      • 273 kudos
      No, there are no known incompatibilities atm. Do you have Trainwreck installed? It should generate a log in the <User>/Documents/My Games/Starfield/SFSE/Crashlogs folder upon a crash.