<p>The shape layer's path is in layer space. In other words the coordinates are relative to the layer, regardless of where the layer is in composition space. The contents of a layer are always at 0 on the z axis relative to that layer. So when you apply that path as the motion path to a layer in composition space, it will always move on the X/Y plane, at 0 on the z Axis.
To make the null layer use the same coordinate space as the shape layer, you can simply make it a child of the shape layer. Then the coordinates will be relative to its parent. If this is not possible, you could use the <code>toWorld()</code> layer space transform in an expression, thus:</p>
<pre><code>thisComp.layer(&quot;shape Layer&quot;).toWorld(value);
</code></pre>
<p>and apply that to the position. What that does is take the position value and find out where that would be in the layer &quot;shape layer&quot;, then give the value of where that is in comp coordinates.</p>
<p>There's a little gotcha, in that paths on shape layers are measured in comp space. Before copying the path to the null, you might want to set the anchor point of the shape layer to the center of the content, using <kbd>ctrl</kbd><kbd>alt</kbd><kbd>home</kbd>. Otherwise you can subtract its position from the value of the copied path:</p>
<pre><code>thisComp.layer(&quot;Shape Layer 1&quot;).toWorld(value-thisComp.layer(&quot;Shape Layer 1&quot;).transform.position)
</code></pre>

CC BY-SA 4.0
2020-09-17T15:08:04.720Z
This will never not break my brain
tomh
CC BY-SA 4.0
2020-09-18T00:34:57.853Z
Ha! If you think that's hard, try understanding Quaternions in Blender. They literally involve 4-dimensional hyperspheres!
stib
CC BY-SA 4.0
2020-08-18T13:05:49.133Z
2020-08-18T13:05:49.133Z
stib
<p>I'm trying to animate a null to follow an ellipse path. The path is rotated in 3D space. When I copy the path to the position of the null, it copies and the null is animated around the path but the 3D orientation setting on the shape layer is ignored and the null's keyframes are setup to point directly at the camera as if it was in 2D mode:</p>
<p><a href="https://i.sstatic.net/8VorO.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/8VorO.png" alt="Broken null" /></a></p>
<p>In this screenshot, the red keyframe track is the position data pasted to the null and the white circle is a stroke of the path. Rotating the null doesn't do anything, of course, because it's the keyframes that are off.</p>
<p>I'm pretty new to this so I get the feeling I'm not describing the problem very well or there's a simple solution I haven't figured out yet. Any guidance would be greatly appreciated. Thank you!</p>

<after-effects>
After Effects 2020 shape layer path ignoring 3D orientation when used to parent a null?
PC XT
# After Effects 2020 shape layer path ignoring 3D orientation when used to parent a null?

(Asked by: username_0 on 2020-08-17)

I'm trying to animate a null to follow an ellipse path. The path is rotated in 3D space. When I copy the path to the position of the null, it copies and the null is animated around the path but the 3D orientation setting on the shape layer is ignored and the null's keyframes are setup to point directly at the camera as if it was in 2D mode:

[![Broken null](https://i.sstatic.net/8VorO.png)](https://i.sstatic.net/8VorO.png)

In this screenshot, the red keyframe track is the position data pasted to the null and the white circle is a stroke of the path. Rotating the null doesn't do anything, of course, because it's the keyframes that are off.

I'm pretty new to this so I get the feeling I'm not describing the problem very well or there's a simple solution I haven't figured out yet. Any guidance would be greatly appreciated. Thank you!

**Tags:** after-effects


---

## 1 answers

### Answer by username_1 on 2020-08-18. Score: 1

The shape layer's path is in layer space. In other words the coordinates are relative to the layer, regardless of where the layer is in composition space. The contents of a layer are always at 0 on the z axis relative to that layer. So when you apply that path as the motion path to a layer in composition space, it will always move on the X/Y plane, at 0 on the z Axis.
To make the null layer use the same coordinate space as the shape layer, you can simply make it a child of the shape layer. Then the coordinates will be relative to its parent. If this is not possible, you could use the toWorld() layer space transform in an expression, thus:
thisComp.layer("shape Layer").toWorld(value);

and apply that to the position. What that does is take the position value and find out where that would be in the layer "shape layer", then give the value of where that is in comp coordinates.
There's a little gotcha, in that paths on shape layers are measured in comp space. Before copying the path to the null, you might want to set the anchor point of the shape layer to the center of the content, using ctrlalthome. Otherwise you can subtract its position from the value of the copied path:
thisComp.layer("Shape Layer 1").toWorld(value-thisComp.layer("Shape Layer 1").transform.position)

> **Comments:**
> **username_2**: This will never not break my brain  
> **username_1**: Ha! If you think that's hard, try understanding Quaternions in Blender. They literally involve 4-dimensional hyperspheres!  

---

