positionner en colonnes

schéma

../_images/colonnes.png

prérequis

width : largeur de la composition en pixels (fourni par After Effects) index : numéro du calque (de 1 à n)

définir le nombre de colonnes

// depuis un effet pour expression situé sur un calque « contrôle »
var nombre_de_colonnes = Math.round( thisComp.layer("controles").effect("Paramètre glissière")("Curseur") );

id → colonne

var colonne = (index - 1) % nombre_de_colonnes;

id → rang

var rang = Math.floor( (index - 1) / nombre_de_colonnes );

calculer la largeur d’une colonne

var largeur_colonne = width / nombre_de_colonnes

calculer la marge externe

var marge_interieure = largeur_colonne / 2;

colonne → x

var x = marge_interieure + colonne * largeur_colonne;

rang → y

var y = marge_interieure + rang * largeur_colonne;

au final

var nombre_de_colonnes = Math.round( thisComp.layer("controles").effect("Paramètre glissière")("Curseur") );

var colonne = (index - 1) % nombre_de_colonnes;
var rang = Math.floor( (index - 1) / nombre_de_colonnes );

var largeur_colonne = thisComp.width / nombre_de_colonnes
var marge_interieure = largeur_colonne / 2;

var x = marge_interieure + colonne * largeur_colonne;
var y = marge_interieure + rang * largeur_colonne;

[ x, y ]