- Ressources en ligne relatives à des exemples d’expressions
- Exemple d’expression : déplacement d’un calque selon un cercle
- Exemple d’expression : rotation des aiguilles d’une horloge
- Exemple d’expression : placement d’un calque entre deux autres
- Exemple d’expression : création d’une traînée d’images
- Exemple d’expression : création d’un renflement entre deux calques
- Exemple d’expression : opacité de fondu d’un calque 3D en fonction de la distance de la caméra
- Exemple d’expression : obtention d’un calque 3D invisible si dos à la caméra
- Exemple d’expression : basculement du calque à l’horizontale si dos à la caméra
- Exemple d’expression : animation de l’échelle à chaque repère de calque
- Exemple d’expression : lancement ou arrêt du tremblement à un moment déterminé
- Exemple d’expression : mise en correspondance du plan focal de la caméra avec un autre calque
De nombreux exemples de cette section sont basés sur des expressions fournies par Dan Ebberts.
Ressources en ligne relatives à des exemples d’expressions
Sur son site Web MotionScript, Dan Ebberts propose des exemples d’expressions et des didacticiels pour apprendre à manier les expressions. Il propose notamment un excellent article traitant de la détection de collision.
Trish et Chris Meyer proposent sur le site Web de ProVideo Coalition une série d’articles sur les expressions. Ces articles contiennent de nombreux exemples utiles.
Sur son site Web, Colin Braley met à disposition un didacticiel et un projet-type qui expliquent comment utiliser des expressions pour qu’un calque en repousse d’autres naturellement.
Le forum AE Enhancers contient de nombreux exemples et beaucoup d’informations utiles sur les expressions, ainsi que des scripts et des animations prédéfinies. Dans cet article posté sur le forum AE Enhancers, Paul Tuersley propose un didacticiel et un projet-type qui expliquent comment utiliser des expressions pour animer plusieurs calques en essaim.
Sur son site Web, Rick Gerard illustre dans un exemple le roulement d’un objet carré sur un sol en conservant ses faces en contact avec le plan du sol.
Sur le site Web Creative COW, Carl Larsen propose un didacticiel vidéo qui illustre l’utilisation des expressions et du lien de parenté pour lier la rotation d’un train de roues au mouvement horizontal d’un véhicule.
Marcus Geduld dévoile quelques passages de son livre After Effects Expressions sur le site Web Focal Press. Dans la section intitulée « String Manipulation » (Manipulation de chaînes), Marcus montre ainsi comment utiliser le langage JavaScript de base pour manipuler le texte de la propriété Texte source d’un calque. Il explique même comment utiliser un ensemble de chaînes, de telle sorte que la propriété Texte source d’un calque puisse être définie sur un mot spécifique d’une liste. Dans la section intitulée « Physical Simulations » (Simulations physiques), Marcus montre comment utiliser des expressions pour les orbites, les rebonds, les mouvements de secouement et la détection de collision.
Sur son site Web, Chris Zwar présente un exemple de projet qui permet de disposer automatiquement des images fixes ou des vidéos dans une grille (à l’instar d’un mur vidéo). Vous pouvez régler aisément la position et l’espacement à l’aide de curseurs connectés à un système d’expressions. Le projet comprend trois compositions : une pour les images fixes, une pour les vidéos et une pour créer un story-board automatique dans lequel la vidéo est échantillonnée à des intervalles définis par l’utilisateur et alignée dans une grille.
Le site Web de JJ Gifford présente plusieurs projets-types illustrant l’utilisation des expressions.
Dans le didacticiel vidéo qu’il propose sur son site Web, Rhys Enniks utilise des expressions, ainsi qu’un éventail d’animations de texte et de sélecteurs de plages, pour animer du texte comme s’il était saisi sur un écran d’ordinateur.
Maltaannon (Jerzy Drozda, Jr.) propose sur son site Web un didacticiel vidéo qui explique comment utiliser les expressions pour créer un volumètre à l’aide des résultats de la commande Convertir les données audio en images clés.
Sur son site Web graymachine, Harry Frank explique dans un didacticiel comment lire les données d’un fichier texte externe à l’aide des expressions.
Exemple d’expression : déplacement d’un calque selon un cercle
Vous pouvez également créer des expressions ne faisant pas appel aux propriétés d’autres calques. Par exemple, vous pouvez déplacer un calque selon un cercle parfait.
Exemple d’expression : rotation des aiguilles d’une horloge
Vous pouvez utiliser l’icône de sélection pour lier les valeurs de rotation entre plusieurs calques et animer les aiguilles de l’horloge (lorsque l’aiguille des heures parcourt une heure, l’aiguille des minutes fait un tour complet du cadran). Ce genre d’animation serait très long à mettre en place si vous deviez positionner les images clés des deux calques d’aiguille. Grâce à l’icône de sélection, quelques minutes suffisent.
Guy Chen nous fait découvrir sur After Effects Exchange, depuis le site Web d’Adobe, un projet simple dans lequel il approfondit cette idée en établissant une relation entre la rotation des aiguilles des minutes et des heures et la rotation de l’aiguille des secondes.
Harry Frank propose, sur son site Web graymachine, un projet d’horloge dans lequel le mouvement des aiguilles est lié à un effet Options pour expressions (Paramètre angle) sur un calque nul qui contrôle l’heure (Voir la section Effets Options pour expressions.)
Exemple d’expression : placement d’un calque entre deux autres
Cet exemple d’expression positionne et maintient un calque à une distance équivalente de deux autres calques.
Exemple d’expression : création d’une traînée d’images
Cet exemple d’expression indique qu’un calque doit rejoindre la position du calque de niveau supérieur dans le panneau Montage après un certain délai (dans ce cas, 0,5 seconde). Des expressions similaires peuvent être conçues pour d’autres propriétés géométriques.
Tous les calques suivent la même trajectoire avec un décalage de 0,5 seconde par rapport au précédent.
Sur son site Web MotionScript, Dan Ebberts fournit d’autres exemples et techniques relatifs à la création de traînées d’images.
Exemple d’expression : création d’un renflement entre deux calques
Cet exemple d’expression synchronise le centre de l’effet de renflement d’un calque avec la position d’un autre calque. Vous pouvez par exemple créer l’effet d’une loupe qui se déplace sur un calque, la portion de l’image située en dessous grossissant, par effet de renflement, au fur et à mesure que la loupe (c’est-à-dire le calque situé au-dessus) se déplace. Cette expression utilise la méthode fromWorld qui garantit un bon fonctionnement de l’expression, quels que soient les déplacements du calque loupe (ou du calque situé en dessous). L’expression restera intacte, même si vous effectuez une rotation ou un changement d’échelle sur le calque sous-jacent.
Vous pouvez utiliser d’autres effets avec cette expression (comme l’ondulation).
Exemple d’expression : opacité de fondu d’un calque 3D en fonction de la distance de la caméra
Appliquez l’expression suivante à la propriété Opacité d’un calque 3D : startFade = 500; // Start fade 500 pixels from camera.
endFade = 1500; // End fade 1500 pixels from camera.
try{ // Check whether there's a camera.
C = thisComp.activeCamera.toWorld([0,0,0]);
}catch(err){ // No camera, so assume 50mm.
w = thisComp.width * thisComp.pixelAspect;
z = (w/2)/Math.tan(degreesToRadians(19.799));
C = [0,0,-z];
}
P = toWorld(anchorPoint);
d = length(C,P);
linear(d,startFade,endFade,100,0)Le fondu commence à une distance de 500 pixels de la caméra et se termine à 1 500 pixels de la caméra. La méthode d’interpolation linéaire sert à faire correspondre les valeurs de distance avec des valeurs d’opacité.
Exemple d’expression : obtention d’un calque 3D invisible si dos à la caméra
Appliquez l’expression suivante à la propriété Opacité d’un calque 3D : if (toCompVec([0, 0, 1])[2] > 0 ) value else 0
Dan Ebberts explique cette expression sur son site Web MotionScript.
Exemple d’expression : basculement du calque à l’horizontale si dos à la caméra
Appliquez l’expression suivante à la propriété Echelle d’un calque 3D : if (toCompVec([0, 0, 1])[2] > 0 ) value else [-value[0], value[1], value[2]]
Exemple d’expression : animation de l’échelle à chaque repère de calque
Appliquez l’expression suivante à la propriété Echelle pour faire osciller un calque à chaque repère : n = 0;
t = 0;
if (marker.numKeys > 0){
n = marker.nearestKey(time).index;
if (marker.key(n).time > time) n--;
}
if (n > 0) t = time - marker.key(n).time;
amp = 15;
freq = 5;
decay = 3.0;
angle = freq * 2 * Math.PI * t;
scaleFact = (100 + amp * Math.sin(angle) / Math.exp(decay * t)) / 100;
[value[0] * scaleFact, value[1] / scaleFact];Exemple d’expression : lancement ou arrêt du tremblement à un moment déterminé
Vous pouvez utiliser n’importe quelle expression à la place de l’expression wiggle employée ici pour lancer et arrêter l’influence d’une expression à un moment déterminé.
Exemple d’expression : mise en correspondance du plan focal de la caméra avec un autre calque
Appliquez l’expression suivante à la propriété Distance de mise au point d’un calque de caméra pour que sa distance de mise au point corresponde à la distance jusqu’au point d’ancrage d’un calque appelé « cible » : target = thisComp.layer("target");
V1 = target.toWorld(target.anchorPoint) - toWorld([0,0,0]);
V2 = toWorldVec([0,0,1]);
dot(V1,V2);Dan Ebberts détaille cet exemple d’expression sur son site Web Motionscript.
à gauche du nom de la propriété tout en maintenant la touche Alt (Windows) ou Option (Mac OS) enfoncée.