MENU

カテゴリー

プロフィール

すいみん

技術的なことが好きなデザイナーです。
詳細はこちら

自作ツール&スクリプト

【AfterEffects】画像を等間隔に並べるエクスプレッション

画像を等間隔に並べるエクスプレッションを書いてみました!

画像を等間隔に並べるエクスプレッションの作成方法

STEP.1
並べたい画像を中央に配置、3Dレイヤーにしておきます
STEP.2
Nullを一番上に作成。名前は「adjust」
STEP.3
Nullに2つのスライダー制御を追加
エフェクト>エクスプレッション制御>スライダー制御を2つ作成「OffsetX」「OffsetY」
STEP.4
コンポジションにマーカーを一つ作成
コメントに下記のエクスプレッションを追加
STEP.5
すべての画像の位置に下記のエクスプレッションを追加
eval(comp("コンポ 1").marker.key(1).comment)を追加

3列で並べる場合

var TurnPoint = 3;

とします。

2列で並べる場合

var TurnPoint = 2;

とします。

1列で並べる場合

var TurnPoint = 1;

とします。

[おまけ]横1列で並べる場合

コメントに入れるエクスプレッションはシンプルになります。

//exp

//上のレイヤーの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];

まとめ

手作業で並べるのが嫌いなので、エクスプレッション書いてしまいます。

作成するための初期コストはかかるものの、一度できればエクスプレッションは便利です。

※列の設定を頻繁に調整するなら、その値もスライダー制御してもよいかもです。