yeah, twitch keeps it available
I believe so, they seem to want to include that on the engine. but isn't any time soon, sadly. Please someone correct me if I'm wrong
Thank you.
One more question then, because I don't think it was asked on stream.
Is the animation prediction also going to be added into main branch ? IT's really brilliant how it get rid of root motion for movement, and would also be super usefull.
You said that you use the distance curve in your animation to do a kind of inverse root motion, where the curve dictates the animation frame. That being said, how do you find the proper spot on the curve? You take the distance from your dropped pivot and... iterate over the entire curve until you find the right spot?
I also have the same doubt, how do you find the proper spot on the curve? I mean, how do you calculate the Explicit Time that you use to Evaluate the animation sequences ??
We do a binary search on the distance curve. We have several assumptions:
1) a key per frame of animation.
2) linear interpolation in between keys, just like animation.
3) distance curve values are in increasing order.
4) we don't have duplicate values, except for the stop transition when it reaches zero.
Laurent "SenorZorro" Delayen
Senior Gameplay Programmer
Epic Games
Thanks for the info! Of course, this brings up the question if there is some function not currently available in the public engine that allows getting arbitrary values in the curve? In my engine all I can is get the value at the current frame.
Originally posted by [EPIC] Laurent DelayenView Post
We do a binary search on the distance curve...
Hi @LDelayen,
Thanks again for sharing those with us !
Help me to clarify things a little bit please.
So, You loop from 0 to animation-time-length and using float Value = FRichCurve::Eval(float Time) to evaluate the curve and get the value. When Value is equal to your current capsule rotation (for example, assuming that we are doing this for the turn animation) then you finish the search and evaluate the anim sequence using that Time.
This is the idea ? and you do this inside the Tick ? is not a problem in term of consuming CPU or the binary search algorithm is enough to find very quickly the value ?
Comment