How to copy/paste animation keys from child to parent (animator)
Hi there unity-developers :) I am working on an animated scene using animator. At the begining I was managing the animation making diferent animation controllers and animations (using animator) for the differents parts of the scene and editing keys on each part. cameras by one side, 3D objects by other side and 2D objects by other side Then with a script I was managing to reproduce all parts together, making each part to reproduce the same animation name. The thing is that it was difficult to accurate the position of the objects on camera because I could not see all objects working together without reproducing the scene. Now I have decided to manage the scene with just one animation controller set on the parent of all this objects. But the problem is that I would like to copy/paste the animator keys of every child to the new parent created and the parent doesn't not recieve the keys well (because of the change of the position of the objects in the hierarchy) Is there anyway to take advantage of all these keys already created on child objects and copy that keys to a parent object without 'generate those missing! on the animation time line. Ore some way to repair that? Or I must animate all again?
Thanks in advance.
Answer by Federico_Russello · Apr 15, 2021 at 09:10 PM
I guess it's too late now, but maybe can be helpful for someone else, since I was looking for the same answer with no luck... I've figured it out a way to copy/paste a set of keyframes from a child to a parent.
Select your keyframes from the child animation and paste them to the parent animation. they all will be yellow at this point with the alert "(Missing!)"
If you click three times on the yellow name you can re-name the object you're animating, at this point you will notice that the "real" name of the keyframed-object follows the hierarchy position, and you will have to add manually the name of the object/s that are now above the child following the hierarchy order, let me explain with an example to be more clear:
you previously animated the "arm" bone of the object "dude", if you click three times on the name of the bone inside the animation panel you will read something like: bones/arm (meaning: the "arm" is child of the object "bones" that is child of the object "dude")
if you copy paste the keyframes from the child to a parent, assuming that "dude" is now direct child of the parent (meaning not parented to any other child of the parent), you have to modify that name to: dude/bones/arm (meaning: the "arm" is child of "bones" that is child of "dude" that is child of the object you're animating now)
I realize it may sound complicated, once you figure it out is actually simple though :) hope it's clear enough to help someone out
Your answer
Follow this Question
Related Questions
Root transform parent not moving with an animated child that uses root motion. 1 Answer
How can I get my animator and rigid body to work together 0 Answers
Animator scripting error C# - Only WalkingRight Movement Animates 0 Answers
Animation needs to be on a place - Climbing animation. 1 Answer
problems with following object while jumping animation,hello 0 Answers