LK_AnimParent - Animate layer parent
Posted: Mon Sep 13, 2021 9:56 am
Hey everyone,
This tool allows you to put layers in and out of groups during the animation. Useful for getting character rigs into cars or for putting props into characters hands without the need for duplicate rigs.
Recently we were animating a shot in which a character jump from a floating log onto a boat (youtube link with timestamp) and it was so frustrating to manage the shot that I dived into a way to allow animation of layer-parenting. (Inspired A.Evseeva's script ae_place_layer_in_group, it also uses some of her utilities)
So now we were able to simply animate the rig outside of the log group when its feet get into the air and into the boat group when it lands and it made everything so much easier. You don't need duplicate rigs or layercomps/compositing, and you can simply animate either the log or boat and the characters on it will stay on it (or not, depending on the keys).
Let's say you've got a rig that you want to get into a car. I'd personally would create a car rig with an empty 'driverseat' folder bellow the 'front-art' and above the 'behind-art'. You can then use the tool to put the character inside the 'driverseat' group and it will be inside the car from that frame on. The tool uses the layermarker channel, so you can drag that key if you want to adjust timing. Make sure all your layers have unique names, because the marker's textvalue is being used to put the layer inside that group.
You could also use it on a prop one character is handing over to another character, just make sure you have a correctly bound empty group inside the rigs into which you can put the prop.
It also mods the 'show path' function to make it work with animated parenting. A change of parent is shown by a diamond instead of a square. And some minor improvements: I've tweaked it a bit, it now is camera independant (I will make this optionable later, but in my opinion by default it should ignore the camera) and shows a slightly different color for past/future frames. You can also use play in/play out to only have show a certain framerange instead of the entire document, which can be troublesome on long shots.
Here's the first version of the tool: It only works on layers don't already have a layerscript embedded (because it will add one). And it works best when layer origin is set to 0,0. (I hope to fix this, any help is appreciated!) When parents are squash/stretched it has some issues setting the scale keys so there's an option to favor either x or y scale.
If you're animating multiple layers with this tool, make sure you don't switch parents at the exact same frame, because you'll have trouble rendering. Just have the other layers move into a group 1 frame later and you should be fine.
I fear animating layers like this is might be troublesome at some point because Moho is not built this way, but I hope we'll be able catch all bugs/crashes.
Please let me know how this is working for you! And if you've got some clues on fixing certain things, please don't hesitate to look into it, because I'm in over my head with these matrixes.
This tool allows you to put layers in and out of groups during the animation. Useful for getting character rigs into cars or for putting props into characters hands without the need for duplicate rigs.
Recently we were animating a shot in which a character jump from a floating log onto a boat (youtube link with timestamp) and it was so frustrating to manage the shot that I dived into a way to allow animation of layer-parenting. (Inspired A.Evseeva's script ae_place_layer_in_group, it also uses some of her utilities)
So now we were able to simply animate the rig outside of the log group when its feet get into the air and into the boat group when it lands and it made everything so much easier. You don't need duplicate rigs or layercomps/compositing, and you can simply animate either the log or boat and the characters on it will stay on it (or not, depending on the keys).
Let's say you've got a rig that you want to get into a car. I'd personally would create a car rig with an empty 'driverseat' folder bellow the 'front-art' and above the 'behind-art'. You can then use the tool to put the character inside the 'driverseat' group and it will be inside the car from that frame on. The tool uses the layermarker channel, so you can drag that key if you want to adjust timing. Make sure all your layers have unique names, because the marker's textvalue is being used to put the layer inside that group.
You could also use it on a prop one character is handing over to another character, just make sure you have a correctly bound empty group inside the rigs into which you can put the prop.
It also mods the 'show path' function to make it work with animated parenting. A change of parent is shown by a diamond instead of a square. And some minor improvements: I've tweaked it a bit, it now is camera independant (I will make this optionable later, but in my opinion by default it should ignore the camera) and shows a slightly different color for past/future frames. You can also use play in/play out to only have show a certain framerange instead of the entire document, which can be troublesome on long shots.
Here's the first version of the tool: It only works on layers don't already have a layerscript embedded (because it will add one). And it works best when layer origin is set to 0,0. (I hope to fix this, any help is appreciated!) When parents are squash/stretched it has some issues setting the scale keys so there's an option to favor either x or y scale.
If you're animating multiple layers with this tool, make sure you don't switch parents at the exact same frame, because you'll have trouble rendering. Just have the other layers move into a group 1 frame later and you should be fine.
I fear animating layers like this is might be troublesome at some point because Moho is not built this way, but I hope we'll be able catch all bugs/crashes.
Please let me know how this is working for you! And if you've got some clues on fixing certain things, please don't hesitate to look into it, because I'm in over my head with these matrixes.