Hey all, now I’m working on a animations synchronization system (like motion matching from Ubisoft).
The main thing of my system it’s getting weights of all animations from animation curves (all anims has unic “constant” curve, value = 1). Animation who has maximum curve value - is a leader anim, and for it all others anims are synchronized by foots bone position of leader animation.
But i have a problem: for optimization purposes i dont calculate goal time for fallower anims if his weights = 0. but if in next frame this curve value be > 0, skeleton has little bit shaking for one frame (because the “true” weight of anim in animGraph is > 0, but anim curve value of same anim still = 0, and this fallower animation has wrong goal time. (because anim curves calculated after animGraph evaluation)).
I need to “predict” animCurves values before animGraph is completely updated.
Similar situation in foot slide compensation system, this works with 1 frame lag, because i cant predict bone transforms and correct positions instantly…
Any ideas? How possible get new curves, transforms before animGraph is updated, and use this data to make “correctives” in final animGraph condition? I think I will need to create custom AnimInstance in c++, but I’m not a programmer:(. All logic i created in blueprints.
i found the great info about anim system Mapping Out The UE4 Animation Architecture Flow · GitHub
Sorry for my English.