Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement AAS syncing shit. #6

Open
NotAKidOnSteam opened this issue Jul 25, 2023 · 0 comments
Open

Implement AAS syncing shit. #6

NotAKidOnSteam opened this issue Jul 25, 2023 · 0 comments
Labels
enhancement New feature or request

Comments

@NotAKidOnSteam
Copy link
Owner

NotAKidOnSteam commented Jul 25, 2023

AAS Syncing is funky :kzDanceVibeHappy:

It'll get the list from the animator. Anything without the # prefix is considered a synced parameter. It will sync over the network as the type it is in the animator, not what is selected in your AAS list. Every 0.1s a check is done locally to check a flag and see if anything changed/is in need of syncing, and every 2s the flag to trigger AAS sync is set to true anyways likely as redundancy.

When syncing, it does not use the current value in the animator, but instead, what is cached in the local AAS buffers. This means a parameter that does not have # and is not changed in a way that applies to the buffers won't sync changes to remotes. CVRAnimatorDriver, CVRTriggers, the AAS menus, etc. will set the animator parameter as well as write to the buffers for the next sync.

This means a parameter that is animated via animation clip that does not have the local # prefix won't sync to remotes, despite being a networked parameter, as it wasn't set in a way that also set the buffered values for syncing. There is also a check to see if any parameter is controlled by a curve anyways before applying, so should still be ignored, but I have not tested it.

When AAS syncing occurs, it will sync all parameters- not just the ones that changed. As stated above, the syncing will only occur if a parameter was changed or when the changed flag is forced set every 2s. You can write changes to sync every 0.1s but is guaranteed to happen every 2.1s.

@NotAKidOnSteam NotAKidOnSteam added the enhancement New feature or request label Aug 10, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Development

No branches or pull requests

1 participant