Activity › Forums › Adobe After Effects › Parenting layers for short amounts of time?
-
Parenting layers for short amounts of time?
Posted by Daniel Haskett on November 16, 2007 at 6:56 pmHi there
basicalyl i was wondering, say you have a hand moving around, is it possible to parent various layers to this hand, but at different times, so that they move with it at only when they are meant to and then stop?
i was wondering if there was maybe a way of doing this with expressions and markers?
i know that i could cut the layer in half, and then unparent the second layer….but i just wondered if there was any other way of doing it?
thanks in advance!
dan
Kevin Camp replied 18 years, 5 months ago 7 Members · 14 Replies -
14 Replies
-
Steve Roberts
November 16, 2007 at 7:42 pmYep. Not out of the box.
You could search the COW for “dynamic parenting” and check the Expressions COW or http://www.aenhancers.com .
-
Kevin Camp
November 16, 2007 at 7:47 pmyou can’t access modes or switches parameters with expressions, is assume the same holds true for parenting. you could with scripts, but that won’t help in animating a property.
you could, however, use expressions to link the necessary parameters (like position, scale, etc) those of the ‘hand’ layer. then those expressions can then be manipulated by markers or keyframes (i think i would use markers, unless you needed separate control over say scale, position and rotation).
Kevin Camp
Designer – KCPQ, KMYQ & KRCW -
Eric Barker
November 16, 2007 at 9:36 pmI hate to say it, but asking for dynamic parenting is sorta like asking for a BASIC-style “goto” fuction in the next version of “C++”. Dynamic parenting is nothing more than a work-around for bad setup. Don’t get me wrong, I’ve been there too, and thought, “jeeze I wish I could just switch off my parenting right here”. But usually I realize that I wouldn’t be thinking like that if I had setup my project better ahead of time, or approached it from a more streamlined perspective.
After Effects is a programming language, in a sense (and I’m not just talking about scripting). It’s graphical, and it’s not setup like most formal languages, but it requires the same thought processes and skills. But it also suffers from the same “bad programming” pitfalls. I can’t really think of an instance in which dynamic parenting would seriously jeapordize the integrity of a project. And I can’t think of an instance in which the same things couldn’t be accomplished by a better, more streamlined method.
This is not to rag on you, but simply an explanation as to why it likely will never happen.
-
Malcolm Desoto
November 16, 2007 at 11:33 pmsimple alternative: just split the layer that you are parenting it too?
Crude, but it may work for what you’re doing.
-
Tim Kolb
November 17, 2007 at 3:51 pmThis was what I was thinking about as I was reading the thread…it’s not dynamic parenting, but it would get the job done…two layers of the “hand” both doing duplicate movements when they need to, then go with the unparented hand layer when you wish the visual relationship to “break”.
TimK,
Director, Consultant
Kolb Productions,Creative Cow Host,
Author/Trainer
http://www.focalpress.com
http://www.classondemand.net -
Austin Reeves
November 19, 2007 at 5:16 amWell if you’re talking in your example about a hand moving objects around on a desk, for instance, I would suggest this:
-Add Checkbox expression control to object in question.
-expression in onj pos that basically says “if checkbox true, pos=hand.pos; else value” value being the original position.
-you would need to see a keyframe where you wanted the object to begin and end, but when you toggled the checkbox ON, it would follow the hand, ie, it was picked up.That make any sense at all? I’m tired lol.
Austin
-
Daniel Haskett
November 19, 2007 at 10:41 amHey Austin,
This idea sounds very good, and i understand what you mean, im just not so hot with expressions that i can write it myself. trying to learn to…..but what would you put in the pos property of the object instead that would mean
“if checkbox true, pos=hand.pos; else value”
cheers
dan
-
Kevin Camp
November 19, 2007 at 3:54 pmit could be something like this:
target = thisComp.layer(“Hand”).transform.position;
a = effect(“Checkbox Control”)(“Checkbox”);
if (a == true) {
target;
} else {
value;
}you can change the ‘target’ or ‘a’ variables by selecting the text after the = and using the pick whip to link them to other layers or layer parameters.
Kevin Camp
Designer – KCPQ, KMYQ & KRCW -
Daniel Haskett
November 19, 2007 at 6:37 pmThe only problem with this is that when the checkbox is turned off, the layer goes back to its position where it would be if the expression were not on….i need it so that it would drop off in the position it is at while moving, not jump back to another position…
so its like a hand picks it up and then drops it somewhere else and then the hand keeps moving….
does that make sense?
cheers
dan
-
Kevin Camp
November 19, 2007 at 7:26 pmthe easy way (well easy if you don’t want to write a few more if/else statements), is to add a keyframe for the position of the layer at the point where you want the layer to be ‘picked up’. then add another keyframe with the position where you want the layer to be ‘dropped off’.
you can copy and paste the positions directly from the hand position.
Kevin Camp
Designer – KCPQ, KMYQ & KRCW
Reply to this Discussion! Login or Sign Up