No generate root motion curves button in unity 5.3.5
Hi! I need to make animated menu pads in my game prototype. I've created animation and applied it to my object animators. Everything works except for one thing, all objects move to absolute world coordinates from the animation clip. I know there's root motion to solve this problem, but another problem is that I just don't have this button for some reason. This tutorial says https://unity3d.com/ru/learn/tutorials/topics/animation/authoring-root-motion it should be under the animation inspector right where the Loop Time property goes, but take a look at my screenshots, there is no button like this. And the same thing is with all other animations. Why can this be? P.s. it's Unity 5.3.5f personal
Answer by gualax · Nov 03, 2016 at 06:58 PM
Hi i will answer your question. the problem is that rect transform and transform are not the same and only supports root animation transform control. What you must do is create a new object from the very top of the hierarchy which has the qualities to transform and then you put what you need to anímate as children of that object. And you put the animator in the created object. I hope this helps
Answer by AdmiralThrawn · Aug 13, 2017 at 06:43 PM
Alternatively, you can make use of "Add Behaviour" when you inspect an animation. Just add one Script and Unity will give you a template script with code placed as comments. Just uncomment one of the "OnState..."-methods and use the animator to apply changes to your parent.
public class AfterMoving : StateMachineBehaviour {
// ...
// OnStateExit is called when a transition ends and the state machine finishes evaluating this state
override public void OnStateExit(Animator animator, AnimatorStateInfo stateInfo, int layerIndex)
{
animator.transform.parent.position = animator.transform.position;
}
// ...
}
A related problem with a good solution can be found here: How to make animation position start from last position