Dimension
- Guide de lʼutilisateur dʼAfter Effects
- Versions Beta
- Prise en main
- Prise en main dʼAfter Effects
- Nouveautés dʼAfter Effects
- Notes de mise à jour | After Effects
- Configuration requise pour After Effects
- Raccourcis clavier dans After Effects
- Formats de fichier pris en charge | After Effects
- Recommandations matérielles
- After Effects pour puce Apple
- Planification et configuration
- Espaces de travail
- Projets et compositions
- Importation de métrage
- Préparation et importation dʼimages fixes
- Importation à partir dʼAfter Effects et dʼAdobe Premiere Pro
- Importation et interprétation vidéo et audio
- Préparation et importation de fichiers images 3D
- Importation et interprétation de métrages
- Utilisation des métrages
- Détecter les points de montage à l’aide de la détection de montage de scène
- Métadonnées XMP
- Texte et images
- Texte
- Animations graphiques
- Utilisation de modèles dʼanimations graphiques dans After Effects
- Utilisation des expressions pour créer des listes déroulantes dans les modèles dʼanimations graphiques
- Utilisation des propriétés essentielles pour créer des modèles dʼanimations graphiques
- Remplacement d’images et de vidéos dans les modèles dʼanimations graphiques et les propriétés essentielles
- Animez plus rapidement et plus facilement à l’aide du panneau Propriétés
- Dessin, peinture et tracés
- Présentation des calques de forme, des tracés et des images vectorielles
- Outils de peinture : Pinceau, Cloner et Gomme
- Effilage des contours de forme
- Attributs de forme, opérations de peinture et opérations de tracé pour les calques de forme
- Utilisation de lʼeffet de forme Décaler les tracés pour modifier des formes
- Création de formes
- Création de masques
- Suppression dʼobjets de vos vidéos avec le panneau Remplissage dʼaprès le contenu
- Roto-pinceau et Améliorer le cache
- Calques, marqueurs et caméra
- Animation, images clés, suivi de cible et incrustations
- Animation
- Image clé
- Suivi de cible
- Masquage
- Transparence et montage
- Réglage de la couleur
- Effets et animations prédéfinies
- Présentation des effets et animations prédéfinies
- Liste dʼeffets
- Gestionnaire d’effets
- Effets de simulation
- Effets esthétiques
- Effets audio
- Effets de déformation
- Effets de perspective
- Effets de couches
- Effets de rendu
- Effets temporels
- Effets de transition
- Effet Réparation dʼobturateur déroulant
- Effets de flou et de netteté
- Effets de couches 3D
- Effets Utilité
- Effets de cache
- Effets de bruit et de grain
- Effet Conservation des détails-Amélioration
- Effets obsolètes
- Expressions et automatisation
- Expressions
- Principes de base des expressions
- Compréhension du langage dʼexpression
- Utilisation des options pour expressions
- Différences de syntaxe entre le moteur dʼexpressions JavaScript et lʼancien moteur dʼexpressions ExtendScript
- Modification des expressions
- Erreurs dans les expressions
- Utilisation de lʼéditeur dʼexpressions
- Utilisation d’expressions pour accéder aux propriétés du texte et les modifier
- Référence au langage dʼexpression
- Exemples dʼexpressions
- Automatisation
- Expressions
- Vidéo immersive, VR et 3D
- Créer des environnements VR dans After Effects
- Application d’effets de vidéo immersive
- Outils de composition pour les vidéos VR/360
- Moteur de rendu Advanced 3D
- Importer et ajouter des modèles 3D à votre composition
- Importer des modèles 3D à partir des bibliothèques Creative Cloud
- Éclairage basé sur l’image
- Extraire et animer des caméras et des éclairages depuis des modèles 3D
- Suivre le mouvement de la caméra 3D
- Projeter et accepter des ombres
- Animations de modèle 3D intégrées
- Captage d’ombres
- Extraction des données de profondeur 3D
- Modifier les propriétés des matières d’un calque 3D
- Utiliser lʼespace de conception 3D
- Widgets de transformation 3D
- En faire plus avec l’animation 3D
- Aperçu des modifications apportées aux conceptions 3D en temps réel avec le moteur 3D Mercury
- Ajout de Responsive Design à vos images
- Vues et prévisualisations
- Rendu et exportation
- Notions de base relatives au rendu et à lʼexport
- Encodage en H.264 dans After Effects
- Exportation dʼun projet After Effects en tant que projet Adobe Premiere Pro
- Conversion de films
- Rendu multi-images
- Rendu automatisé et rendu en réseau
- Rendu et exportation dʼimages fixes et de séquences dʼimages fixes
- Utilisation du codec GoPro CineForm dans After Effects
- Utilisation dʼautres applications
- Collaboration : Frame.io et Projets d’équipe
- Mémoire, stockage et performances
- Base de connaissances
Apprenez le langage d’expression et utilisez-le pour former différentes expressions dans After Effects.
Le langage d’expression After Effects est basé sur JavaScript et intègre un large ensemble d’objets. After Effects utilise le langage standard JavaScript de base et non les extensions spécifiques du navigateur web. Il contient son propre jeu d’objets d’extension, tels que Calque, Composition, Enregistrement et Caméra.
Même si le langage d’expression est basé sur un langage de script, une différence subtile mais essentielle existe entre un script et une expression. Contrairement à un script, qui commande à l’application de réaliser une action, une expression commande à une propriété de réaliser une action.
Lorsque vous créez des expressions, gardez à l’esprit les considérations suivantes :
- La valeur d’une expression est la valeur de la dernière instruction évaluée.Il s’agit généralement de la dernière ligne de l’expression. Dans sa forme la plus simple, la valeur d’une expression est produite par la dernière variable ou la dernière fonction appelée dans l’expression en fonction de l’ordre d’évaluation. Cependant, il peut également s’agir de n’importe quelle valeur à laquelle vous faites explicitement référence comme valeur de renvoi. Cela peut inclure des valeurs utilisées beaucoup plus tôt dans l’expression à des fins de débogage ou des valeurs en dehors des variables et des fonctions explicitement déclarées qui ne sont pas traitées dans l’ordre d’écriture.
- Le langage JavaScript respecte la casse.
- Les fonctions ne doivent pas être déclarées au bas d’une expression.
Principes de base du langage
En JavaScript, une valeur contenue dans un objet est appelée Propriété. Dans After Effects, cependant, le terme Propriété se réfère à des composants de calque définis dans le panneau Montage. C’est pour cette raison qu’After Effects désigne les propriétés JavaScript par les termes méthodes ou attributs. Dans la pratique, la différence entre une méthode et un attribut est que la méthode réalise généralement une opération pour créer sa valeur de sortie (retour), tandis qu’un attribut fait simplement référence à une valeur existante pour déterminer sa valeur de sortie (retour). Il est plus facile de distinguer une méthode d’un attribut en observant les parenthèses suivant le nom de la méthode et entourant ses arguments d’entrée.
Un objet est un élément contenant d’autres objets, attributs et méthodes. Les compositions, les calques et les métrages sont des exemples d’objets. Plus précisément, les éléments de compositions, de calques et de métrages sont des objets globaux, ce qui signifie qu’ils peuvent être utilisés dans n’importe quel contexte sans référence à un objet de niveau supérieur.
Accès aux attributs et aux méthodes
Vous pouvez utiliser le langage des expressions pour accéder aux attributs et aux méthodes des propriétés des calques. Pour accéder à une valeur, utilisez une chaîne de références d’objet dont les éléments sont séparés par l’opérateur point (.). Vous pouvez également utiliser des parenthèses pour enchaîner des références d’objet au-delà du niveau du calque (par exemple, pour faire référence à des propriétés d’effet, des masques ou des animations de texte). Par exemple, pour lier la propriété Opacité dans le calque A à la propriété Intensité de l’effet Flou gaussien dans le calque B, saisissez l’expression suivante dans le champ d’expression pour la propriété Opacité du calque A :
thisCompayer(“Layer B”)ffect(“Gaussian Blur”)(“Blurriness”)
En lisant cette expression de gauche à droite, vous progressez de l’objet contenant de niveau supérieur jusqu’à la propriété spécifique :
L’objet global utilisé fait référence à la composition actuelle : thisComp.
Un objet de calque spécifique de cette composition est désigné par son nom : layer("Layer B").
Un objet d’effet spécifique de ce calque est désigné par son nom : effect("Gaussian Blur").
Une propriété spécifique de cet effet est désignée par son nom : ("Blurriness").
Pour le n-ième composant d’une propriété multidimensionnelle, tel que le composant y d’un point de contrôle d’effet, ajoutez [n] à la fin, comme suit :
thisCompayer(“Layer B”)ffect(“Advanced Lightning”)(“Origin”1]
L’objet par défaut de toute expression est la propriété sur laquelle elle est rédigée, suivi du calque contenant l’expression ; il est donc inutile de spécifier la propriété. Par exemple, une expression de tremblement écrite sur la propriété Position d’un calque peut être écrite des deux façons suivantes :
wiggle(5, 10) position.wiggle(5, 10) thisProperty.wiggle(5, 10)
Insérez le calque et la propriété lorsque vous les extrayez d’un autre calque, ainsi que la propriété sur laquelle l’expression est rédigée. Par exemple, une expression écrite sur la propriété Opacité du calque B, la liant à la propriété Rotation du calque A aurait l’aspect suivant :
thisCompayer(“Layer A”)otation
Pour étudier d’autres exemples de fonctionnement des expressions, utilisez l’icône de sélection pour relier une propriété de calque à une autre et examinez les expressions qui en résultent.
Ensembles et propriétés multidimensionnelles
Un ensemble (Array) est un type d’objet qui stocke un jeu ordonné de plusieurs nombres. Il se présente sous la forme d’une liste de nombres séparés par des virgules, apparaissant entre crochets, comme dans cet exemple :
[10, 23]
Vous pouvez affecter un objet Tableau à une variable, afin de faciliter les références aux valeurs de tableau dans le reste de l’expression. Par exemple :
myArray = [10, 23]
La dimension d’un objet Tableau correspond au nombre d’éléments dans le tableau. La dimension de myArray est 2. Dans After Effects, les propriétés peuvent avoir des dimensions différentes en fonction du nombre de leurs arguments de valeur. Dans le langage d’expression, les valeurs des propriétés sont soit des valeurs uniques (objets Nombre) soit des tableaux (objets Tableau).
Le tableau suivant donne des exemples de propriétés et de dimensions associées :
|
Propriété |
1 |
Rotation ° Opacité % |
2 |
Échelle [x=largeur, y=hauteur] Position [x, y] Point d’ancrage [x, y] Niveaux audio [gauche, droit] |
3 |
Échelle [largeur, hauteur, profondeur] Position 3D [x, y, z] Point d’ancrage 3D [x, y, z] Orientation [x, y, z] |
4 |
Couleur [rouge, vert, bleu, alpha] |
Vous pouvez accéder aux éléments individuels d’un objet Tableau en utilisant des parenthèses et un numéro d’index pour indiquer l’élément requis. Les éléments d’un objet Tableau sont indexés à partir de 0. Selon l’exemple précédent, myArray[0] est 10 et myArray[1] est 23.
Les deux expressions suivantes sont équivalentes :
[myArray[0], 5] [10, 5]
Tableaux de la propriété Position
Les tableaux de la propriété Position sont indexés comme suit :
position[0] indique la coordonnée x de la position.
position[1] indique la coordonnée y de la position.
position[2] indique la coordonnée z de la position.
Représentation des couleurs dans les tableaux
Les couleurs sont représentées en tant que tableaux 4D :
- Rouge
- Vert
- Bleu
- Alpha
Dans les projets ayant un codage des couleurs de 8bpc ou 16 bpc, chaque valeur d’un ensemble va de 0 (noir) à 1 (blanc). Le rouge, par exemple, peut aller de 0 (aucune couleur) à 1 (rouge). [0,0,0,0] correspond donc à du noir transparent et [1,1,1,1] à du blanc complètement opaque. Dans les projets ayant un codage des couleurs de 32 bpc, les valeurs inférieures à 0 et supérieures à 1 sont autorisées.
Si vous utilisez un index supérieur à l’index du composant de dimension maximale d’un objet d’ensemble, After Effects renvoie une erreur. Par exemple, myArray[2] génère une erreur, mais position[2] renvoie la coordonnée z de la position.
Dans le langage des expressions After Effects, de nombreuses propriétés et méthodes utilisent des objets d’ensemble en tant qu’arguments ou en renvoient en tant que valeurs. Par exemple, thisLayer.position est un objet d’ensemble bidimensionnel ou tridimensionnel, selon qu’il s’agit d’un calque 2D ou 3D.
Exemples
Pour écrire une expression qui garde la valeur y d’une animation de Position, mais fixe la valeur x à 9, utilisez l’expression suivante :
y = position[1]; [9,y]
Ou plus succinctement encore :
[9, position[1]]
Il s’agit d’une règle importante : voici donc un autre exemple. Si vous voulez combiner la valeur de position x du calque A avec la valeur de position y du calque B, vous devez utiliser l’expression suivante :
x = thisCompayer(“Layer A”)osition[0 y = thisCompayer(“Layer B”)osition[1 [x]
Vous pouvez créer une expression faisant référence à une seule valeur de l’ensemble d’une propriété 2D ou 3D. Sauf indication contraire, c’est la première valeur qui est utilisée. Par exemple, si vous faites glisser l’icône de sélection de la propriété Rotation du calque A à la propriété Échelle du calque B, l’expression suivante apparaît :
thisCompayer(“Layer B”)cale[0]
Par défaut, cette expression utilise la première valeur de la propriété Échelle, qui est la largeur. Si vous préférez utiliser la valeur de la hauteur à la place, faites glisser l’icône de sélection directement vers la deuxième valeur (et non plus sur le nom de la propriété) ou modifiez l’expression comme suit :
thisCompayer(“Layer B”)cale[1]
À l’inverse, si vous faites glisser l’icône de sélection de la propriété Échelle du calque B à la propriété Rotation du calque A, After Effects crée automatiquement une variable, lui attribue la valeur à une dimension de la propriété Rotation, puis utilise cette variable pour les deux dimensions de la propriété Échelle :
temp = thisComp.layer(1).transform.rotation; [temp, temp]
Vecteurs
De nombreuses méthodes et propriétés d’After Effects utilisent ou renvoient des vecteurs. After Effects utilise un vecteur pour faire référence à un ensemble si ce dernier représente un point ou une direction dans l’espace. La propriété position d’After Effects, par exemple, renvoie un vecteur.
Toutefois, une fonction telle qu’audioLevels, qui renvoie un ensemble à deux dimensions (les niveaux des canaux droit et gauche), n’est pas appelée vecteur puisqu’elle ne représente ni un point ni une direction. Certaines fonctions d’After Effects acceptent les vecteurs en tant qu’arguments, mais cela n’est généralement utile que lorsque les valeurs représentent une direction. cross(vec1, vec2), par exemple, calcule un troisième vecteur à angle droit par rapport aux vecteurs d’entrée. Le produit croisé est utile si vec1 et vec2 sont deux vecteurs représentant des directions dans l’espace ; elle n’est d’aucune utilité s’ils représentent simplement deux ensembles arbitraires de nombres.
Indices et libellés
L’indexation des éléments Calque, Effet et Masque d’After Effects part de 1. Par exemple, le premier calque du panneau Montage est layer(1).
Il est généralement préférable d’utiliser le nom du calque, de l’effet ou du masque au lieu d’un nombre pour éviter les confusions et les erreurs s’ils sont déplacés ou en cas de modification des arguments lors des mises à jour et des mises à niveau du produit. Lorsque vous spécifiez un nom, entourez-le toujours de guillemets droits. Par exemple, la première de ces expressions est plus lisible que la seconde et continue de fonctionner même si vous modifiez l’ordre des effets :
effect(“Colorama”)aram(“Get Phase From”) effect(1)aram(2)
Temps d’expression
Le temps d’une expression correspond toujours au temps de la composition (et non au temps du calque). Il est mesuré en secondes (ce n’est pas le cas avec l’expression sourceRectAtTime()). L’instant par défaut de toute expression est l’instant de la composition auquel elle est évaluée. Les deux expressions suivantes utilisent le temps de composition par défaut et renvoient les mêmes valeurs :
thisComp.layer(1).position thisComp.layer(1).position.valueAtTime(time)
Pour utiliser un instant relatif, ajoutez une valeur temporelle incrémentielle à l’argument time. Par exemple, pour obtenir une valeur Position 5 secondes avant l’instant courant, utilisez l’expression suivante :
thisComp.layer(1).position.valueAtTime(time-5)
Par défaut, les références temporelles aux propriétés dans les compositions imbriquées utilisent le temps par défaut initial des compositions et non le temps redistribué. Toutefois, si vous utilisez la fonction source pour récupérer une propriété, le temps redistribué est utilisé.
Par exemple, si la source d’un calque de la composition réceptrice est une composition imbriquée et que la composition réceptrice comporte une redistribution temporelle, lorsque vous obtenez les valeurs de position d’un calque de la composition imbriquée avec l’expression suivante, ces valeurs utilisent le temps par défaut de la composition :
comp(“nested composition”)ayer(1)osition
Néanmoins, si vous accédez au calque 1 grâce à la fonction source, les valeurs de position utilisent le temps redistribué :
thisCompayer(“nested composition”)ourceayer(1)osition
Si vous utilisez un instant spécifique dans une expression, le temps redistribué est ignoré dans After Effects.
Dans la mesure où les expressions opèrent sur le temps en unités de secondes (et non en images), il peut parfois se révéler nécessaire d’utiliser des méthodes de conversion temporelle pour convertir les valeurs temporelles de manière à réaliser des opérations sur les images.
Exemple : utilisation des éléments du langage d’expressions pour écrire une expression
Pour apprendre à écrire des expressions, consultez l’exemple pour vous familiariser avec les éléments du langage d’expressions After Effects. L’expression créée dans cet exemple relie la propriété Position de Solid 2 à la propriété Position de Solid 1, le mouvement de Solid 2 étant décalé de deux secondes par rapport à celui de Solid 1.
-
Créez deux calques solides : Solid 1 et Solid 2.
-
Utilisez des images clés pour animer les valeurs de la propriété Position du calque Solid 1. (voir la section À propos de l’animation, des images clés et des expressions).
-
Sélectionnez la propriété Position pour Solid 2 et choisissez Animation > Ajouter l’expression ou cliquez en maintenant enfoncée la touche Alt (Windows) ou Option sur le bouton chronomètre de la propriété. L’expression suivante est alors proposée par défaut :
transform.position
-
Saisissez directement le texte suivant sur transform.position :
thisComp
-
L’élément thisComp est un attribut global dont la valeur est un objet Comp représentant la composition actuelle. Pour déterminer ce qui peut suivre thisComp dans votre expression, recherchez la valeur renvoyée par thisComp à la section Objets, attributs et méthodes globaux.
Notez que thisComp renvoie un objet Comp. Reportez-vous ensuite à la section Méthodes et attributs de composition pour connaître les attributs et les méthodes que vous pouvez utiliser avec un objet Composition. layer(index) est une des options possibles. L’index (nombre) entre parenthèses indique le calque que vous souhaitez utiliser. Dans cet exemple, on considère que Solid 1 est le premier calque de la composition. Pour récupérer les valeurs du premier calque de la composition active, saisissez .layer(1) à la fin de l’expression pour obtenir ce qui suit :
thisComp.layer(1)
-
Une fois encore, vérifiez dans la référence des éléments d’expression que layer(index) renvoie un objet Calque. Reportez-vous à la section Méthodes et attributs généraux des calques, puis recherchez-y l’élément à utiliser. Par exemple, pour obtenir les valeurs de la propriété Position du calque, saisissez .position à la fin de l’expression pour obtenir ce qui suit :
thisComp.layer(1).position
-
En consultant la section Méthodes et attributs généraux des calques, vous constatez que l’attribut position renvoie une propriété. Reportez-vous à la section Méthodes et attributs des propriétés, qui explique que vous pouvez ajouter un facteur de temps à l’expression. Pour ajouter un instant spécifique, l’instant actuel plus deux secondes, par exemple, saisissez .valueAtTime(time+2) à la fin de l’expression pour obtenir ce qui suit :
thisComp.layer(1).position.valueAtTime(time+2)
-
En consultant la section Méthodes et attributs des propriétés, vous constatez que la méthode valueAtTime renvoie une valeur Nombre ou Tableau. Lorsqu’une expression renvoie un nombre, un tableau ou une valeur booléenne (« true » ou « false »), il n’est plus possible d’ajouter d’autres attributs ni méthodes à l’expression. En revanche, vous pouvez ajouter des opérateurs arithmétiques comme +, -, * et /.
En savoir plus sur les ressources dʼexpression
Maintenant que vous avez assimilé certains concepts sous-jacents aux expressions, rejoignez la communauté pour découvrir des exemples concrets et partager votre travail.
Vous trouverez pléthore d’exemples et d’informations sur les expressions, assortis de scripts et d’animations prédéfinies sur le forum AE Enhancers.
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?