Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Parent Shape Within Shape Layer

New Here ,
Jun 05, 2021 Jun 05, 2021

Multiple shapes can be created within shape layers, as we all know. Is it possible to parent an individual shape within the shape layer to another layer without parenting the entire shape layer?

 

Here's what I'm trying to do (see screenshots):

I'm wanting to animate a line with an arrowhead at the end. To accomplish this, I've created a null object to trace the path of the line, and have subsquently pickwhipped a trim path on the line to this tracing null object (this creates the effect that the line is growing). I know I can create the arrowhead in its own shape layer, then parent that shape layer to the null object, but I need to avoid that, as I'm using an inner glow layer style on the line, and these effects clash with one another when the two are in different shape layers (I hope that makes sense).

 

Therefore, I've put the arrowhead in the same shape layer as the line. Is there any way I can parent the arrowhead alone from that shape layer to the trace path null object?

TOPICS
Expressions , FAQ , How to , Performance
1.9K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Community Expert , Jun 06, 2021 Jun 06, 2021

If you add a null, then copy the path you want the arrow to follow and paste that path to the Null's position property setting a keyframe for position and then paste, the null will follow the path. Then you need an expression to tie the rotation of the null to the path. 

 

The arrowhead in your shape layer needs to be at the comp center and pointing to the right. Then you tie the Arrow/Transform Arrow/Position property with an expression that subtracts the comp center from the position of the Nu

...
Translate
Community Expert ,
Jun 06, 2021 Jun 06, 2021

If you add a null, then copy the path you want the arrow to follow and paste that path to the Null's position property setting a keyframe for position and then paste, the null will follow the path. Then you need an expression to tie the rotation of the null to the path. 

 

The arrowhead in your shape layer needs to be at the comp center and pointing to the right. Then you tie the Arrow/Transform Arrow/Position property with an expression that subtracts the comp center from the position of the Null. The last part is really easy, tie the Arrow/Transform/Rotation property to the Null's rotation. 

 

All that is left to do is select the path you want the arrow to follow and add Trim paths to the path and then adjust the timing of the range selector to the timing of the null's position. 

 

Here are the expressions:

// Null/Transform/Rotation
v = position.velocity;
radiansToDegrees(Math.atan2(v[1],v[0]))

//Shape layer/Contents
//Arrow/Transform Arrow/Position
path = thisComp.layer("Null 1").transform.position;
compCenter = [thisComp.width / 2, thisComp.height/2];
path - compCenter

//Shape layer/Contents/
//Arrow/Transform Arrow/Rotation
thisComp.layer("Null 1").transform.rotation

The arrow is going to snap to horizontal before and after the null stops moving, but there is a workaround using valueAtTime. As long as the shape layer/Transform properties are all at the defaults the arrow will follow that path.

 

Trim paths and a couple of keyframes and you get this. I'm showing you all the modified properties for all layers.

Arrow follows path.png

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 08, 2021 Jun 08, 2021
LATEST

It works! Thanks so much! Definitely not something I would've figured out on my own this early in my Ae career. 😂

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines