- Home /
Moving gameobject with animation according to my script
I am developing a game with Unity3D with an horizontal list of elements which you can move with arrows. Here you can see an example:
I have created animations in order to modify the alpha value of the elements and to move them according to my script:
void Update () {
if (managePositionInUpdate) {
transform.position = Camera.main.ScreenToWorldPoint (new Vector3 (Screen.width * positionX, Screen.height * positionY, 10));
}
}
In my animation, the alpha value of the centered element is initially 1 and after the animation the alpha value is 0.5, this works correctly; however, in this animation I have also put positionX of my script initially with a value A, and after the animation with a value B, and this doesn't work correctly.
I have tested the code and it works correctly without animation, but I can't get it works according to my animation. What can I do? I have read about apply root motion but It also doesn't work for me.
The answer was here: http://answers.unity3d.com/questions/194798/scripting-animated-variables.html
Animations always "take over" the control of the animated value (position / rotation / or a script value) because it always sets the value to an absolute value. However you still can affect the value but you have to decide what's the better solution in your case:
Use LateUpdate() to modify the value. $$anonymous$$odify means you just scale the actual value ins$$anonymous$$d of setting it to a new value. In LateUpdate all animation components have applied their values for thi frame and you can "overwrite" the value as you need it. For a single value animation you can use an [AnimationCurve][2] and [sample][3] it yourself in Update, scale / modify the sampled value and assign it yourself.
http://unity3d.com/support/documentation/ScriptReference/$$anonymous$$onoBehaviour.LateUpdate.html [2]: http://unity3d.com/support/documentation/ScriptReference/AnimationCurve.html [3]: http://unity3d.com/support/documentation/ScriptReference/AnimationCurve.Evaluate.html
Your answer
Follow this Question
Related Questions
HOW i SOLVE ROOT MOTION PROBLEM WITH ANIMATIONS MADE IN UNITY 0 Answers
Problem to play animation in C# 5 Answers
Controlling an animation by dragging a gameObject with the mouse 0 Answers
Distribute terrain in zones 3 Answers
Multiple Cars not working 1 Answer