別の3Dレイヤーの位置を参照し、Zへ3000を加えるエクスプレッションです。XYZすべてを追従させる方法と、自身のXYを維持する方法を分けて紹介します。
直下のレイヤーを参照する式を上へ連鎖させると、Zを3000ずつ離せます。一方、同じBASEを名前で参照する式を複数枚へ貼るだけでは、すべて同じ位置に重なります。

元のXYと参照先のZを分けて確認する練習
別名保存した練習コピーへ平面レイヤーを2枚置き、両方の3DスイッチをONにします。親なし・位置の次元分離なし・キーなしで試します。今回の確認は640×360・30fps・3秒のコンポです。
上の位置を[10,20,30]、下を[100,200,300]とし、下には参照する式を付けません。
上のレイヤーを選択してPキーで位置を表示し、位置のストップウォッチをAltを押しながらクリックします。位置全体へ最初の式を貼ると、下のXYZを使った[100,200,3300]になります。
自身のXYを残す最後の式では、[10,20,3300]になります。
この2つの目的を分け、自身の元値はvalue、ほかのレイヤーはthisComp.layer(…)で参照します。
最下段や2Dの参照先では元値を返すため、動かない場合はレイヤー順と3Dの設定を確認します。
index+1の例は下のレイヤーを参照するので、下から上を参照する式を追加して循環させないようにします。
名前の例では、参照専用の3DレイヤーをBASEにして名前を重複させず、BASEへ追従式を貼らずに使います。
BASEがないと参照エラーになるため、レイヤー名を入力時に確認します。
親が異なるレイヤーでは座標の基準も異なるため、この親なしの例をそのまま使わず空間変換が必要です。
0・1・2秒と、下のZを400へ変えたときの上のZ=3400を確認します。
終了後は式をOFFにして元の[10,20,30]へ戻し、練習ZIPの記録欄へXYZと参照先を残します。
2026年10月15日、Windows 11 Pro・After Effects 26.5(Build 89、日本語表示)で掲載3式を評価しました。Adobeのレイヤー参照とプロパティの仕様も参照しています。
| 確認すること | 期待する結果 | 違ったとき |
|---|---|---|
| XYZを追従 | 100・200・3300 | 参照先のXYZを確認 |
| 自身XYを保持 | 10・20・3300 | valueと参照先を分ける |
| 動かない | 最下段・2Dは元値 | 順番・3D・貼付先を確認 |
直下のレイヤーのXYZを参照してZへ加算する
次の式は1つ下の3DレイヤーのXYZを基準に、Zだけ3000px加えます。
var result = value;
if (value.length === 3 && index < thisComp.numLayers) {
var next = thisComp.layer(index + 1).transform.position.value;
if (next.length === 3) {
result = [next[0], next[1], next[2] + 3000];
}
}
result;
指定したレイヤーのXYZを参照してZへ加算する
参照専用のBASEレイヤーを作り、名前でXYZを参照する例です。この式は並び順が変わっても同じ名前を探しますが、複数の追従レイヤーに貼るとXYZが一致します。連番に応じた間隔を自動で付ける式ではありません。
var result = value;
if (value.length === 3) {
var base = thisComp.layer("BASE");
if (base.index !== index) {
var position = base.transform.position.value;
if (position.length === 3) {
result = [position[0], position[1], position[2] + 3000];
}
}
}
result;
自身のXY座標を維持したまま直下のレイヤーのZ位置を参照してオフセットする
X座標とY座標は現在のレイヤー自体の数値を維持し、Z座標のみ1つ下のレイヤーを参照してオフセットする場合は以下の記述を使用します。
var result = value;
if (value.length === 3 && index < thisComp.numLayers) {
var next = thisComp.layer(index + 1).transform.position.value;
if (next.length === 3) {
result = [value[0], value[1], next[2] + 3000];
}
}
result;
実機で確認した座標と注意点
上をFOLLOW、下をBASEとした2枚で、次の値を確認しました。式の切り替えは同じ位置プロパティの式を置き換えて行っています。
| 操作・条件 | AEで確認した結果 |
|---|---|
| 直下XYZ参照・0/1/2秒 | [100,200,3300]で一定、エラーなし |
| 自身XYを維持 | [10,20,3300] |
| BASEのZを400へ変更 | [10,20,3400] |
| 参照先を2Dへ変更 | 元の[10,20,30]、エラーなし |
| FOLLOWを最下段へ移動 | 元の[10,20,30]、エラーなし |
| BASEを名前で参照 | [100,200,3300] |
| BASEを別名へ変更 | 参照エラー。名前を戻すと[100,200,3300]へ復旧 |
| 式をOFF | 式を付ける前の[10,20,30]へ復帰 |
続いてUPPERを最上段へ追加し、UPPERとFOLLOWへ直下参照の式を貼りました。下からZ=300、3300、6300となり、隣同士のZ差は3000でした。カメラ表示には遠近感があるため、画面上の見た目の間隔や平面の大きさが等しくなる意味ではありません。

UPPERとFOLLOWを同じBASEの名前参照へ変えると、両方が[100,200,3300]になりました。等間隔に並べたい場合は、直下参照の連鎖と名前による固定参照を混同しないでください。

表示が変わらない場合は、参照先が2Dになっていないか、最下段へ移動していないかを先に確認します。名前参照でエラーが出たらBASEの存在と綴りを確認します。位置の数値が正しくても画面外なら、カメラとZ位置の関係を確認してください。
今回の対象は親なし・次元分離なし・キーなしの3D平面です。循環参照、異なる親を持つ座標変換、キー付き素材、macOSでは検証していません。BASEには追従式を付けず、相互に参照させない構成で使ってください。
After Effectsの基本的な操作や関連Tipsは、以下のまとめ記事で解説しています。

別レイヤーやカメラのプロパティ値を参照してアニメーションを連動させるエクスプレッションは、以下で紹介しています。




