Scripting/Calques/Création de calque

Création de calque

Comme pour la création d'une composition dans un projet, on n'ajoute pas directement un calque à l'objet composition mais plutôt à sa collection de calques (layers). Les calques peuvent être de différente nature: une caméra, une lumière, un solide (un calque d'effets si l'option est cochée) ou encore une composition.

Création d'un solide

On crée un solide grâce à la méthode addSolid(), qui prend en compte six paramètres: la couleur, le nom, la largeur, la hauteur, les format des pixels et la durée (si la durée n'est pas spécifiée, elle sera par défaut égale à celle de la composition dans laquelle le solide est créé). En supposant qu'une composition a déjà été créée et qu'elle est active, on peut écrire cela pour la stocker dans une variable:

myComp = app.project.activeItem;

On ajoute maintenant un nouveau solide nommé "monSolide", de couleur blanche (dans le scripting chaque composante de la couleur est comprise entre 0 et 1), de taille 160*120, avec un format de pixel carré et une durée de 10s. On stocke ce solide dans une variable "mySolid":

mySolid = myComp.layers.addSolid([1,1,1],"monSolide",160,120,1,10);

Création d'un calque texte

Pour créer un calque texte on utilise la méthode addText(). Elle prend en paramètre la chaîne de caractères à afficher. Cette chaîne est facultative, si l'on ne précise rien on crée simplement un calque de texte vide. Il ne semble pas possible par le scripting de choisir sa police ou la taille des caractères par exemple, ceux-ci seront identiques à ceux utilisés dans le projet.

myTextLayer = myComp.layers.addText("www.nabscripts.com");

Création d'une caméra

On crée une caméra grâce à la méthode addCamera(). Elle nécessite deux paramètres: le premier est le nom à attribuer au calque et le deuxième correspond aux coordonnées du "Point ciblé" (x et y uniquement), qu'on exprime sous forme d'un tableau. On peut écrire par exemple:

myCamera = myComp.layers.addCamera("maCaméra",[160,120]);

Création d'une lumière

On se sert de la méthode addLight() pour créer une lumière. Cette méthode nécessite les mêmes paramètres qu'une caméra.

myLight = myComp.layers.addLight("maLumière",[160,120]);

Création d'un objet nul

La création d'un objet nul se fait par l'intermédiaire de la méthode addNull(), qui prend en paramètre la durée en secondes du calque. Ce paramètre est facultatif et s'il est omis le calque aura la même durée que celle de la composition dans laquelle le calque est crée.

myNull = myComp.layers.addNull();

Précomposition de calques

La méthode precompose() permet de précomposer un ensemble de calques. Elle agit également sur la collection layers. Elle prend en paramètres un tableau d'indices (ceux des calques à précomposer), le nom de la composition à créer et éventuellement un paramètre true ou false pour indiquer si l'option "Transférer tous les attributs..." doit être utilisée (ce paramètre facultatif est true par défaut).