画像を等間隔に並べたい
画像を等間隔に並べるエクスプレッションを書いてみました!手作業で並べるのが嫌いなので、エクスプレッションで自動化します。
目次
画像を等間隔に並べるエクスプレッションの作成方法

- 並べたい画像を中央に配置、3Dレイヤーにしておきます(※画像とヌル両方です)
- Nullを一番上に作成。名前は「adjust」
- Nullに2つのスライダー制御を追加(エフェクト>エクスプレッション制御>スライダー制御を2つ作成「OffsetX」「OffsetY」)
- コンポジションにマーカーを一つ作成し、コメントにエクスプレッションを追加
- すべての画像の位置に下記のエクスプレッションを追加
eval(comp("コンポ 1").marker.key(1).comment)
※英語版のAEで使用する場合はスクリプトの中の「スライダー」→「Slider」にしておきましょう。
列数の設定
3列で並べる場合
var TurnPoint = 3;
2列で並べる場合
var TurnPoint = 2;
1列で並べる場合
var TurnPoint = 1;
【おまけ】横1列で並べる場合
コメントに入れるエクスプレッションはシンプルになります。

//上のレイヤーのXYZの座標
UpLayPosX = thisComp.layer(thisLayer, -1).position[0];
UpLayPosY = thisComp.layer(thisLayer, -1).position[1];
UpLayPosZ = thisComp.layer(thisLayer, -1).position[2];
//X座標
UpLayWidth = thisComp.layer(thisLayer, -1).width;
thisLayWidth = thisLayer.width;
PosX = UpLayPosX + (UpLayWidth + thisLayWidth) / 2;
//オフセット値
OffsetX = thisComp.layer("adjust").effect("OffsetX")("スライダー");
//座標
[PosX + OffsetX, UpLayPosY, UpLayPosZ];作成するための初期コストはかかるものの、一度できればエクスプレッションは便利です。
列の設定を頻繁に調整するなら、その値もスライダー制御してもよいかもです。
