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

Pick Whip issue

New Here ,
May 16, 2021 May 16, 2021

Copy link to clipboard

Copied

This is a simple question, need to know if it's a known AE limitation or if it's a bug related to Mac.
 
If a layer is parented to another layer, a third layer can’t pick whip to its position, it doesn't work.
 
Thanks
TOPICS
Error or problem

Views

778

Likes

Translate

Translate

Report

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 , May 16, 2021 May 16, 2021

It's not a bug. Simply pointing another layer to a child layer's position never works because the child layer's position after perenting is always relative to comp center and the distance to the parent. 

 

Three layers, all at comp center:

Before Parenting.png

Parent the Child layer and the Child layer position changes to 0,0 or 0, 0, 0 for a 3D layer. Pickwhip moves the Problem layer to the same comp coordinates as the child layer, but that is not what you want:

image.png

Thinking that just subtracting the comp center seem

...

Likes

Translate

Translate
Community Expert ,
May 16, 2021 May 16, 2021

Copy link to clipboard

Copied

I believe it's a bug with this new-fangled transform/ 3D gizmo stuff. I vaguely recall a similar post.

 

Mylenium

Likes

Translate

Translate

Report

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 ,
May 16, 2021 May 16, 2021

Copy link to clipboard

Copied

Thanks Mylenium.  Do you know of a workaround?  I think there's an expression that sort of works but not really.

T

Likes

Translate

Translate

Report

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 ,
May 16, 2021 May 16, 2021

Copy link to clipboard

Copied

It's not a bug. Simply pointing another layer to a child layer's position never works because the child layer's position after perenting is always relative to comp center and the distance to the parent. 

 

Three layers, all at comp center:

Before Parenting.png

Parent the Child layer and the Child layer position changes to 0,0 or 0, 0, 0 for a 3D layer. Pickwhip moves the Problem layer to the same comp coordinates as the child layer, but that is not what you want:

image.png

Thinking that just subtracting the comp center seems like it might work:

Looks like a solution.png

But this fails if you move the child layer:

Solution Fail.png

The solution is Layer Space Transformations. They will lock the problem layer to the child layer.

Cannot move problem.png

If you want to be able to move the problem layer and still have it follow the child layer you need to compensate for the comp center offset by subtracting the comp center from the current position value and then add the corrected child position:

Virtual Child.png

Here's the fix all expression that works if the child layer is named "Child":

L = thisComp.layer("Child");
ChildPosition = L.toWorld([0, 0, 0]); // solves problem with 3D layers
// Position Fix
CmpCenter = [thisComp.width, thisComp.height]/2;
value - CmpCenter + ChildPosition

 I have a version of this expression saved as an animation preset. I use it to create virtual child layers that do not respond to position, rotation or scale of a parent layer.

Likes

Translate

Translate

Report

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 ,
May 16, 2021 May 16, 2021

Copy link to clipboard

Copied

Thanks Rick.  This expression works really well.

Likes

Translate

Translate

Report

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 ,
Aug 24, 2022 Aug 24, 2022

Copy link to clipboard

Copied

LATEST

If you link to the position of a child layer, the link won't pick up the inherited movement. But you can track the anchor point of the child in comp space by using this expression in the position property:

target = thisComp.layer("child") //select green text and pickwhip to your chosen layer

target.toComp(target.anchorPoint);

Likes

Translate

Translate

Report

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