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

Offsetting anchor points along a motion path?

Community Beginner ,
Jan 15, 2019 Jan 15, 2019

I am animating a layered file from Photoshop.  I shrink it initially and want to expand it with all it's layers along a curved path.  I used pickwhips to connect the size property of one of it's layers to the size property of another (parent) layer and it works.  I  then try to connect it's position property to the position property of another layer.  What it does is stack all the anchor points of the layers on top of each other so that the end result that all the layers wind up centered around the anchor point of the parent.  I have also used a null shape.  I also used copied and pasted the motion path .  The result is the same.  At the end of things, the initial anchor point offsets between my layers are gone.  I imagine there is an offset expression out there which would allow me to connect the child position to a parent position which would allow me to keep all the layers in the same relative position to each other.  I'm still a newbie and am not sure how to code it.  Any ideas?  Thanking anyone in advance.  John

1.4K
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
Engaged ,
Jan 15, 2019 Jan 15, 2019

If you pickwhip the position to another layer's position you get something like this:

thisComp.layer("Your layer").transform.position

If you add '+ value' to the expression you are able to move the layer and keyframe its position too.

thisComp.layer("Your layer").transform.position + value

( this means: take the 'Your layer' position and sum it to this layer position value)

When you tipo the '+ value' part into the expression the layer will jump, so you'll have to reposition it.

But... can't you just parent all the layers to a null and then move and scale the null?

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
Community Beginner ,
Jan 15, 2019 Jan 15, 2019

Hmmm  I'll try it but it seems that it wouldn't address the problem.  All of the child layers would still have their anchor points (commonly somewhere in the center of those objects) centered on that one curved motion path (in this case the motion path of the null object), thus destroying their initial offset from each other..  I am going to try playing with the expression language as you suggested.  It sounds interesting and , at the very worse, a good learning exercise.  Thank you very much,,,,

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
Engaged ,
Jan 15, 2019 Jan 15, 2019

I don't think I understand what you are trying to archive then.

Anyway two tips you may find useful:

If you want to change where the anchor point is, you can select the 'Pan behind tool' by pressing Y. You can now drag the anchor point to a new position. If you hold the Alt key down while dragging it, it will change the layer position leaving the anchor point where it is in space (easier to understand if you try it).

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
Community Expert ,
Jan 15, 2019 Jan 15, 2019
LATEST

The anchor point is the center of motion, scale, and rotation. If you use a simple expression to tie the position of a master layer to another then the second layer will move to the same position as the master layer. If you want to keep the same relative position between layers but make one layer follow another layer's motion path the easiest option is parenting. You could add a null, tie the null's position property to the master layer, make the null the parent of the other layers, then parent the other layers to the null. This will only tie the position of the master to the relative position of all the other layers. Scale and Rotation of the master layer will not affect the slave layers, but the scale and rotation of the parent null will.

There are a lot of different ways to have slave layers follow the master layer and a lot of different behaviors you could want from the slave layers. If the master layer moves on a curved path and orients along the path parenting will cause master and slave layers to all to rotate at the same time and this can create some undesired motion in the slave layers. If the master is in front of the slave layers when the master rotates the slaves will rotate around the master causing them to move in an undesirable path.

This expression will make a slave layer follow a master layer and if you turn on Auto Orient to Path for both layers you may get what you want:

p = thisComp.layer("master").transform.position;

delta = valueAtTime(0) - p.valueAtTime(0);

p + delta

If you want to dive into expressions you might want to look at this old page from Dan Ebberts: follow-the-leader. Some of the examples may point you in the right direction.

Let us know exactly what you are trying to do and if possible include a screenshot and we can probably help.

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