Anim Transaction Curve Blend problem
Hello guys, Recently been trying to make an Animation System which working with some Animation Curves (Distance, Pivot etc..) And my problem is the next: Let's say I want to move from Moving(start state) to the Stop(desination state) state with a 0.2 transition time. The Stop state's animation will have a Curve called: Distance (which will start from -400 and goes to 0) The problem with this solution is the 0.2 transition time, as its will try to Blend the Curve values by their own weight. ex.: [Moving] state do not have a Curve called Distance (so basicaly it's value is ZERO (0);;; The [Stop] state's distance Curve however will start from -400 and will go to 0 (like when you stop, you want step a few more steps, and 'push' your character). BUT the problem is starting from here. The state machine will try to blend these curves at the transition by their own weight: So when you already left the [Move] state, you want to transmit to [Stop] at first the weight of the [Stop] will be zero and just after the transmition's time will be 100%. This will cause the curves to be blended together when I don't want them to be blended.
Left [Move]: (sec 0):
Move weight: 100% Stop weight: 0%
So my curves will be ZERO here
Left [Move]: (sec 0.1)
Move weight: 50% Stop weight: 50%
My curves at 100% is 400, so at 50% its will be 200, and WILL just this much in an instant, which will cause stupid things.
So somehow I just want use the destination state's anim curve, and do not want them to be blended together with the start(from) state.
Hullo! I'm guessing you're recreating the Reverse Root Motion concept described by the Paragon animation guys--me too!
Ran into that problem as well and the solution is slightly unfortunate...
Those metadata curves you're using that exist in the anim asset--try copying them into Float Curve Assets and read the data from there. The copying-over is a bit of a hassle, but it's a clean solution and I don't see it being significantly more expensive than the metadata setup. (Best of all, no blends to worry about here!)
If that's the way you want to go, I saw a useful tool on the marketplace for extracting root motion data that might speed up the process: https://www.unrealengine.com/marketplace/root-motion-extractor
Best of luck!
answered May 04 '18 at 07:45 PM
Follow this question
Once you sign in you will be able to subscribe for any updates here