FORUMS: list search recent posts

referencing from a lower comp - copied comp

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Kari Pieskä
referencing from a lower comp - copied comp
on May 10, 2013 at 11:38:49 am

example:
I have a bird_comp. Inside it there is a wing_comp and inside it I have feathers 1, 2 and 3.

I make an null object to bird_comp and add expression control > angle control into it.

I make an expression to wing_comp's rotate value and connect this to angle control.

I make expression to rotate value on the feathers, connect them to the angle control and give each a different multiply: f.ex. 1.2, 1.3 and 1.4.

Now the angle control controls the wing and the feathers nicely and I have a rigged character called bird1.

Problem:
I make a scene and I want to use this bird multiple times. I copy this bird1 and make a bird 2 to be used on a different shot on the same scene, but the expression doesn't work anymore. The expression in the feathers on bird 2 is still connected to bird1's angle control. So the angle control on bird 2 is rotating only the wing_comp on bird 2, not the feathers.

I could bring the feathers to the main level to remove the need for the wing_comp and it would work.

But I want to use comps for clarity and keep the project optimized. So, how can I do it in such a way that anybody could duplicate this character and use it on multiple shots?


Return to posts index

Dan Ebberts
Re: referencing from a lower comp - copied comp
on May 10, 2013 at 3:31:13 pm

You're not going to be able to have a precomp that renders differently, depending on which comp it's nested in. So you'd have to duplicate the outer and inner comps. With clever naming, you can make it so the expressions in the new inner comp automatically link to the new outer comp.

For example, say your outer comp was named "bird_comp 1" and your feather comps were named "feather1 1", "feather2 1" and "feather3 1". Then expressions in the feather comp could deduce the name of the corresponding outer comp like this:

comp("bird_comp " + thisComp.name.split(" ")[1]).layer("Null 1").effect("Angle Control")("Angle")

After you set it up like this, you would first duplicate the outer comp, which would automatically get named "bird_comp 2". Then when you duplicate the feather comps, they would be automatically named "feather1 2", etc, and the expressions would be looking for "bird_comp 2".


Dan



Return to posts index

Kari Pieskä
Re: referencing from a lower comp - copied comp
on May 13, 2013 at 7:33:26 am

This made things a lot clearer for me, thank you.

Now I know I haven't overlooked anything, it just doesn't work that way.

Thanks for this clever naming idea. If I understood correctly, I'd still have to copy more comps than just the main comp. So, I can't use it.

I'm just going to do it the way I'm sure it works. I'll put everything to the same level and keep on working untill I can do it some other way.

Thank you!


Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2018 CreativeCOW.net All Rights Reserved
[TOP]