Sélectionnez Fichier > Paramètres du projet.
- 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
Découvrez les expressions et les références d’expression, telles que les méthodes de conversion temporelle et les méthodes mathématiques vectorielles dans After Effects.
Boucle dʼimages clés avec des expressions dans After Effects
Les éléments d’expression d’After Effects peuvent être combinés dans les expressions à des éléments standard du langage JavaScript. Vous pouvez utiliser à tout moment le menu Langage d’expression pour ajouter des méthodes et des attributs aux expressions. Vous pouvez de même utiliser l’icône de sélection pour insérer des propriétés.
Si la description dʼun argument contient le signe égal (=) et une valeur (comme t=time ou width=.2), lʼargument utilisera cette valeur par défaut si vous nʼen spécifiez pas une autre.
Certaines descriptions dʼargument contiennent un nombre entre crochets qui indique la dimension de la propriété ou du tableau attendu(e).
Certaines descriptions de valeurs renvoyées contiennent un nombre entre crochets qui indique la dimension de la propriété ou du tableau renvoyé(e). Faute d’indication spécifique, la dimension du tableau renvoyé dépend de la dimension de l’entrée.
Le site Web de référence JavaScript W3Schools regorge dʼinformations sur le langage JavaScript standard, dont des pages pour les objets JavaScript Math et String.
Expressions : Moteur JavaScript
After Effects utilise le moteur JavaScript lors de l’évaluation des expressions. Les performances dʼévaluation des expressions lors du rendu peuvent être 5 fois plus élevées que celles de lʼancien moteur ExtendScript.
Sous Windows, After Effects utilise le moteur JavaScript open source V8. Il offre une version plus moderne de JavaScript que celle disponible dans ExtendScript, qui prend uniquement en charge la troisième édition de la norme ECMA-262.
Vous pouvez utiliser Paramètres du projet pour choisir si un projet utilise le moteur JavaScript ou ExtendScript hérité.
-
-
Sélectionnez l’onglet Expressions et sélectionnez JavaScript ou ExtendScript hérité comme moteur d’expressions.
Remarque :Les projets enregistrés dans les versions précédentes d’After Effects utilisent, par défaut, le moteur ExtendScript hérité.
Améliorations fournies par le moteur JavaScript
- Précision mathématique supérieure pour les opérations en virgule flottante.
- Les méthodes Array (Tableau) et String (Chaîne) du moteur JavaScript moderne peuvent être utilisées.
- Dʼautres objets JavaScript modernes, tels que les tableaux typés, lʼutilisation des mots-clés « let » et « const », ainsi que bien dʼautres ajouts effectués dans les versions récentes de la norme ECMA-262 sont disponibles.
Différences entre le moteur JavaScript et ExtendScript
- La syntaxe des instructions if/else est stricte dans le moteur JavaScript et doit être écrite pour le langage JavaScript normalisé.
- Lorsque vous accédez aux index de caractères sur un calque de texte sous la forme dʼun tableau, utilisez text.sourceText.value[i] au lieu de text.sourceText[i].
- Des méthodes dʼexpression séparées par des tirets (snake_case) plus anciennes, telles que this_comp et to_world, qui avaient été abandonnées dans ExtendScript, ne sont plus prises en charge.
- La syntaxe « this(arg) » simplifiée nʼest pas prise en charge.
Objets, attributs et méthodes Global (référence de l’expression)
comp(name)
Type de valeur renvoyé : Comp. (composition).
Type d’argument : nom est une chaîne de caractères.
Récupère une autre composition par son nom.
footage(name)
Type de valeur renvoyé : Footage (métrage).
Type d’argument : name est une chaîne de caractères.
Récupère un métrage par son nom.
thisComp
Type de valeur renvoyé : Comp. (composition).
Représente la composition contenant lʼexpression.
thisLayer
Type de valeur renvoyé : Layer (calque), Light (lumière) ou Camera (caméra).
Représente le calque contenant l’expression. thisLayer étant l’objet par défaut, son utilisation est facultative. Par exemple, vous pouvez commencer une expression par thisLayer.width ou width et obtenir le même résultat.
thisProperty
Type de valeur renvoyé : Property (propriété).
Représente la propriété contenant l’expression. Par exemple, si vous rédigez une expression sur la propriété Rotation, vous pouvez la commencer par thisProperty pour faire référence à la propriété Rotation.
time
Type de valeur renvoyé : Number (nombre).
Représente lʼinstant de la composition (en secondes) par rapport auquel lʼexpression est évaluée.
colorDepth
Type de valeur renvoyé : Number (nombre).
Renvoie la valeur de codage des couleurs du projet. Par exemple, l’élément colorDepth renvoie la valeur 16 si le projet utilise un codage (ou une profondeur) des couleurs de 16 bits par couche.
posterizeTime(framesPerSecond)
Type de valeur renvoyé : Number (nombre).
Type dʼargument : framesPerSecond est un nombre (Number).
La valeur framesPerSecond est ensuite utilisée comme cadence d’images pour le reste de l’expression. Cette expression vous permet de définir la cadence d’une propriété afin qu’elle soit inférieure à la cadence de la composition. Par exemple, l’expression suivante remplace la valeur de la propriété par une valeur aléatoire toutes les secondes :
posterizeTime(1); random()value
Type de valeur renvoyé : Number (nombre), Array (ensemble) ou String (chaîne).
Représente la valeur à lʼinstant courant de la propriété contenant lʼexpression.
Méthodes de conversion temporelle (référence de l’expression)
timeToFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)
Type de valeur renvoyé : Number (nombre).
Type d’argument : t et fps sont des nombres (Number) ; isDuration est un booléen (Boolean).
Convertit la valeur de t, qui prend par défaut la valeur de l’instant courant de la composition, en un nombre entier d’images. Le nombre d’images par seconde est défini dans l’argument fps, qui prend par défaut la valeur de la cadence de la composition actuelle (1.0 / thisComp.frameDuration). L’argument isDuration, qui prend par défaut la valeur « false », doit être positionné sur true si la valeur t représente un écart entre deux instants et non un instant absolu. Les instants absolus sont arrondis (au chiffre inférieur) vers l’infini négatif ; les durées sont arrondies par éloignement par rapport à zéro (au chiffre supérieur pour les valeurs positives).
framesToTime(frames, fps = 1.0 / thisComp.frameDuration)
Type de valeur renvoyé : Number (nombre).
Type dʼargument : frames et fps sont des nombres (Number).
Il s’agit de l’inverse de timeToFrames. Renvoie l’instant correspondant à l’argument frames, qui est requis. Il ne s’agit pas nécessairement d’un entier. Voir timeToFrames pour obtenir des explications sur l’argument fps.
timeToTimecode(t = time + thisComp.displayStartTime, timecodeBase = 30, isDuration = false)
Type de valeur renvoyé : String (chaîne).
Type dʼargument : t et timecodeBase sont des nombres (Number) ; isDuration est un booléen (Boolean).
Convertit la valeur de t en une chaîne (String) représentant le code temporel. Voir timeToFrames pour obtenir des explications sur les arguments t et isDuration. La valeur timecodeBase, qui est par défaut 30, définit le nombre d’images par seconde.
timeToNTSCTimecode(t = time + thisComp.displayStartTime, ntscDropFrame = false, isDuration = false)
Type de valeur renvoyé : String (chaîne).
Type dʼargument : t est un nombre (Number), ntscDropFrame et isDuration sont des booléens (Boolean).
Convertit t en une chaîne (String) représentant le code temporel NTSC. Voir timeToFrames pour une explication des arguements t et isDuration. Si ntscDropFrame est défini sur « false » (valeur par défaut), la chaîne obtenue représente un code temporel NTSC non compensé. Si ntscDropFrame est défini sur « true », la chaîne obtenue représente un code temporel NTSC compensé.
timeToFeetAndFrames(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, framesPerFoot = 16, isDuration = false)
Type de valeur renvoyé : String (chaîne).
Type d’argument : t, fps, et framesPerFoot sont des nombres ; isDuration est un booléen.
Convertit la valeur de t en une chaîne représentant du film et des images (en pieds). Voir timeToFrames pour une explication des arguments t, fps, et isDuration. L’argument framesPerFoot définit le nombre d’images sur un pied de film. Il prend par défaut la valeur 16, qui représente la cadence la plus fréquente pour les métrages 35 mm.
timeToCurrentFormat(t = time + thisComp.displayStartTime, fps = 1.0 / thisComp.frameDuration, isDuration = false)
Type de valeur renvoyé : String (chaîne).
Type d’argument : t et fps sont des nombres (Number) ; isDuration est un booléen (Boolean).
Convertit la valeur de t en une chaîne (String) représentant le temps au format d’affichage actuel sélectionné dans la boîte de dialogue Paramètres du projet. Voir timeToFrames pour obtenir une définition de tous les arguments.
Un argument ntscDropFrame facultatif a été ajouté à la fonction timeToCurrentFormat() dans After Effects CS5.5 et versions ultérieures. Valeur par défaut : ntscDropFrame = thisComp.ntscDropFrame.
Si vous souhaitez un plus grand contrôle sur l’aspect du code temporel dans le métrage, utilisez la méthode timeToCurrentFormat ou d’autres méthodes timeTo pour générer le code temporel au lieu d’utiliser l’effet Code temporel ou Nombres. Créez un calque de texte, ajoutez une expression à la propriété Texte source et saisissez timeToCurrentFormat() dans le champ de l’expression. Avec cette méthode, vous pouvez formater et animer le texte de code temporel. Le code temporel utilise par ailleurs le même style d’affichage que celui défini par les paramètres actuels du projet.
Méthodes de calcul vectoriel (référence de l’expression)
Les fonctions de calcul vectoriel sont des méthodes globales qui effectuent des opérations sur des ensembles, en les traitant comme des vecteurs mathématiques. Contrairement aux méthodes JavaScript (comme Math.sin), il est inutile d’utiliser le préfixe Math avec ces méthodes. Sauf indication contraire, les méthodes de calcul vectoriel sont modérées en ce qui concerne les dimensions et renvoient une valeur correspondant à la dimension de l’objet d’ensemble d’entrée le plus important et remplissent les éléments manquants avec des zéros. Par exemple, l’expression add([10, 20]+[1, 2, 3]) renvoie[11, 22, 3].
add(vec1, vec2)
Type de valeur renvoyé : tableau
Type dʼargument : vec1 et vec2 sont des tableaux.
Ajoute deux vecteurs.
sub(vec1, vec2)
Type de valeur renvoyé : tableau
Type d’argument : vec1 et vec2 sont des tableaux.
Soustrait deux vecteurs.
mul(vec, amount)
Type de valeur renvoyé : tableau
Type d’argument : vec est un tableau, amount est un nombre.
Multiplie chaque élément du vecteur par la valeur amount.
div(vec, amount)
Type de valeur renvoyé : tableau
Type d’arguement : vec est un tableau, amount est un nombre.
Divise chaque élément du vecteur par la valeur amount.
clamp(value, limit1, limit2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : value, limit1 et limit2 sont des nombres (Number) ou des ensembles (Array).
La valeur de chaque composant de value doit être comprise entre les valeurs correspondantes de limit1 et limit2.
dot(vec1, vec2)
Type de valeur renvoyé : Number (nombre).
Type d’argument : vec1 et vec2 sont des tableaux.
Renvoie le produit (interne) des arguments vectoriels.
cross(vec1, vec2)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type dʼargument : vec1 et vec2 sont des tableaux (Array) [2 ou 3].
Renvoie le produit vectoriel de vec1 et vec2. Pour plus de détails, reportez-vous à un manuel de mathématiques ou à un manuel JavaScript.
normalize(vec)
Type de valeur renvoyé : tableau
Type dʼargument : vec est un tableau (Array).
Normalise le vecteur afin que sa longueur soit de 1,0. Lʼutilisation de la méthode normalize constitue un raccourci pour exécuter lʼopération div(vec, length(vec)).
length(vec)
Type de valeur renvoyé : Number (nombre).
Type d’argument : vec est un tableau (Array).
Renvoie la longueur du vecteur vec.
length(point1, point2)
Type de valeur renvoyé : Number (nombre).
Type dʼargument : point1 et point2 sont des tableaux (Array).
Renvoie la distance entre deux points. L’argument point2 est facultatif. Par exemple, length(point1, point2) est identique à length(sub(point1, point2)).
Vous pouvez, par exemple, ajouter cette expression à la propriété Distance de mise au point dʼune caméra pour verrouiller le plan focal sur le point ciblé de la caméra, de telle sorte que la mise au point soit effectuée sur celui-ci :
length(position, pointOfInterest)lookAt(fromPoint, atPoint)
Type de valeur renvoyé : Array (ensemble) [3].
Type dʼargument : fromPoint et atPoint sont des ensembles (Array) [3].
L’argument fromPoint représente la position dans l’espace univers du calque à orienter. L’argument atPoint représente le point de l’espace univers vers lequel orienter le calque. La valeur renvoyée peut être utilisée comme expression pour la propriété Orientation afin de pointer l’axe z du calque sur atPoint. Cette méthode est particulièrement utile pour les caméras et les lumières. En cas d’utilisation de cette expression avec une caméra, veillez à désactiver l’orientation automatique. Par exemple, cette expression sur la propriété Orientation d’un projecteur positionne le point lumineux sur le point d’ancrage du calque numéro 1 de la même composition : lookAt(position, thisComp.layer(1).position)
Méthodes des nombres aléatoires (référence de l’expression)
La méthode de tremblement, utilisée pour faire varier une valeur de propriété de façon aléatoire, se trouve dans la catégorie Méthodes et attributs Property. Pour plus d’informations, consultez la section Méthodes et attributs de propriété (référence de l’expression).
seedRandom(offset, timeless=false)
Type de valeur renvoyé : aucun.
Type dʼargument : offset est un nombre (Number), timeless est un booléen (Boolean).
Les méthodes random et gaussRandom utilisent une valeur de générateur qui contrôle la séquence de nombres. Par défaut, le générateur est calculée sous la forme d’une fonction d’un identifiant de calque unique, de la propriété au sein du calque, de l’instant courant et d’une valeur de décalage de 0. Appelez seedRandom pour définir le décalage sur une valeur autre que 0 afin de créer une séquence aléatoire différente.
Utilisez true pour l’argument timeless afin de ne pas utiliser l’instant courant comme générateur aléatoire. L’utilisation de true pour l’argument timeless vous permet de générer un nombre aléatoire ne variant pas en fonction du moment d’évaluation.
La valeur offset, contrairement à la valeur timeless, permet également de contrôler la valeur initiale de la fonction wiggle (tremblement).
Par exemple, cette expression attribue à la propriété Opacité une valeur aléatoire sans variation temporelle :
seedRandom(123456, true); random()*100La multiplication par 100 dans cet exemple convertit la valeur entre 0 et 1 renvoyée par la méthode random en un nombre compris entre 0 et 100. Cette plage est plus généralement utilisée pour la propriété Opacité dont la valeur est comprise entre 0 % et 100 %.
random()
Type de valeur renvoyé : Number (nombre).
Renvoie un nombre aléatoire dans la plage 0 à 1.
Dans After Effects CC et CS6, le comportement de l’expression random() a été modifié afin d’accentuer le caractère aléatoire lorsque les ID de calque sont proches les uns des autres. Lʼexpression wiggle() nʼest pas concernée.
random(maxValOrArray)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : maxValOrArray est un nombre (Number) ou un tableau (Array).
Si maxValOrArray est un nombre, cette méthode renvoie un nombre compris entre 0 et maxValOrArray. Si maxValOrArray est un tableau (Array), cette méthode renvoie un tableau de même dimension que maxValOrArray, dont chaque composant se situe entre 0 et le composant correspondant de maxValOrArray.
random(minValOrArray, maxValOrArray)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : minValOrArray et maxValOrArray sont des nombres (Number) ou des tableaux (Array).
Si minValOrArray et maxValOrArray sont des nombres, cette méthode renvoie un nombre compris entre minValOrArray et maxValOrArray. Si les arguments sont des tableaux, cette méthode renvoie un tableau ayant la même dimension que l’argument doté de la plus grande dimension, chaque composant dans la plage du composant correspondant de minValOrArray au composant correspondant de maxValOrArray. Par exemple, l’expression random([100, 200], [300, 400]) renvoie un tableau dont la première valeur se situe dans la plage 100 à 300 et dont la deuxième valeur est dans la plage 200 à 400. Si les dimensions des deux tableaux d’entrée ne correspondent pas, les valeurs de dimension supérieure du tableau le plus court sont complétées par des zéros.
gaussRandom()
Type de valeur renvoyé : Number (nombre).
Renvoie un nombre aléatoire. Les résultats ont une distribution gaussienne (en forme de cloche). Environ 90 % des résultats se situent entre 0 et 1, et les 10 % restant se situent hors de cette plage.
gaussRandom(maxValOrArray)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : maxValOrArray est un nombre (Number) ou un tableau (Array).
Lorsque maxValOrArray est un nombre (Number), cette méthode renvoie un nombre aléatoire. Environ 90 % des résultats se situent entre 0 et maxValOrArray, et les 10 % restant se situent hors de cette plage. Lorsque maxValOrArray est un tableau (Array), cette méthode renvoie un tableau de valeurs aléatoires, de même dimension que maxValOrArray. 90 % des valeurs se situent entre 0 et maxValOrArray, et les 10 % restant se situent hors de cette plage. Les résultats ont une distribution gaussienne (en forme de cloche).
gaussRandom(minValOrArray, maxValOrArray)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : minValOrArray et maxValOrArray sont des nombres (Number) ou des tableaux (Array).
Si minValOrArray et maxValOrArray sont des nombres (Number), cette méthode renvoie un nombre aléatoire. Environ 90 % des résultats se situent entre minValOrArray et maxValOrArray, et les 10 % restant se situent hors de cette plage. Si les arguments sont des tableaux, cette méthode renvoie un tableau de nombres aléatoires de même dimension que l’argument de dimension maximale. Pour chaque composant, environ 90 % des résultats se situent dans la plage entre le composant correspondant de minValOrArray et le composant correspondant de maxValOrArray, et les 10 % restant se situent hors de cette plage. Les résultats ont une distribution gaussienne (en forme de cloche).
noise(valOrArray)
Type de valeur renvoyé : Number (nombre).
Type dʼargument : valOrArray est un nombre (Number) ou un ensemble (Array) [2 ou 3].
Renvoie un nombre dans la plage -1 à 1. Le bruit n’est pas véritablement aléatoire : il s’appuie sur le bruit Perlin, ce qui signifie que les valeurs renvoyées par deux valeurs d’entrée proches sont généralement proches l’une de l’autre. Ce type de bruit est utile lorsque vous souhaitez obtenir une séquence de nombres apparemment aléatoires à faible variation comme c’est généralement le cas pour l’animation d’un mouvement naturel apparemment aléatoire. Par exemple, rotation + 360*noise(time)
Méthodes d’interpolation (référence de l’expression)
Pour toutes les méthodes dʼinterpolation, lʼargument t est souvent le temps ou la valeur, mais il peut aussi représenter dʼautres valeurs. Si t représente le temps, lʼinterpolation entre les valeurs se produit sur une durée. Si t représente la valeur, lʼexpression fait correspondre une plage de valeurs à une nouvelle plage de valeurs.
linear(t, tMin, tMax, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : t, tMin et tMax sont des nombres (Number) ; value1 et value2 sont des nombres (Number) ou des ensembles (Array).
Renvoie value1 si t <= tMin. Renvoie value2 si t >= tMax. Renvoie une interpolation linéaire entre value1 et value2 si tMin < t < tMax.
Par exemple, si cette expression est rédigée sur la propriété Opacité, on obtient un dégradé linéaire des valeurs dʼopacité de 20 % à 80 % entre 0 seconde et 6 secondes :
linear(time, 0, 6, 20, 80)
Cette méthode, comme toutes les méthodes d’interpolation, peut également être utilisée pour effectuer une conversion d’une plage de données à une autre. Par exemple, cette expression sur la propriété Opacité convertit les valeurs d’opacité de la plage 0 %-100 % à la plage 20 %-80 % :
linear(value, 0, 100, 20, 80)
linear(t, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t est un nombre (Number) ; value1 et value2 sont des nombres (Number) ou des tableaux (Array).
Renvoie une valeur qui représente l’interpolation linéaire entre value1 et value2 si t est compris entre 0 et 1. Renvoie value1 lorsque t <= 0. Renvoie value2 lorsque t >= 1.
ease(t, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : t est un nombre (Number) ; value1 et value2 sont des nombres (Number) ou des ensembles (Array).
Identique à linear avec les mêmes arguments, si ce nʼest que lʼinterpolation définit une vitesse dʼajustement intérieur et extérieur de 0 aux points de départ et dʼarrivée. Cette méthode permet de réaliser des animations lissées.
ease(t, tMin, tMax, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : t, tMin et tMax sont des nombres (Number) ; value1 et value2 sont des nombres (Number) ou des ensembles (Array).
Identique à linear avec les mêmes arguments, si ce nʼest que lʼinterpolation définit une vitesse dʼajustement intérieur et extérieur de 0 aux points de départ et dʼarrivée. Cette méthode permet de réaliser des animations lissées.
easeIn(t, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t est un nombre (Number) ; value1 et value2 sont des nombres (Number) ou des tableaux (Array).
Identique à ease, mais avec une tangente de 0 sur le côté value1 seulement et une interpolation linéaire sur le côté value2.
easeIn(t, tMin, tMax, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t, tMin et tMax sont des nombres (Number) ; value1 et value2 sont des nombres (Number) ou des tableaux (Array).
Identique à ease, mais avec une tangente de 0 sur le côté tMin seulement et une interpolation linéaire sur le côté tMax.
easeOut(t, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t est un nombre (Number) : value1 et value2 sont des nombres (Number) ou des tableaux (Array).
Identique à ease, mais avec une tangente de 0 sur le côté value2 seulement et une interpolation linéaire sur le côté value1.
easeOut(t, tMin, tMax, value1, value2)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t, tMin et tMax sont des nombres (Number) ; value1 et value2 sont des nombres (Number) ou des tableaux (Array).
Identique à ease, mais avec une tangente de 0 sur le côté tMax seulement et une interpolation linéaire sur le côté tMin.
Méthodes de conversion des couleurs (référence de l’expression)
rgbToHsl(rgbaArray)
Type de retour : tableau (Array) [4].
Type d’argument : rgbaArray est un tableau (Array) [4].
Convertit une couleur RVBA en couleur TSLA. L’entrée est un tableau de valeurs normalisées comprises entre 0,0 et 1,0 pour les couches rouge, verte, bleue et alpha. La valeur résultante est un tableau de valeurs (également comprises entre 0,0 et 1,0) pour la teinte, la saturation, la luminosité et la couche alpha. Exemple :
rgbToHsl.effect("Change Color")("Color To Change")hslToRgb(hslaArray)
Type de retour : tableau (Array) [4].
Type d’argument : hslaArray est un tableau (Array) [4].
Convertit une couleur TSLA en couleur RVBA. Cette conversion est l’opposé de la conversion effectuée par la méthode rgbToHsl.
Autres méthodes mathématiques (référence de l’expression)
degreesToRadians(degrees)
Type de valeur renvoyé : Number (nombre).
Type d’argument : degrees est un nombre.
Convertit les degrés en radians.
radiansToDegrees(radians)
Type de valeur renvoyé : Number (nombre).
Type d’argument : radians est un nombre.
Convertit les radians en degrés.
Méthodes et attributs Comp (référence de l’expression)
layer(index)
Type de valeur renvoyé : Layer (calque), Light (lumière) ou Camera (caméra).
Type d’argument : index est un nombre.
Récupère un calque en fonction de son nombre (dans l’ordre du panneau Montage). Par exemple, thisComp.layer(3).
layer(name)
Type de valeur renvoyé : Layer (calque), Light (lumière) ou Camera (caméra).
Type d’argument : nom est une chaîne de caractères.
Récupère un calque en fonction de son nom. Les correspondances sont évaluées par nom de calque ou par nom source en l’absence de nom de calque. S’il existe des doublons, le premier calque (situé en haut) du panneau Montage sera retenu. Exemple :
thisComp.layer("Solid 1")
layer(otherLayer, relIndex)
Type de valeur renvoyé : Layer (calque), Light (lumière) ou Camera (caméra).
Type d’argument : otherLayer est un objet Calque et relIndex est un nombre.
Récupère le calque situé relIndex niveaux de calques au-dessus ou en dessous de otherLayer. Par exemple, thisComp.layer(thisLayer, 1).active renvoie la valeur « true » si le calque suivant du panneau Montage est actif.
marker
Type de valeur renvoyé : MarkerProperty.
Le numéro de repère ne permet pas d’accéder à un repère de composition. Si vous avez créé un projet dans une version antérieure d’After Effects qui utilise les numéros de repères de composition dans les expressions, vous devez remplacer ces noms par marker.key(name) . Le nom par défaut d’un repère de composition étant un numéro, la conversion de la référence pour utiliser le nom revient généralement à placer le numéro entre guillemets.
marker.key(index)
Type de valeur renvoyé : MarkerKey.
Type d’argument : index est un nombre.
Renvoie l’objet MarkerKey du repère avec l’index spécifié. L’index fait référence à l’ordre du repère dans la composition (et non pas à son nom). Par exemple, cette expression renvoie l’instant du premier repère de composition :
thisComp.marker.key(1).time
marker.key(name)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : name est une chaîne.
Renvoie l’objet MarkerKey du repère avec le nom spécifié. La valeur name est le nom du repère, tel qu’il a été entré dans le champ Commentaires de la boîte de dialogue Repère, par exemple, marker.key("1"). Le nom par défaut d’un repère de composition est un nombre. Si plusieurs repères d’une composition portent le même nom, cette méthode renvoie le repère qui apparaît en premier dans le temps de la composition. La valeur d’une clé de repère est une chaîne de caractères (String), et non un nombre (Number). Par exemple, cette expression renvoie l’instant du repère de composition portant le nom « 0 » :
thisComp.marker.key("0").timemarker.nearestKey(t)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : t est un nombre (Number).
Renvoie le repère le plus proche de t dans le temps. Par exemple, cette expression renvoie l’instant du repère de composition le plus proche de l’instant 1 seconde :
thisComp.marker.nearestKey(1).timeCette expression renvoie l’instant du repère de composition le plus proche de l’instant présent :
thisComp.marker.nearestKey(time).timemarker.numKeys
Type de valeur renvoyé : Number (nombre).
Renvoie le nombre total de repères de la composition.
numLayers
Type de valeur renvoyé : Number (nombre).
Renvoie le nombre de calques de la composition.
activeCamera
Type de valeur renvoyé : Camera (caméra).
Renvoie l’objet Camera à travers lequel s’effectue le rendu de la composition pour l’image actuelle. Cette caméra n’est pas nécessairement la caméra par laquelle vous regardez dans le panneau Composition.
width
Type de valeur renvoyé : Number (nombre).
Renvoie la largeur en pixels de la composition.
Appliquez l’expression suivante à la propriété Position d’un calque pour centrer celui-ci dans la composition :
[thisComp.width/2, thisComp.height/2]
height
Type de valeur renvoyé : Number (nombre).
Renvoie la hauteur en pixels de la composition.
duration (durée)
Type de valeur renvoyé : Number (nombre).
Renvoie la durée en secondes de la composition.
ntscDropFrame
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le code temporel est au format compensé. (After Effects CS 5.5 et versions ultérieures.)
displayStartTime
Type de valeur renvoyé : Number (nombre).
Renvoie l’heure de début en secondes de la composition.
frameDuration
Type de valeur renvoyé : Number (nombre).
Renvoie la durée en secondes de l’image.
shutterAngle
Type de valeur renvoyé : Number (nombre).
Renvoie la valeur en degrés de l’angle d’obturateur de la composition.
shutterPhase
Type de valeur renvoyé : Number (nombre).
Renvoie la phase d’obturateur en degrés de la composition.
bgColor
Type de retour : tableau (Array) [4].
Renvoie la couleur d’arrière-plan de la composition.
pixelAspect
Type de valeur renvoyé : Number (nombre).
Renvoie le format des pixels de la composition.
name
Type de valeur renvoyé : String (chaîne).
Renvoie le nom de la composition.
Attribut de zone protégée pour les repères de composition
L’option Zone protégée pour les repères de composition peut être lue avec l’attribut du repère de composition protectedRegion.
Attributs et méthodes de métrage (référence de l’expression)
Pour utiliser un métrage du panneau Projet en tant qu’objet d’une expression, utilisez la méthode footage globale (comme dans footage("file_name")). Vous pouvez également accéder à un objet de métrage en utilisant l’attribut source d’un calque dont la source est un métrage.
width
Type de valeur renvoyé : Number (nombre).
Renvoie la largeur du métrage en pixels.
height
Type de valeur renvoyé : Number (nombre).
Renvoie la hauteur du métrage en pixels.
duration
Type de valeur renvoyé : Number (nombre).
Renvoie la durée du métrage en secondes.
frameDuration
Type de valeur renvoyé : Number (nombre).
Renvoie la durée d’une image du métrage en secondes.
ntscDropFrame
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le code temporel est au format compensé. (After Effects CS 5.5 et versions ultérieures.)
pixelAspect
Type de valeur renvoyé : Number (nombre).
Renvoie le format des pixels du métrage.
name
Type de valeur renvoyé : String (chaîne).
Renvoie le nom du métrage tel qu’il apparaît dans le panneau Projet.
Méthodes et attributs des sous-objets du calque (référence de l’expression)
source
Type de valeur renvoyé : Comp (composition) ou Footage (métrage).
Renvoie l’objet Comp ou Footage source du calque. Le temps par défaut est ajusté sur le temps source. Par exemple, source.layer(1).position.
sourceTime(t = time)
Type de valeur renvoyé : Number (nombre).
Renvoie la source des calques correspondant au temps t (After Effects CS 5.5 et versions ultérieures.)
sourceRectAtTime(t = time, includeExtents = false)
Type de retour : Objet Javascript avec quatre attributs : [top, left, width, height]. Les étendues s’appliquent uniquement aux calques de forme, augmentant la taille des contours du calque selon les besoins, et aux calques de texte de paragraphe (After Effects 15.1 et versions ultérieures), où ils renvoient les contours de la boîte de dialogue de paragraphe. Exemple : myTextLayer.sourceRectAtTime().width.
effect(name)
Type de valeur renvoyé : Effect (effet).
Type dʼargument : nom est une chaîne de caractères.
After Effects retrouve l’effet selon son nom dans le panneau Options d’effet. Le nom peut être le nom par défaut ou celui choisi par l’utilisateur ou l’utilisatrice. Si plusieurs effets portent le même nom, l’effet le plus proche du haut du panneau Options d’effet est utilisé. Exemple :
effect("Fast Blur")("Blurriness")
effect(index)
Type de valeur renvoyé : Effect (effet).
Type dʼargument : index est un nombre.
After Effects retrouve l’effet selon son indexation dans le panneau Options d’effet (de 1 en partant du haut).
mask(name)
Type de valeur renvoyé : Mask (masque).
Type dʼargument : name est une chaîne de caractères.
Le nom peut être le nom par défaut ou celui choisi par l’utilisateur ou l’utilisatrice. Si plusieurs masques portent le même nom, le premier masque (le plus haut) est employé. Exemple :
mask("Mask 1")
mask(index)
Type de valeur renvoyé : Mask (masque).
Type dʼargument : index est un nombre.
After Effects retrouve le masque selon son index dans le panneau Montage (de 1 en partant du haut).
Méthodes et attributs généraux du calque (référence de l’expression)
width
Type de valeur renvoyé : Number (nombre).
Renvoie la largeur du calque en pixels. Identique à source.width.
height
Type de valeur renvoyé : Number (nombre).
Renvoie la hauteur du calque en pixels. Identique à source.height.
index
Type de valeur renvoyé : Number (nombre).
Renvoie le numéro d’index du calque dans la composition.
parent
Type de valeur renvoyé : Layer (calque), Light (lumière) ou Camera (caméra).
Renvoie l’objet Layer parent du calque (s’il en existe un). Par exemple, position[0] + parent.width.
hasParent
Type de valeur renvoyé : booléen.
Renvoie la valeur « true » si le calque a un parent et « false » dans le cas contraire.
L’attribut hasParent permet de déterminer si le calque possède un parent. Vous pouvez utiliser cet attribut même si le calque n’a pas de calque parent pour le moment. L’expression ci-dessous, par exemple, indique que le calque sur lequel vous l’appliquez tremble en fonction de la position du calque parent. Si le calque n’a pas de parent, il tremble en fonction de sa propre position. Si le calque obtient un parent ultérieurement, son comportement change en conséquence :
idx = index; if (hasParent) { idx = parent.index; } thisComp.layer(idx).position.wiggle(5,20)inPoint
Type de valeur renvoyé : Number (nombre).
Renvoie l’instant en secondes du point d’entrée du calque.
En général, la valeur de outPoint est supérieure à celle de inPoint. Cependant, si un calque est inversé dans le temps, la valeur de inPoint est supérieure à celle de outPoint. De même, la valeur de startTime peut être supérieure à celle de inPoint.
outPoint
Type de valeur renvoyé : Number (nombre).
Renvoie l’instant en secondes du point de sortie du calque.
startTime
Type de valeur renvoyé : Number (nombre).
Renvoie l’instant de départ du calque en secondes.
hasVideo
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le calque est vidéo et « false » dans le cas contraire.
hasAudio
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le calque est audio et « false » dans le cas contraire.
active
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le bouton d’option Vidéo est activé pour le calque et que l’instant courant se trouve dans la plage comprise entre le point d’entrée du calque et le point de sortie du calque, « false » dans les autres cas.
enabled
Type de valeur renvoyé : Boolean (booléen).
Renvoie « true » si le bouton d’option Vidéo est activé pour le calque, « false » dans les autres cas.
audioActive
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le bouton d’option Audio est activé pour le calque et que l’instant courant se trouve dans la plage comprise entre le point d’entrée du calque et le point de sortie du calque, « false » dans les autres cas.
sampleImage(point, radius = [.5, .5], postEffect=true, t=time)
Type de retour : tableau (Array) [4].
Type d’argument : point est un ensemble (Array) [2], radius est un ensemble (Array) [2], postEffect est un booléen (Boolean) et t est un nombre (Number).
Echantillonne les valeurs chromatiques et de couche alpha d’un calque et renvoie la moyenne pondérée de la valeur alpha des pixels à une distance spécifiée du point, en tant qu’ensemble : [rouge, vert, bleu, alpha]. Si postEffect est défini sur « true », les valeurs échantillonnées sont destinées au calque après le rendu des masques et des effets sur ce calque ; si postEffect est défini sur « false », les valeurs échantillonnées sont destinées au calque avant le rendu des masques et des effets. La valeur d’entrée point se situe dans l’espace calque ; le point [0,0] est le centre du pixel supérieur gauche du calque. La valeur d’entrée radius définit la distance (verticale et horizontale) entre le centre de l’échantillon et les bords du rectangle échantillonné. La valeur par défaut échantillonne un pixel.
Le paramètre postEffect fait référence aux effets appliqués directement au calque, et non aux effets appliqués indirectement comme avec un calque de réglage.
L’utilisation de sampleImage dans une expression ne désactive plus le multitraitement.
Dans cet exemple, un rectangle de 4 pixels de large sur 3 pixels de haut, centré sur un point situé 100 pixels plus bas, à droite du coin supérieur gauche du calque, est échantillonné :
thisComp.layer(1).sampleImage([100, 100], [2, 1.5])
Attributs et méthodes des propriétés du calque (référence de l’expression)
Lorsque vous ajoutez des masques, des effets, de la peinture ou du texte à un calque, After Effects ajoute de nouvelles propriétés dans le panneau Montage. Ces propriétés sont trop nombreuses pour être énumérées ici ; utilisez l’icône de sélection pour en apprendre la syntaxe et y faire référence dans vos expressions.
anchorPoint
Type de valeur renvoyé : Property (propriété) [2 ou 3].
Renvoie la valeur du point d’ancrage du calque dans le système de coordonnées du calque (espace calque).
position
Type de valeur renvoyé : Property (propriété) [2 ou 3].
Renvoie la valeur de position du calque, en espace univers si le calque n’a pas de parent. Si le calque a un parent, il renvoie la valeur de position du calque dans le système de coordonnées du calque parent (dans l’espace calque du calque parent).
scale
Type de valeur renvoyé : Property (propriété) [2 ou 3].
Renvoie la valeur de l’échelle du calque, en pourcentage.
rotation
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de rotation du calque, en degrés. Pour un calque 3D, la valeur de rotation de l’axe Z, en degrés, est renvoyée.
opacity
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur d’opacité du calque, exprimée en pourcentage.
audioLevels
Type de valeur renvoyé : Property (Propriété) [2].
Renvoie la valeur de la propriété Niveaux audio du calque, en décibels. Il s’agit d’une valeur 2D ; la première indique le niveau du canal de gauche et la seconde de celui de droite. La valeur n’est pas l’amplitude de la piste audio du matériel source. Il s’agit plutôt de la propriété Niveaux audio, qui peut être affectée par des images clés.
timeRemap
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en secondes de la propriété Remappage temporel (si elle est activée).
marker.key(index)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : index est un nombre (Number).
Renvoie l’objet MarkerKey du repère de calque avec l’index spécifié.
marker.key(name)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : name est une chaîne (String).
Renvoie l’objet MarkerKey du repère de calque avec le nom spécifié. La valeur name représente le nom du repère, tel que saisi dans le champ de commentaire de la boîte de dialogue du repère, par exemple, marker.key("ch1"). Si plus d’un repère sur le calque porte le même nom, cette méthode renvoie le premier repère dans l’instant (du calque). La valeur d’une clé de repère est une chaîne (String), et non un nombre (Number).
Cette expression sur une propriété effectue un dégradé de la valeur de la propriété de 0 à 100 entre deux repères identifiés par un nom :
m1 = marker.key("Start").time; m2 = marker.key("End").time; linear(time, m1, m2, 0, 100);marker.nearestKey(t)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : t est un nombre (Number).
Renvoie le repère du calque le plus proche dans l’instant de t. Par exemple, cette expression renvoie l’instant du repère du calque le plus proche de l’instant 1 seconde :
marker.nearestKey(1).timeCette expression renvoie l’instant du repère sur le calque le plus proche de l’instant présent :
marker.nearestKey(time).timemarker.numKeys
Type de valeur renvoyé : Number (nombre).
Renvoie le nombre total de repères sur le calque.
name
Type de valeur renvoyé : String (chaîne).
Renvoie le nom du calque.
Méthodes et attributs 3D du calque (référence de l’expression)
orientation
Type de valeur renvoyé : Property (Propriété) [3].
Renvoie la valeur en degrés de l’orientation 3D d’un calque 3D.
rotationX
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de rotation de l’axe x d’un calque 3D, en degrés.
rotationY
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de rotation de l’axe y d’un calque 3D, en degrés.
rotationZ
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de rotation de l’axe z d’un calque 3D, en degrés.
lightTransmission
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de la propriété Transmission de la lumière d’un calque 3D.
castsShadows
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur 1,0 si le calque projette des ombres.
acceptsShadows
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur 1,0 si le calque accepte les ombres.
acceptsLights
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur 1,0 si le calque accepte les lumières.
ambient
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en pourcentage de la composante ambiante.
diffuse
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en pourcentage de la composante diffuse.
specular
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en pourcentage de la composante spéculaire.
shininess
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en pourcentage de la composante de brillance.
metal
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur en pourcentage de la composante de métal.
Méthodes de conversion de l’espace calque (référence de l’expression)
Les méthodes de conversion de l’espace calque permettent de convertir les valeurs d’un espace à un autre, par exemple de l’espace du calque à l’espace univers. Les méthodes « from » convertissent les valeurs de l’espace nommé (composition ou univers) dans l’espace calque. Les méthodes « to » convertissent les valeurs de l’espace calque dans l’espace nommé (composition ou univers). Chacune de ces méthodes utilise un argument optionnel pour déterminer l’instant auquel la transformation est calculée. Cependant, il est pratiquement toujours possible d’utiliser l’instant en cours (par défaut).
Utilisez les méthodes de conversion vectorielles (« vec ») pour convertir un vecteur directionnel (différence entre deux valeurs de position, par exemple). Utilisez les méthodes non vectorielles pour convertir un point (une position, par exemple). Les espaces composition et univers sont identiques pour les calques 2D. Pour les calques 3D, l’espace composition est relatif à la caméra active, alors que l’espace univers en est indépendant.
toComp(point, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : point est un tableau [2 ou 3] et t est un nombre.
Convertit un point de l’espace calque dans l’espace composition.
fromComp(point, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : point est un tableau [2 ou 3], et t est un nombre.
Convertit un point de l’espace composition dans l’espace calque. Le point résultant dans un calque 3D peut avoir une valeur différente de zéro, même s’il se situe dans l’espace calque. Exemple : fromComp(thisComp.layer(2).position)
toWorld(point, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : point est un ensemble (Array) [2 ou 3] et t est un nombre (Number).
Convertit un point de l’espace calque dans l’espace univers (indépendant de la vue). Exemple :
toWorld.effect("Bulge")("Bulge Center")
fromWorld(point, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : point est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Convertit un point de l’espace univers dans l’espace calque. Par exemple : fromWorld(thisComp.layer(2).position).
Pour obtenir un exemple d’utilisation possible de cette méthode, reportez-vous à la section Exemple d’expressions : création d’un renflement entre deux calques.
toCompVec(vec, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : vec est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Transforme un vecteur de l’espace de calque dans l’espace de composition. Par exemple : toCompVec([1,0])
fromCompVec(vec, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : vec est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Transforme un vecteur de l’espace de composition dans l’espace de calque. Par exemple (calque 2D) :
dir=sub(position, thisComp.layer(2).position); fromCompVec(dir)toWorldVec(vec, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : vec est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Convertit un vecteur de l’espace calque dans l’espace monde. Exemple : p1 = effect("Eye Bulge 1")("Bulge Center"); p2 = effect("Eye Bulge 2")("Bulge Center"); toWorld(sub(p1, p2))
fromWorldVec(vec, t=time)
Type de valeur renvoyé : Array (ensemble) [2 ou 3].
Type d’argument : vec est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Transforme un vecteur de l’espace monde dans l’espace de calque. Par exemple : fromWorld(thisComp.layer(2).position).
fromCompToSurface(point, t=time)
Type de valeur renvoyé : Array (ensemble) [2].
Type d’argument : point est un tableau (Array) [2 ou 3] et t est un nombre (Number).
Projette un point de l’espace composition à la surface du calque (valeur z à zéro) à l’endroit où il apparaît vu par la caméra active. Cette méthode est utile pour positionner des points de contrôle des effets. À n’utiliser qu’avec des calques 3D.
Méthodes et attributs Camera (référence de l’expression)
Les objets Camera ont les mêmes attributs et suivent les mêmes méthodes que les objets Layer à l’exception de source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap et de toutes les propriétés de surface.
pointOfInterest
Type de valeur renvoyé : Property (Propriété) [3].
Renvoie les valeurs de points ciblés d’une caméra dans l’espace monde.
zoom
Type de valeur renvoyé : Property (propriété).
Renvoie les valeurs de zoom d’une caméra en pixels.
Voici une expression pour la propriété Échelle d’un calque qui conserve la taille relative du calque dans l’image, tout en modifiant la position z du calque (profondeur) ou la valeur de zoom d’une caméra :
cam = thisComp.activeCamera; distance = length(sub(position, cam.position)); scale * distance / cam.zoom;
depthOfField
Type de valeur renvoyé : Property (propriété).
Renvoie 1 si la propriété Profondeur de champ d’une caméra est activée, ou renvoie 0 si la propriété Profondeur de champ est désactivée.
focusDistance
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de distance de mise au point d’une caméra en pixels.
aperture
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur d’ouverture d’une caméra, en pixels.
blurLevel
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de niveau de flou d’une caméra sous forme de pourcentage.
active
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si la caméra est la caméra active pour la composition à l’instant courant : le bouton d’option Vidéo est activé pour le calque de caméra, l’instant courant est dans la plage située entre le point d’entrée et le point de sortie du calque de caméra, et c’est le premier (le plus haut) de ces calques de caméra figurant dans le panneau Montage. Renvoie la valeur « false » dans tous les autres cas.
Méthodes et attributs Light (référence de l’expression)
Les objets Light ont les mêmes attributs et suivent les mêmes méthodes que les objets Layer à l’exception de source, effect, mask, width, height, anchorPoint, scale, opacity, audioLevels, timeRemap et de toutes les propriétés de surface.
pointOfInterest
Type de valeur renvoyé : Property (Propriété) [3].
Renvoie les valeurs de point d’intérêt d’une lumière dans l’espace monde.
intensity
Type de valeur renvoyé : Property (propriété).
Renvoie les valeurs d’intensité d’une lumière sous forme de pourcentage.
color
Type de valeur renvoyé : Property (Propriété) [4].
Renvoie la valeur de couleur d’une lumière.
coneAngle
Type de valeur renvoyé : Property (propriété).
Renvoie l’angle du cône d’une lumière, en degrés.
coneFeather
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de contour progressif du cône d’une lumière sous forme de pourcentage.
shadowDarkness
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur d’intensité de l’ombre d’une lumière sous forme de pourcentage.
shadowDiffusion
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de diffusion de l’ombre d’une lumière en pixels.
Méthodes et attributs Effect (référence de l’expression)
active
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si l’effet est activé (l’option Effet est sélectionnée).
param(name)
Type de valeur renvoyé : Property (propriété).
Type d’argument : name est une chaîne.
Renvoie une propriété d’un effet. Les points de contrôle des effets se situent toujours dans l’espace calque. Exemple :
effect("Bulge").param("Bulge Height")param(index)
Type de valeur renvoyé : Property (propriété).
Type d’argument : index est un nombre.
Renvoie une propriété d’un effet. Les points de contrôle des effets se situent toujours dans l’espace calque. Par exemple, effect("Bulge").param(4) renvoie la propriété de hauteur du renflement.
Méthodes et attributs Mask (référence de l’expression)
Vous pouvez relier les propriétés Tracé du masque à d’autres propriétés de tracé (tracés d’un calque de forme et traits du pinceau), mais les propriétés ne peuvent pas être soumises à une manipulation numérique directe au moyen d’expressions.
MaskOpacity
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur d’opacité d’un masque en pourcentage.
MaskFeather
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur de contour progressif d’un masque, en pixels.
maskExpansion
Type de valeur renvoyé : Property (propriété).
Renvoie la valeur d’expansion d’un masque, en pixels.
invert
Type de valeur renvoyé : Boolean (booléen).
Renvoie la valeur « true » si le masque est inversé et la valeur « false » dans le cas contraire.
value
Type de valeur renvoyé : Number (nombre), Array (ensemble) ou String (chaîne).
Renvoie la valeur dʼune propriété à lʼinstant courant.
valueAtTime(t)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : t est un nombre (Number).
Renvoie la valeur dʼune propriété à lʼinstant indiqué, en secondes.
Par exemple, pour que la valeur de la propriété de chaque image soit choisie de manière aléatoire parmi quatre valeurs, définissez vos quatre valeurs comme des images clés à 0, 1, 2 et 3 secondes, puis appliquez lʼexpression suivante à la propriété :
valueAtTime(random(4))
velocity
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Renvoie la valeur de la vitesse temporelle à l’instant courant. Pour les propriétés spatiales, comme Position, il renvoie la valeur du vecteur tangent. Le résultat est de même dimension que la propriété.
velocityAtTime(t)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : t est un nombre (Number).
Renvoie la valeur de la vitesse temporelle à lʼinstant indiqué.
speed
Type de valeur renvoyé : Number (nombre).
Renvoie une valeur de vitesse (1D et positive) égale à la vitesse à laquelle la propriété change à l’instant par défaut. Cet élément ne peut être utilisé que pour les propriétés spatiales.
speedAtTime(t)
Type de valeur renvoyé : Number (nombre).
Type d’argument : t est un nombre (Number).
Renvoie la valeur de la vitesse spatiale à lʼinstant indiqué.
wiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type dʼargument : freq, amp, octaves, amp_mult et t sont des nombres (Number).
Applique un tremblement aléatoire (secousses) à la valeur de la propriété.
La valeur freq est la fréquence en tremblements par seconde.
La valeur amp est lʼamplitude en unités de la propriété à laquelle elle est appliquée.
La valeur octaves est le nombre d’octaves de bruit à cumuler. Cette valeur permet de contrôler le niveau de détail dans le tremblement. Choisissez une valeur supérieure à 1 (par défaut) pour inclure des fréquences plus élevées, ou inférieure pour inclure des harmoniques d’amplitude dans le tremblement.
amp_mult est la valeur par laquelle amp est multiplié pour chaque octave. Cette valeur permet de contrôler la vitesse de filtrage des harmoniques. La valeur par défaut est 0,5 ; une valeur plus proche de 1 permet d’ajouter des harmoniques de même amplitude que la fréquence de base, alors qu’une valeur plus proche de 0 permet d’ajouter moins de détails.
t représente l’instant de départ de base. Cette valeur est établie par défaut à l’instant courant. Utilisez ce paramètre si vous souhaitez obtenir un tremblement de la valeur de la propriété échantillonnée à un instant différent.
Exemple : position.wiggle(5, 20, 3, .5) génère environ 5 tremblements par seconde avec une taille moyenne de 20 pixels. En plus du tremblement principal, il est possible de produire deux niveaux supplémentaires de tremblements détaillés à une fréquence de 10 et 20 tremblements par seconde, et des tailles respectives de 10 et 5 pixels.
Dans cet exemple, qui porte sur une propriété à deux dimensions telle que l’Échelle, les deux dimensions tremblent avec la même intensité :
v = wiggle(5, 10); [v[0], v[0]]
Cet exemple, sur une propriété à deux dimensions, tremble uniquement le long de l’axe y :
freq = 3; amp = 50; w = wiggle(freq,amp); [value[0],w[1]];
temporalWiggle(freq, amp, octaves=1, amp_mult=.5, t=time)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : freq, amp, octaves, amp_mult et t sont des nombres (Number).
Échantillonne la propriété à l’instant de tremblement. La valeur freq mesure la fréquence en tremblements par seconde ; amp mesure l’amplitude en unités de la propriété à laquelle il s’applique ; octaves est le nombre d’octaves à cumuler ; amp_mult est le multiplicateur de amp pour chaque octave et t est l’instant de départ de base. Pour que cette fonction soit significative, la propriété qu’elle échantillonne doit être animée puisqu’elle n’altère que le moment de l’échantillonnage et non sa valeur. Par exemple : scale.temporalWiggle(5, .2).
smooth(width=.2, samples=5, t=time)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Type d’argument : width, samples et t sont des nombres (Number).
Lisse la valeur de la propriété dans le temps, en convertissant les variations importantes et brèves de la valeur en variations plus petites et réparties de manière uniforme. Ce lissage s’effectue en appliquant à la valeur de la propriété un filtre « Box » à l’instant indiqué. La valeur width est la plage de temps (en secondes) sur laquelle la moyenne du filtre est évaluée. La valeur samples est égale au nombre d’échantillons discrets, répartis uniformément dans le temps. Une valeur plus élevée permet d’obtenir un meilleur lissage (mais une performance moindre). Il est préférable que la valeur samples soit impaire afin que la valeur à l’instant courant soit incluse dans la moyenne. Par exemple : position.smooth(.1, 5)
loopIn(type="cycle", numKeyframes=0)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Lit en boucle, vers l’avant, un segment de durée mesuré à partir de la première image clé du calque jusqu’au point de sortie du calque. La boucle est lue à partir du point d’entrée du calque. La valeur numKeyframes définit le segment qui est lu en boucle : ce segment correspond à la partie du calque qui va de la première image clé à l’image clé numKeyframes+1. Par exemple, loopIn("cycle", 3) lit en boucle le segment délimité par la première et la quatrième image clé. La valeur par défaut, 0, indique que toutes les images clés sont lues en boucle.
Les méthodes de lecture en boucle des images clés permettent de répéter une série d’images clés. Vous pouvez utiliser ces méthodes sur la plupart des propriétés. Sont exclues les propriétés qu’il est impossible d’exprimer par des valeurs numériques simples dans le panneau Montage, notamment la propriété Texte source, les propriétés de tracés de formes et la propriété Histogramme de l’effet Niveaux. Si elles sont trop grandes, les valeurs d’images clés ou de durées indiquées sont ramenées à la valeur maximale autorisée. De trop petites valeurs produisent une boucle constante.
Type de boucle |
result |
---|---|
cycle |
(par défaut) Répète le segment spécifié. |
pingpong |
Répète le segment spécifié en alternant les répétitions vers l’avant et vers l’arrière. |
offset |
Répète le segment spécifié tout en décalant chaque cycle selon la différence de la valeur de la propriété au début et à la fin du segment, multipliée par le nombre de lectures en boucle du segment. |
continue |
Ne répète pas le segment spécifié, mais continue à animer une propriété en fonction de la vitesse de la première ou de la dernière image clé. Par exemple, si la dernière image clé de la propriété Échelle d’un calque indique 100 %, le calque continue sa mise à l’échelle, à partir de la valeur 100 % jusqu’au point de sortie au lieu de retourner directement au point de sortie. Ce type n’accepte pas les arguments keyframes ou duration. |
loopOut(type="cycle", numKeyframes=0)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Lit en boucle, vers l’arrière, un segment de durée mesuré à partir de la dernière image clé du calque jusqu’au point d’entrée du calque. La boucle est lue jusqu’au point de sortie du calque. Le nombre spécifié d’images clés détermine le segment à lire en boucle. La valeur numKeyframes indique le nombre de segments d’images clés à lire en boucle ; la plage spécifiée est mesurée à partir de la dernière image clé. Par exemple, loopOut("cycle", 1) lit en boucle le segment délimité par la dernière image clé et l’avant-dernière image clé. La valeur par défaut, 0, indique que toutes les images clés sont lues en boucle. Consultez l’entrée loopIn pour plus de détails.
loopInDuration(type="cycle", duration=0)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Lit en boucle, vers l’avant, un segment de durée mesuré à partir de la première image clé du calque jusqu’au point de sortie du calque. La boucle est lue à partir du point d’entrée du calque. La durée spécifiée détermine le segment à lire en boucle. La valeur Duration indique le nombre de secondes de la composition à lire en boucle dans le segment ; la plage spécifiée est mesurée à partir de la première image clé. Par exemple, loopInDuration("cycle", 1) lit en boucle la première seconde de la totalité de l’animation. La valeur par défaut, 0, indique que le segment à lire en boucle doit commencer au point de sortie du calque. Consultez l’entrée loopIn pour plus de détails.
loopOutDuration(type="cycle", duration=0)
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Lit en boucle, vers l’arrière, un segment de durée mesuré à partir de la dernière image clé du calque jusqu’au point d’entrée du calque. La boucle est lue jusqu’au point de sortie du calque. La durée spécifiée détermine le segment à lire en boucle. La valeur Duration indique le nombre de secondes de la composition à lire en boucle dans le segment ; la plage spécifiée est mesurée à partir de la dernière image clé. Par exemple, loopOutDuration("cycle", 1) lit en boucle la dernière seconde de la totalité de l’animation. La valeur par défaut, 0, indique que le segment à lire en boucle doit commencer au point d’entrée du calque. Consultez l’entrée loopIn pour plus de détails.
key(index)
Type de valeur renvoyé : Key (clé) ou MarkerKey (clé de repère).
Type d’argument : index est un nombre (Number).
Renvoie l’objet Key ou MarkerKey en fonction de son numéro. Par exemple, key(1) renvoie la première image clé.
key(markerName)
Type de valeur renvoyé : MarkerKey (clé de repère).
Type d’argument : markerName est une chaîne (String).
Renvoie l’objet MarkerKey portant ce nom. À n’utiliser qu’avec les propriétés de repère.
nearestKey(t)
Type de valeur renvoyé : Key (clé) ou MarkerKey (clé de repère).
Renvoie l’objet Key ou MarkerKey le plus proche de l’instant spécifié.
numKeys
Type de valeur renvoyé : Number (nombre).
Renvoie le nombre d’images clés d’une propriété. Renvoie le nombre de repères d’une propriété de repère.
Si vous utilisez la commande Séparer les dimensions pour séparer les dimensions de la propriété Position afin d’obtenir des composants individuels, le nombre d’images clés change et la valeur renvoyée par cette méthode est alors modifiée.
propertyGroup(countUp = 1)
Type de valeur renvoyé : Group (Groupe).
Renvoie un groupe de propriétés lié à la propriété sur laquelle l’expression est écrite. Si, par exemple, vous ajoutez l’expression propertyGroup(1) à la propriété Rotation d’un trait du pinceau, l’expression prend comme cible le groupe de propriétés Transformer qui contient la propriété Rotation. Si, en revanche, vous ajoutez propertyGroup(2), l’expression prend comme cible le groupe de propriétés Pinceau. Cette méthode vous permet d’établir des relations entre des propriétés, indépendamment de leur nom. Cette méthode s’avère particulièrement utile lors de la duplication de propriétés contenant des expressions.
La méthode numProperties pour propertyGroup renvoie le nombre de propriétés dans le groupe de propriétés.
Cet exemple renvoie le nombre de propriétés du groupe contenant la propriété sur laquelle l’expression est rédigée :
thisProperty.propertyGroup(1).numProperties
propertyIndex
Type de valeur renvoyé : Number (nombre).
Renvoie l’index d’une propriété par rapport à d’autres propriétés de son groupe de propriétés, y compris les groupes de propriétés contenus dans les masques, effets, animations de texte, sélecteurs, formes, suivis et points de suivi.
name
Type de valeur renvoyé : String (chaîne).
Renvoie le nom de la propriété ou du groupe de propriétés.
Propriétés de projet (référence de l’expression)
Méthode d’expression :
- Objet thisProject thisProject : représente le projet qui contient l’expression.
Type :
Objet Projet, en lecture seule
- Attribut de projet fullPath thisProject.fullPath : chemin d’accès absolu, propre à la plateforme, au fichier contenant le nom de fichier de projet. Si le projet n’a pas été enregistré, il renvoie une chaîne vide.
Type : String (Chaîne) ; lecture seule.
- Attribut de projet bitsPerChannel thisProject.bitsPerChannel : profondeur de couleur du projet en bits par canal (bpc), définie dans Paramètres du projet > Gestion des couleurs. Valeur possible : 8, 16 ou 32. Équivalent à l’attribut de projet de script app.project.bitsPerChannel.
Tapez Number ; lecture seule.
- Attribut de projet linearBlending thisProject.linearBlending : état de l’option Fusionner les couleurs à l’aide d’un gamma de 1,0 dans Paramètres du projet > Gestion des couleurs. Équivalent à l’attribut de projet de script app.project.linearBlending.
Type : Boolean (Booléen) ; lecture seule.
Méthodes et attributs des objets Key (référence de l’expression)
Lorsque vous accédez à un objet Key, vous pouvez obtenir les propriétés time, index et value. L’expression suivante, par exemple, vous indique la valeur de la troisième image clé Position : position.key(3).value.
L’expression suivante, lorsqu’elle est écrite sur une propriété Opacité avec des images clés, ignore les valeurs des images clés et utilise uniquement leur position dans le temps pour déterminer le déclenchement d’un flash : d = Math.abs(time - nearestKey(time).time); easeOut(d, 0, .1, 100, 0)
d = Math.abs(time - nearestKey(time).time); easeOut(d, 0, .1, 100, 0)
value
Type de valeur renvoyé : Number (nombre) ou Array (tableau).
Renvoie la valeur de l’image clé.
time
Type de valeur renvoyé : Number (nombre).
Renvoie l’instant de l’image clé.
index
Type de valeur renvoyé : Number (nombre).
Renvoie l’index de l’image clé.
Attributs MarkerKey (référence de l’expression)
Vous pouvez utiliser les mêmes méthodes pour accéder aux valeurs des repères de composition et de calque. Utilisez l’objet thisLayer.marker pour accéder aux repères de calque et l’objet thisComp.marker pour accéder aux repères de composition.
Dans le cas d’expressions, les repères consistent en un type spécial d’objet Key. Vous pouvez donc accéder aux repères à l’aide de méthodes de type nearestKey(time). Les repères ont également des attributs time et index. L’attribut index n’est pas le numéro (nom) du repère, mais le numéro d’index de l’image clé. Il représente la place du repère sur l’échelle de temps.
Les expressions ont accès à toutes les valeurs d’un repère définies dans la boîte de dialogue Repère de composition ou Repère de calque. Cette expression inscrite dans la propriété Texte source d’un calque de texte affiche différentes données (instant, durée, index, commentaire (nom), chapitre, URL, image cible et nom du signal de départ du repère de calque le plus proche de l’instant courant) et indique si le repère est destiné à un signal de départ d’événement :
m = thisLayer.marker.nearestKey(time); s = "time:" + timeToCurrentFormat(m.time) + "\r" + "duration: " + m.duration + "\r" + "key index: " + m.index + "\r" + "comment:" + m.comment + "\r" + "chapter:" + m.chapter + "\r" + "URL:" + m.url + "\r" + "frame target: " + m.frameTarget + "\r" + "cue point name: " + m.cuePointName + "\r" + "Event cue point? " + m.eventCuePoint + "\r"; for (param in m.parameters){ s += "parameter: " + param + " value: " + m.parameters[param] + "\r"; } s
Étant donné que les métadonnées XMP d’un élément de métrage peuvent être converties en repères de calque sur la base de cet élément, les expressions peuvent interagir avec des métadonnées XMP. Pour plus d’informations, consultez la section Métadonnées XMP dans After Effects.
duration
Type de valeur renvoyé : Number (nombre).
Durée des repères (en secondes).
comment
Type de valeur renvoyé : String (chaîne).
Contenu du champ Commentaires de la boîte de dialogue Repère.
chapter
Type de valeur renvoyé : String (chaîne).
Contenu du champ Chapitre de la boîte de dialogue Repère.
url
Type de valeur renvoyé : String (chaîne).
Contenu du champ URL de la boîte de dialogue Repère.
frameTarget
Type de valeur renvoyé : String (chaîne).
Contenu du champ Image cible de la boîte de dialogue Repère.
eventCuePoint
Type de valeur renvoyé : Boolean (booléen).
Type de signal de départ paramétré dans la boîte de dialogue Repère. « True » pour Event ; « false » pour Navigation.
cuePointName
Type de valeur renvoyé : String (chaîne).
Contenu du champ Nom du signal de départ de la boîte de dialogue Repère.
parameters
Type de valeur renvoyé : ensemble associatif (Array) de valeurs de chaîne (String).
Contenu des champs Nom du paramètre et Valeur du paramètre de la boîte de dialogue Repère.
Par exemple, s’il existe un paramètre appelé « background color » (couleur d’arrière-plan), vous pouvez utiliser l’expression suivante pour accéder à sa valeur au niveau du repère le plus proche :
thisComp.marker.nearestKey(time).parameters["background color"]
MarkerValue.protectedRegion (référence de l’expression)
Méthode d’expression :
thisComp.marker.key(index).protectedRegion
Description :
Si la valeur est « true », le repère de composition se comporte comme une zone protégée.
Type :
Booléen ; lecture seule.
Accès des expressions à des points de tracé sur les formes, masques et contours (référence de l’expression)
Vous pouvez utiliser des expressions pour lire et écrire les coordonnées x et y de points de tracé, ou de sommets, pour les éléments suivants :
- Masques de fusion
- Formes de Bézier
- Contours sur les effets Peinture, Roto-pinceau et Améliorer le contour.
Méthodes d’expression :
- Méthode de points() de tracé : {pathProperty}.points (t = time) pour obtenir les coordonnées x,y de tous les points d’un tracé. Les coordonnées des points de tracé du masque de calque sont déterminées en fonction de l’origine du calque dans son coin supérieur gauche. Les coordonnées des points de tracé des formes de Bézier sont déterminées en fonction du point d’ancrage du groupe de formes du tracé, par exemple, Transformation : Forme 1 > Point d’ancrage. Les coordonnées des points de tracé de l’outil pinceau sont relatives au début du contour ; le premier point étant [0,0]. Vous pouvez également spécifier l’heure à laquelle réaliser l’échantillonnage sur le tracé. Vous pouvez transmettre cette méthode à la méthode createPath() pour le paramètre points lors de la duplication d’un tracé.
Paramètres :
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
ensemble de tableaux de paires de nombres, arrondis à la quatrième décimale.
- Méthode de tracé inTangents() : {pathProperty}.inTangents(t = time) pour obtenir les coordonnées x,y de la poignée de tangente entrante pour tous les points sur un tracé. Les valeurs des coordonnées de tangente sont décalées par rapport aux coordonnées du point parent, c’est-à-dire que la valeur [0,0] ne crée aucune courbure au niveau de la tangente entrante. Cette méthode peut être transmise à la méthode createPath() pour le paramètre inTangents lors de la duplication d’un tracé. Vous pouvez également spécifier l’heure à laquelle réaliser l’échantillonnage sur le tracé.
Paramètres :
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
ensemble de tableaux de paires de nombres, arrondis à la quatrième décimale.
- Méthode de tracé outTangents() : {pathProperty}.outTangents(t = time) pour obtenir les coordonnées x,y de la poignée de tangente sortante pour tous les points sur un tracé. Les valeurs des coordonnées de tangente sont décalées par rapport aux coordonnées du point parent, c’est-à-dire que la valeur [0,0] ne crée aucune courbure au niveau de la tangente sortante. Cette méthode peut être transmise à la méthode createPath() pour le paramètre outTangents lors de la duplication dʼun tracé. Vous pouvez également spécifier lʼheure à laquelle réaliser lʼéchantillonnage sur le tracé.
Paramètres :
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
ensemble de tableaux de paires de nombres, arrondis à la quatrième décimale.
- Méthode de tracé isClosed() : {pathProperty}.isClosed()Détermine si le tracé est ouvert ou fermé. Renvoie la valeur true si le tracé est fermé et false s’il est ouvert. Cette méthode peut être transmise à la méthode createPath() pour le paramètre is_closed lors de la duplication dʼun tracé.
Paramètres :
aucun
Renvoie :
booléen
- Méthode de tracé pointOnPath() {pathProperty}.pointOnPath(percentage = 0.5, t = time)Obtenir les coordonnées x, y d’un point arbitraire le long d’un tracé. Le point est exprimé en pourcentage de la longueur d’arc du tracé. 0 % est le premier point et 100 % le dernier. Lorsque le tracé est fermé, 0 % et 100 % renvoient les mêmes coordonnées. Le pourcentage de longueur d’arc sert à garantir une vitesse uniforme le long du tracé. Hormis les valeurs 0 % et 100 %, les pourcentages ne correspondent pas forcément aux points de Bézier sur le tracé. Pour un tracé à trois points, le deuxième point n’est pas nécessairement à 50 %. Cela signifie également que pour un tracé ouvert et un tracé fermé comportant des points identiques, le pourcentage le long du tracé ouvert ne renvoie pas les mêmes coordonnées que le tracé fermé en raison de la longueur supplémentaire du tracé fermé. Vous pouvez également spécifier lʼheure à laquelle réaliser lʼéchantillonnage sur le tracé.
Paramètres :
percentage |
Nombre compris entre 0 et 1, facultatif. Pourcentage le long de la longueur d’arc du tracé à échantillonner. Les valeurs inférieures à 0 et supérieures à 1 sont écrêtées. La valeur par défaut est 0,5. |
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
un ensemble de paires de nombres.
- Méthode de tracé tangentOnPath() {pathProperty}.tangentOnPath(percentage = 0.5, t = time) Obtenir les coordonnées x, y de la poignée de tangente sortante pour un point arbitraire sur un tracé. Les valeurs des coordonnées de tangente sont décalées par rapport aux coordonnées du point parent, c’est-à-dire que la valeur [0,0] ne crée aucune courbure au niveau de la tangente sortante. La poignée de la tangente entrante est l’inverse de cette valeur (multipliez les coordonnées x, y par -1). Le point parent de la tangente est exprimé en pourcentage de la longueur d’arc du tracé. Les coordonnées renvoyées par tangentOnPath() sont calculées à partir de son point parent et sont différentes de celles renvoyées par outTangents() si un point défini par l’utilisateur existe également à ce pourcentage de longueur d’arc. La distance linéaire entre les coordonnées du point parent et les coordonnées tangentOnPath() sera toujours égale à 1. Vous pouvez multiplier les coordonnées renvoyées pour créer une tangente plus longue, par ex. (myPath.tangentOnPath() * 100). Vous pouvez également spécifier lʼheure à laquelle réaliser lʼéchantillonnage sur le tracé.
Paramètres :
percentage |
Nombre compris entre 0 et 1, facultatif. Pourcentage le long de la longueur d’arc du tracé à échantillonner. Les valeurs inférieures à 0 et supérieures à 1 sont écrêtées. La valeur par défaut est 0,5. |
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
un ensemble de paires de nombres.
- Méthode de tracé normalOnPath() {pathProperty}.normalOnPath(percentage = 0.5, t = time) pour obtenir les coordonnées x,y calculées de la normale d’un point arbitraire le long d’un tracé. Les coordonnées des normales sont décalées par rapport aux coordonnées du point parent ; la valeur [0,0] est la même que celle du point parent. Le point parent de la normale est exprimé en pourcentage de la longueur d’arc du tracé.Lisez la description de la méthode pointOnPath() pour plus de détails sur le pourcentage de longueur d’arc. Les coordonnées renvoyées par normalOnPath() sont calculées à partir de son point parent. La distance linéaire entre les coordonnées du point parent et les coordonnées normalOnPath() sera toujours égale à 1. Vous pouvez multiplier les coordonnées renvoyées pour créer une tangente plus longue, par ex. (myPath.normalOnPath() * 100).Vous pouvez également spécifier lʼheure à laquelle réaliser lʼéchantillonnage sur le tracé.
Paramètres :
percentage |
Nombre compris entre 0 et 1, facultatif. Pourcentage le long de la longueur d’arc du tracé à échantillonner. Les valeurs inférieures à 0 et supérieures à 1 sont écrêtées. La valeur par défaut est 0,5. |
t |
Nombre, facultatif. Heure de la composition (en secondes) à laquelle échantillonner le tracé. La valeur par défaut est time (l’heure actuelle). |
Renvoie :
un ensemble de paires de nombres.
- Méthode de tracé createPath() : {pathProperty}.createPath(points = [[0,0], [100,0], [100,100], [0,100]], inTangents = [], outTangents = [], is_closed = true) pour créer un objet de tracé à partir d'un ensemble de points et de tangentes. Les points sont définis par un ensemble de paires de nombres représentant leurs coordonnées x,y. La longueur du tableau doit être au moins égale à 1 et peut être supérieure. Les poignées tangentes entrantes et sortantes des points sont définies par un tableau de paires de nombres représentant leurs coordonnées de décalage x,y. La longueur des matrices tangentielles doit être identique à celle des paramètres de points. Les valeurs des coordonnées de tangente sont décalées par rapport aux coordonnées du point parent, c’est-à-dire que la valeur [0,0] ne crée aucune courbure au niveau de la tangente entrante. Les méthodes points(), inTangents(), outTangents() et isClosed() d’un tracé peuvent être transmises aux paramètres points, inTangents, outTangents et is_closed pour dupliquer un tracé. Les points et les tangentes d’un même tracé peuvent être transmis à createPath() avec des modifications pour générer un résultat différent. Par exemple, lʼexpression suivante supprime les courbes du Masque 1 en ne transmettant pas les paramètres inTangents ou outTangents :
myMask = mask("Mask 1").path;
myMask.createPath(myMask.points());
Lʼexemple suivant transmet les points et les tangentes du Masque 1 et les convertit en un tracé ouvert en définissant is_closed sur false :
myMask = mask("Mask 1").path;
myMask.createPath(myMask.points(), myMask.inTangents(), myMask.outTangents(), false);
points |
Tableau de longueur 1 ou supérieure contenant des tableaux de paires de nombres représentant les coordonnées [x, y] des points de tracé. Requis si aucun paramètre n’est transmis (c.-à-d. CreatePath()). La valeur par défaut est [[0,0], [100,0], [100,100], [0,100]]. |
is_closed |
Booléen, facultatif. Détermine si le masque est fermé. Si la valeur est true, le dernier point est connecté au premier. La valeur par défaut est true. |
inTangents |
Tableau contenant des ensembles de paires de nombres représentant les coordonnées de décalage [x, y] des poignées de tangentes sortantes aux points du tracé. Requis si aucun paramètre n’est transmis (c.-à-d. CreatePath()). La longueur du tableau doit être identique à celle des points, ou vous pouvez transmettre un tableau vide ([]), qui aura la même longueur que celui des points et [0,0] pour toutes les tangentes. La valeur par défaut est un tableau vide. |
outTangents |
Tableau contenant des ensembles de paires de nombres représentant les coordonnées de décalage [x, y] des poignées de tangentes entrantes aux points du tracé. Requis si aucun paramètre n’est transmis (c.-à-d. CreatePath()). La longueur du tableau doit être identique à celle des points, ou vous pouvez transmettre un tableau vide ([]), qui aura la même longueur que celui des points et [0,0] pour toutes les tangentes. La valeur par défaut est un tableau vide. |
Renvoie :
un objet de tracé.
Exemples :
- Exemple 1
Lʼexemple écrit, dans une chaîne, la liste des coordonnées des points et des tangentes du Tracé 1 de la Forme 1 sur le Calque de forme 1, à lʼinstant t = 0. Appliquez ceci à la propriété du texte source dʼun calque de texte pour une lecture des coordonnées et des tangentes entrantes et sortantes de la forme.
pointsList = "";
sampleTime = 0;
myShape = thisComp.layer("Shape Layer 1").content("Shape 1").content("Path 1").path;
for (i = 0; i < myShape.points(sampleTime).length; i++) {
pointsList += "c: " + myShape.points(sampleTime)[i].toString() + " i: " + myShape.inTangents(sampleTime)[i].toString() + " o: " + myShape.outTangents(sampleTime)[i].toString() + "\n";
}
pointsList;
- Exemple 2
L’exemple lit les coordonnées du premier sommet du Masque 1 sur le Solide gris foncé 1 et les convertit en coordonnées de composition. Appliquez ceci à un paramètre de point d’effet 2D, tel qu’un tracé dynamique ou Particle Systems II de Creative Cloud, pour que l’effet transmette ou suive le premier point d’un masque animé. Dupliquez lʼeffet et modifiez la valeur de lʼindice des points de tracé ([0]) pour tracer ou suivre les autres points du masque.
myLayer = thisComp.layer("Dark Gray Solid 1");
myLayer.toComp(myLayer.mask("Mask 1").maskPath.points()[0]);
Animation orientée données (référence de lʼexpression)
Méthodes dʼexpression :
- Attribut de métrage sourceText {footageItem}.sourceText renvoie le contenu d’un fichier .JSON sous forme de chaîne. La méthode eval() peut être utilisée pour convertir la chaîne en tableau d’objets sourceData, identique aux résultats de l’attribut sourceData, à partir duquel les différents flux de données peuvent être référencés comme attributs hiérarchiques des données. Par exemple :
var myData = eval(footage("sample.json").sourceText);
myData.sampleValue;
Type :
chaîne, contenu du fichier .JSON ; en lecture seule.
- Attribut de métrage sourceData {footageItem}.sourceData renvoie les données d’un fichier .JSON sous forme de tableau d’objets sourceData. La structure du fichier .JSON détermine la taille et la complexité du tableau. Différents flux de données peuvent être référencés comme attributs hiérarchiques des données. Par exemple, étant donné un flux de données appelé Color, lʼexemple suivant renvoie la valeur de Color du premier objet de données : footage("sample.json").sourceData[0].Color
Lʼusage standard consiste à affecter lʼattribut sourceData dʼun fichier .JSON à une variable, puis à référencer le flux de données souhaité. Par exemple :
var myData = footage("sample.json").sourceData;
myData[0].Color;
Type :
Tableau dʼobjets sourceData ; en lecture seule.
- La méthode de métrage dataValue() {footageItem}.dataValue(dataPath) renvoie la valeur du flux de données statique ou dynamique indiqué dans un fichier .mgJSON. Accepte une seule valeur de tableau pour définir le tracé dans la hiérarchie jusqu’à un flux de données souhaité. Par exemple :
footage("sample.mgjson").dataValue([0]) renvoie les données du premier enfant.
footage("sample.mgjson").dataValue([1][0]) renvoie les données du premier enfant dans le second groupe.
Paramètres :
dataPath |
Tableau, requis. Tracé dans la hiérarchie jusqu’à un flux de données statique ou dynamique. |
Renvoie :
valeur du flux de données.
- La méthode de métrage dataKeyCount() {footageItem}.dataKeyCount(dataPath) renvoie le nombre dʼéchantillons dans un flux de données dynamique spécifié dans un fichier .mgJSON. Accepte une seule valeur de tableau pour définir le tracé dans la hiérarchie jusquʼà un flux de données dynamique souhaité.
Par exemple :
- footage("sample.mgjson").dataKeyCount([0]) renvoie le nombre dʼéchantillons pour le premier enfant.
- footage("sample.mgjson").dataKeyCount([1][0]) renvoie le nombre dʼéchantillons pour le deuxième groupe.
Paramètres :
dataPath |
Tableau, requis. Tracé dans la hiérarchie jusqu’à un flux de données statique ou dynamique. |
Renvoie :
nombre dʼéchantillons dans un flux de données dynamique.
- La méthode de métrage dataKeyTimes() {footageItem}.dataKeyTimes(dataPath, t0 = startTime, t1=endTime) renvoie la durée en secondes des échantillons d’un flux de données dynamique spécifié dans un fichier .mgJSON. Il est possible de spécifier l’étendue temporelle à partir de laquelle les échantillons doivent être renvoyés. Par défaut, la durée de tous les échantillons entre les paramètres startTime et endTime dans le flux de données dynamique est renvoyée, telle que définie par la propriété samplesTemporalExtent du fichier .mgJSON. Accepte une seule valeur de tableau pour définir le tracé dans la hiérarchie jusquʼà un flux de données dynamique souhaité.
Lʼexemple suivant renvoie les durées des échantillons entre 1 et 3 secondes pour le premier enfant :
footage("sample.mgjson").dataKeyTimes([0], 1, 3)
Paramètres :
dataPath |
Tableau, requis. Tracé dans la hiérarchie jusqu’à un flux de données dynamique. |
t0 |
Nombre, facultatif. Heure de début (en secondes) de la plage à partir de laquelle les échantillons doivent être renvoyés. Par défaut, startTime. |
t1 |
Nombre, facultatif. Heure de fin, en secondes, de la plage à partir de laquelle les échantillons doivent être renvoyés. Par défaut, endTime. |
Renvoie :
tableau de nombres représentant les durées des échantillons.
- La méthode de métrage dataKeyValues() {footageItem}.dataKeyValues(dataPath, t0 = startTime, t1=endTime) renvoie les valeurs des échantillons d’un flux de données dynamique spécifié dans un fichier .mgJSON. Il est possible de spécifier l’étendue temporelle à partir de laquelle les échantillons doivent être renvoyés. Par défaut, la durée de tous les échantillons entre les paramètres startTime et endTime dans le flux de données dynamique est renvoyée, telle que définie par la propriété samplesTemporalExtent du fichier .mgJSON. Accepte une seule valeur de tableau pour définir le tracé dans la hiérarchie jusquʼà un flux de données dynamique souhaité.
Par exemple :
footage("sample.mgjson").dataKeyValues([0], 1, 3) renvoie les valeurs des échantillons entre 1 et 3 secondes pour le premier enfant.
Paramètres :
dataPath |
Tableau, requis. Tracé dans la hiérarchie jusqu’à un flux de données dynamique. |
t0 |
Nombre, facultatif. Heure de début (en secondes) de la plage à partir de laquelle les échantillons doivent être renvoyés. Par défaut, startTime. |
t1 |
Nombre, facultatif. Heure de fin, en secondes, de la plage à partir de laquelle les échantillons doivent être renvoyés. Par défaut, endTime. |
Renvoie :
tableau de nombres représentant les valeurs des échantillons.
Méthode de conversion des couleurs Hex vers RVB (référence dʼexpression)
Cette méthode de conversion des couleurs, hexToRgb(), convertit les valeurs de couleur hexadécimales (#FF00FF, par exemple) en valeurs de couleur RVBA. Cela peut sʼavérer utile pour associer des paramètres de couleur à des valeurs de couleur représentées en tant que chaînes hexadécimales dans des sources de données JSON ou CSV/TSV.
Méthode dʼexpression :
hexToRgb(hexString) Convertit une couleur dans lʼespace de triplet hexadécimal en RVB ou une couleur dans lʼespace de quartet hexadécimal en RVBA. Dans le cas des triplets hexadécimaux, la valeur alpha par défaut est 1,0.
Paramètres :
hexString |
Chaîne représentant un triplet hexadécimal (6 chiffres, aucun canal alpha) ou un quartet (8 chiffres, avec un canal alpha), composé uniquement de chiffres ou des caractères A à F. Les caractères de début facultatifs 0x, 0X ou # sont ignorés. Les caractères au-delà de 8 chiffres sont ignorés. |
Renvoie :
tableau de valeurs de couleur RVBA.
Exemples :
les méthodes suivantes renvoient toutes [1,0, 0,0, 1,0, 1,0] :
- hexToRgb("FF00FF")
- hexToRgb("#FF00FF")
- hexToRgb("0xFF00FF")
- hexToRgb("0XFF00FFFF") Remarque : quartet hexadécimal à 8 chiffres ; les deux derniers chiffres définissent la valeur alpha sur 1,0.
Adobe
Recevez de l’aide plus rapidement et plus facilement
Nouvel utilisateur ?