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

Add scalar track support in database streaming #409

Open
EAirPeter opened this issue Apr 15, 2022 · 2 comments
Open

Add scalar track support in database streaming #409

EAirPeter opened this issue Apr 15, 2022 · 2 comments
Milestone

Comments

@EAirPeter
Copy link

Hi,

Database streaming is a super great idea. But I noticed that it does not support scalar tracks yet. Is there any plan for supporting scalar tracks?

Here is a scenario which might need that feature: Humanoid Animation. It basically stores bone transforms as muscle curves (tilt, twist, turn, etc.), which are scalar tracks. With the current version of ACL, we are unable to stream these humanoid animations with the database concept.

Hopefully we can get ACL support this usage.

Thank you.

@nfrechette
Copy link
Owner

Hello and thank you for using ACL!

That is indeed a great use case. Another common one is to have blend shape weights animated along with gameplay parameters. The former might only be needed on higher end devices or depending on LOD but gameplay curves must always be present.

The truth is, scalar tracks haven't had as much love as joint tracks. They aren't contributing as much to the memory footprint (usually). As a result, they lack quite a few features. I do plan to have both at feature parity someday but not in the near term.

For scalar track database support specifically, I need to introduce segmenting first (which joints have long supported). The database optimization process is an O(N^2) algorithm and it does not scale with longer animations. Segmenting helps ensure a 32 key frame upper bound which keeps this fast and usable.

All of this is on my roadmap but not for v2.1 which I hope to release this year. Most of the big features have been completed for it and the prior release was a long time ago now so I don't want to include more things than currently scheduled. The next release, v2.2, will contain a lot of database improvements. Depending on my velocity, I may opt to include scalar track improvements in that release as well. I'll schedule this there for now, but that release won't be official until the 2023-2024 time frame even if that particular feature is implemented before that in the develop branch.

@nfrechette nfrechette added this to the v2.2 milestone Apr 15, 2022
@nfrechette nfrechette changed the title Scalar track support in database streaming? Add scalar track support in database streaming Apr 15, 2022
@EAirPeter
Copy link
Author

Thank you for your attention! Looking forward to this.

@nfrechette nfrechette modified the milestones: v2.2, v3.0 Dec 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants