Snapdragon_ Posted January 9, 2023 Posted January 9, 2023 AAF NativeSync View File What does this do? By default, AAF uses Papyrus to play animations on multiple characters at once. However, due to Papyrus lag, this can result in a noticeable desync between the characters, where one lags behind the other. NativeSync corrects this issue. An animation from BP70's pack, played using AAF v166 in a game install with ~200 mods: Spoiler papyrus_sync.mp4 The same animation in the same game install, but with NativeSync turned on: Spoiler native_sync.mp4 How does it work? NativeSync is an F4SE plugin that takes in a list of idles and actors, and plays those idles in sync as precisely as the game engine will allow. NativeSync comes with an edited AAF_MainQuestScript file to automatically integrate into AAF animations. NativeSync also includes a fix for the vanilla bug that causes creatures to get stuck in animations after an AAF scene ends. The sync should be perfect on all human animations. Creature animations don't work the same way as human animations, so it may be hit-or-miss on non-human races. Requirements - F4SE - Address Library for F4SE Plugins - AAF (Must be version 166) Credits - Ryan-rsm-McKenzie for CommonLibF4 - dagoba_king for AAF - F4SE Team for F4SE Other Links Ko-Fi Discord for my Fallout 4 Mods Submitter Snapdragon_ Submitted 01/09/2023 Category Framework & Resources Requires F4SE, Address Library for F4SE Plugins, AAF 14
vaultbait Posted January 9, 2023 Posted January 9, 2023 (edited) This is a really cool idea! My only concern is that you don't mention whether permission was obtained from the AAF author in order to redistribute a modified copy of one of its scripts (nor mention them in the credits). Quote The sync should be near-perfect most of the time, but due to the game having to load animation data from disk, there may be some unavoidable desync the first time an idle is played. Switching to a different AAF position then back to the first one will resolve that issue. Could something like Buffout 4's file cache be used to preload these at game start, in order to mitigate this? Edited January 9, 2023 by vaultbait
kziitd Posted January 9, 2023 Posted January 9, 2023 I used SEU to test several animation trees of the automatic stage at a place where many real lights and textures were loaded. In the past, it was easy for the automatic stage switch to be out of sync due to the decline of fps. This time, all stages were synchronized Based on the fact that I chose the place most likely to have problems and the test results are good It shows its claimed functions, and I think it has succeeded 3
lee3310 Posted January 9, 2023 Posted January 9, 2023 Thank you so much for making it public, (i will test it extensively ?) 2
Deadpoolkitty Posted January 9, 2023 Posted January 9, 2023 What makes the movement look like that ? is it a shader or a mod? sorry it just looks nice and wanted to know what it is
Dlinny_Lag Posted January 9, 2023 Posted January 9, 2023 (edited) 3 hours ago, Deadpoolkitty said: What makes the movement look like that ? is it a shader or a mod? If you will take a look to the differences in AAF_MainQuestScript.psc then you will found that loop over actors (that initiates animations of actors) replaced by single native function call. Papyrus code (including code inside loops) might be executed with noticeable delay between two statements, so animation for the second actor might start a bit (a few frames) later than for the first actor. Single native function call allows to start all animations at same frame and this eliminates delay. Well done, @Snapdragon_. Thanks. Edited January 9, 2023 by Dlinny_Lag 2
Dlinny_Lag Posted January 9, 2023 Posted January 9, 2023 (edited) 7 hours ago, Snapdragon_ said: due to the game having to load animation data from disk, there may be some unavoidable desync It can be, potentionally, avoided. I'm not sure about available API in CommonLibF4, but making your function "latent" (I would prefer to name it async) migth allow to "await" for of all animations loading finish, start them at same frame and then return control to Papyrus script. Edited January 9, 2023 by Dlinny_Lag 1
Snapdragon_ Posted January 9, 2023 Author Posted January 9, 2023 (edited) On 1/9/2023 at 7:48 AM, vaultbait said: My only concern is that you don't mention whether permission was obtained from the AAF author in order to redistribute a modified copy of one of its scripts (nor mention them in the credits). I've amended the credits and pinged dagoba on Discord to make sure he's okay with it. (Dagoba's Response): Spoiler On 1/9/2023 at 7:48 AM, vaultbait said: Could something like Buffout 4's file cache be used to preload these at game start, in order to mitigate this? The game has its own system for caching idles, but the functions for that haven't been found by anyone yet. On 1/9/2023 at 11:20 AM, Deadpoolkitty said: What makes the movement look like that ? is it a shader or a mod? sorry it just looks nice and wanted to know what it is If you mean the motion blur, it's a reshade shader called LinearMotionBlur. On 1/9/2023 at 3:08 PM, Dlinny_Lag said: It can be, potentionally, avoided. I'm not sure about available API in CommonLibF4, but making your function "latent" (I would prefer to name it async) migth allow to "await" for of all animations loading finish, start them at same frame and then return control to Papyrus script. The function is indeed currently marked as latent. I think the solution to the issue would be to hook into the game's idle cache system and wait for the 'loaded' event, but no one has found the offsets for that system yet. Edited January 21, 2023 by Snapdragon_ 4
ookkerpak Posted January 15, 2023 Posted January 15, 2023 Thank you. The fix works great. I've been annoyed with the lag for a long time. Ever since I discovered tfc console command, I think. I vote for this to become a part of AAF itself. 1
Cookiemonsta234 Posted January 16, 2023 Posted January 16, 2023 Motion blur is awesome Fallout 4 2023.01.09 - 15.35.16.04.mp4 1
Futaholica666 Posted January 23, 2023 Posted January 23, 2023 my game crashes ever since ive installed this
Snapdragon_ Posted January 23, 2023 Author Posted January 23, 2023 2 hours ago, ShyGirlDanceParty said: my game crashes ever since ive installed this Could you provide a crash log from Buffout 4? (Buffout 4 information can be found in the AAF setup guide.) Also check the NativeSync.log file in [User]\Documents\My Games\Fallout4\F4SE
Futaholica666 Posted January 23, 2023 Posted January 23, 2023 31 minutes ago, Snapdragon_ said: Could you provide a crash log from Buffout 4? (Buffout 4 information can be found in the AAF setup guide.) Also check the NativeSync.log file in [User]\Documents\My Games\Fallout4\F4SE [01/22/2023 - 19:51:21] [info] NativeSync v1.0.0 [01/22/2023 - 19:51:21] [info] NativeSync loaded. [01/22/2023 - 19:51:21] [info] Successfully registered Papyrus functions. this is what the log says, ill try the buffout in a bit
Futaholica666 Posted January 23, 2023 Posted January 23, 2023 1 hour ago, Snapdragon_ said: Could you provide a crash log from Buffout 4? (Buffout 4 information can be found in the AAF setup guide.) Also check the NativeSync.log file in [User]\Documents\My Games\Fallout4\F4SE E:\Repos\f4se\Buffout4\src\main.cpp(70): [info] Buffout4 v1.26.2 this is what my log says
Snapdragon_ Posted January 23, 2023 Author Posted January 23, 2023 1 hour ago, ShyGirlDanceParty said: E:\Repos\f4se\Buffout4\src\main.cpp(70): [info] Buffout4 v1.26.2 this is what my log says There should be a separate log that Buffout 4 produced after the game crashed named crash-[date-time].log
Futaholica666 Posted January 23, 2023 Posted January 23, 2023 12 hours ago, Snapdragon_ said: There should be a separate log that Buffout 4 produced after the game crashed named crash-[date-time].log i didnt get that, i installed everything correctly aswell, weird
vaultbait Posted January 23, 2023 Posted January 23, 2023 1 hour ago, ShyGirlDanceParty said: i didnt get that, i installed everything correctly aswell, weird If your game crashed and there was no crash log created in the F4SE logs directory, then it's likely something's not installed correctly. Check the f4se.log and make sure it doesn't mention a failure to load any DLLs.
Futaholica666 Posted January 26, 2023 Posted January 26, 2023 On 1/23/2023 at 3:08 PM, vaultbait said: If your game crashed and there was no crash log created in the F4SE logs directory, then it's likely something's not installed correctly. Check the f4se.log and make sure it doesn't mention a failure to load any DLLs. it says it loaded correctly
vaultbait Posted January 26, 2023 Posted January 26, 2023 7 hours ago, ShyGirlDanceParty said: it says it loaded correctly In that case, check the Buffout4.log and make sure it doesn't mention some problem which might have resulted in it being unable to generate the crash report. If things are okay with Buffout4 you would normally only see a single line in the log like this: E:\Repos\f4se\Buffout4\src\main.cpp(70): [info] Buffout4 v1.26.2
Futaholica666 Posted January 28, 2023 Posted January 28, 2023 On 1/26/2023 at 7:38 AM, vaultbait said: In that case, check the Buffout4.log and make sure it doesn't mention some problem which might have resulted in it being unable to generate the crash report. If things are okay with Buffout4 you would normally only see a single line in the log like this: E:\Repos\f4se\Buffout4\src\main.cpp(70): [info] Buffout4 v1.26.2 thats what it says aswell
vaultbait Posted January 28, 2023 Posted January 28, 2023 (edited) 5 hours ago, ShyGirlDanceParty said: thats what it says aswell How early is the crash occurring? If it's during game startup, maybe you're missing the Plugin Preloader? Otherwise I'm baffled how you could get a crash to desktop with working Buffout 4 and not have a crashlog file. Or maybe "my game crashes" means something to you other than a spontaneous exit of the game engine throwing you back to the desktop? Are you using the latest F4SE version (0.6.23) with the latest version of the Fallout 4 game engine (1.10.163)? And it's not a pirated copy of the game, hopefully? Edited January 28, 2023 by vaultbait
Futaholica666 Posted January 29, 2023 Posted January 29, 2023 18 hours ago, vaultbait said: How early is the crash occurring? If it's during game startup, maybe you're missing the Plugin Preloader? Otherwise I'm baffled how you could get a crash to desktop with working Buffout 4 and not have a crashlog file. Or maybe "my game crashes" means something to you other than a spontaneous exit of the game engine throwing you back to the desktop? Are you using the latest F4SE version (0.6.23) with the latest version of the Fallout 4 game engine (1.10.163)? And it's not a pirated copy of the game, hopefully? yup, did all it asked me to, its a legit copy and up to date, even installed that microsoft stuff that the plugin preloader said to, the game crashes when i load in. like if i start a new game its fine but once im done making a character and aaf is gonna start, it crashes
Snapdragon_ Posted January 30, 2023 Author Posted January 30, 2023 (edited) 18 hours ago, ShyGirlDanceParty said: yup, did all it asked me to, its a legit copy and up to date, even installed that microsoft stuff that the plugin preloader said to, the game crashes when i load in. like if i start a new game its fine but once im done making a character and aaf is gonna start, it crashes Do you have Gender-Specific Skeletons installed? That mod is known to cause a crash when creating a new game. There's nothing in NativeSync that initializes on new game/loading a save. It only does stuff when an animation is played through AAF. Edited January 30, 2023 by Snapdragon_
Futaholica666 Posted February 3, 2023 Posted February 3, 2023 On 1/29/2023 at 6:36 PM, Snapdragon_ said: Do you have Gender-Specific Skeletons installed? That mod is known to cause a crash when creating a new game. There's nothing in NativeSync that initializes on new game/loading a save. It only does stuff when an animation is played through AAF. even when i load my old save it doesnt work, just crashes
lee3310 Posted February 8, 2023 Posted February 8, 2023 (edited) PlaySyncedIdles() is so fast, that actors don't even have time to get undressed before the idle starts playing ? Edited February 8, 2023 by lee3310
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now