Connexion
Note: Il s'agit d'une traduction automatique, s'il vous plaît utilisez un langage clair, sans jargon.

Expressions Adobe After Effects 6

Dan Ebberts
Tutoriels :
Expressions Adobe After Effects 6
Expressions Adobe After Effects 6
Using Expressions in After Effects 6

Dan Ebberts Dan ebberts,
Sacramento, Californie, ETATS-UNIS

© 2003 par Dan ebberts et CreativeCOW.net. Tous les droits sont réservés.



Intro

Avec After Effects 6.0, Adobe a introduit une nouvelle fonctionnalité de merveilleux dans le monde des Expressions. La plupart de ceci est le résultat spectaculaire de nouvelles fonctionnalités qui ont été ajoutés à After Effects qui ne sont pas nécessairement destinés à des Expressions, mais tout de même augmenter la puissance disponible à l'Expression écriva. Il ya aussi eu quelques changements et améliorations à la langue elle-même Expression.


Nouvelle syntaxe

Tout d'abord de jeter un coup d'oeil à certains des changements à la mise en œuvre des Expressions. Multi-objets de mot, Les méthodes et propriétés sont exprimées en "intercaps" format au lieu d'utiliser un séparateur de souligner. Par exemple vous écrivez "thiscomp" au lieu de "this_comp", Ou "seedrandom" au lieu de "seed_random". L'ancienne syntaxe encore en AE 6.0, mais il est recommandé de passer à ce nouveau style.


Wiggle amélioration

Wiggle () est maintenant affecté par seedrandom (), Si vous n'êtes pas satisfait avec les valeurs que vous en avez de wiggle (), vous pouvez précéder par un appel à seedrandom () et vous obtiendrez des résultats différents pour chacun de semences. Par exemple en utilisant des semences de 13,

Wiggle avec seedrandom


seedRandom(13);
wiggle(3,35)

Vous donnera des résultats différents de la même wiggle () sans seedrandom Expression ():


Wiggle sans seedrandom


wiggle(5,35)

Cependant, Wiggle () ne tient pas compte du "temps" de seedrandom, Ce qui signifie que si vous avez fait quelque chose comme ça:


seedRandom(13,true);
wiggle(7,15)

Il continuera à se tortiller sur chaque image. Cependant, Si vous voulez wiggle () de tenir une valeur pour un certain nombre de cadres, Vous pouvez utiliser le nouveau posterizetime () la fonction.


Posterizetime

AE 6.0 comprend une nouvelle posterizetime () la fonction que vous pouvez utiliser pour bloquer votre animation périodiquement à un taux que vous spécifiez. Par exemple, Cette variation de notre Expression wiggle nous donnera une nouvelle position aléatoire 5 fois par seconde:

Wiggle avec posterizetime


posterizeTime(5);
wiggle(5,35)

Convertir l'audio à des images clés

Ok - nous allons entrer dans le très fun stuff. AE 6.0 a une nouvelle image clé assistant - convertir l'audio à des images clés. Cet assistant crée un nouveau calque nommé audio amplitude avec trois curseurs de gauche, Droit, Et combinée de canaux audio. Les curseurs sont des images clés représentant les niveaux de comp audio. Ainsi, Vous pouvez maintenant accéder à la comp audio via info Expressions. Presque (mais pas complètement) élimine le besoin de toujours utiliser Motion math.

audio to keyframes

Convertir l'audio à des images clés

Dans la figure ci-dessus, Nous avons importé deux fichiers audio. "hex salut.Wav "a été fortement la balance vers la gauche et la chaîne" hexfloor.Wav "a été la balance vers la droite. Puis l'assistant keyframe "convertir l'audio à des images clés» a été exécuté, Qui créé automatiquement une nouvelle couche null "audio amplitude" à curseur pour la "gauche", "droit" et "les deux" canaux. Le paramètre d'échelle de la "moyenne solide jaune" a été liée à la gauche curseur avec cette Expression:

Convertir l'audio à des images clés

Téléchargement de films (avec audio)

s = thisComp.layer("Audio Amplitude").effect("Left Channel")("Slider");
scale + [s,s]

De même,, Le paramètre d'échelle de la "moyenne cyan solide" est liée à la voie droite curseur. (note - J'ai quitté la sortie audio de la petite vidéo de démonstration, car il devient très vite ennuyeux que le film de boucles. Si vous voulez entendre, Cliquez sur le lien de téléchargement ci-dessus). Le résultat, Comme vous pouvez le voir, Est que les deux solides chaque échelle en synchronisation avec le canal audio qui sont liées à.


Texte!

Le nouveau type d'outils intégrée dans After Effects 6.0, sont tout simplement incroyables. L'intégration de la gamme des animateurs et sélecteurs de fournir la capacité de créer rapidement des animations de texte incroyablement puissant. Une couverture adéquate de cette question pourrait remplir un ensemble de cours (ou peut-être un livre) et je vais laisser cela à quelqu'un d'autre. Laissez-moi de dire que celle-ci plus de After Effects est une raison suffisante pour obtenir la mise à niveau. Il ya aussi un aspect passionnant de cette Expression pour les écrivains. Non seulement pouvez-vous maîtriser le texte et les animateurs de sélecteurs avec les Expressions, Mais aussi (enfin!), Vous pouvez contrôler la source du texte lui-même avec une Expression. Ce déchaîne toute la puissance et la fureur de la chaîne de traitement javascript de manipuler le contenu de votre texte animation. Nous allons commencer par un exemple simple et touchent à de très puissantes choses avant de nous faire.

Premier, Nous avons besoin de parler de la façon de créer un calque de texte. Il est très simple - il vous suffit de sélectionner l'outil texte, Cliquez dans la fenêtre de comp, Et tapez quelque chose. After Effects va créer un nouveau calque et le texte devient aussi que vous avez entré le nom de la couche. Si vous ouvrez le twirly de la nouvelle couche de texte dans le montage chronologique, puis ouvrez le "texte" twirly vous verrez le "texte source" bien. Alt / option, cliquez sur le chronomètre pour créer une Expression de cette propriété. Le résultat de votre Expression sera le texte qui est affichée. Il aura les attributs (police, Taille, Etc.) Du premier caractère de ce que vous avez tapé pour créer la couche. Il est important de se rappeler que javascript va tenter de traiter le résultat de votre Expression comme une chaîne. Si le résultat est un nombre, Javascript se convertir en une chaîne de caractères. Cela signifie que votre Expression peut être simplement quelque chose comme ceci:

position expression

Expression: Position [0]

Téléchargement de films

position[0]

Javascript et de convertir les coordonnées x de la couche de la position d'une chaîne de caractères et de l'afficher. Dans la démo vidéo, Je keyframed la position de la couche de texte pour se déplacer dans l'écran. Comme vous vous en doutez, Le texte des modifications de la couche se déplace.

Maintenant, Nous avons besoin de parler un peu de javascript sur la façon dont les cordes poignées. En javascript, Les chaînes sont représentés comme une séquence de caractères entourés de guillemets simples ou doubles. Par exemple, " After Effects »Et« After Effects »Ainsint à la fois valables cordes. Javascript traite les chaînes de caractères comme des tableaux, à chaque caractère occupe un emplacement dans le tableau. De se souvenir que l'indexation dans javascript tableau commence à zéro, Le résultat de cette Expression:


s = "After Effects";
s[4]

Serait la chaîne "r".

En javascript, Vous pouvez utiliser l'opérateur "+" pour concaténer des chaînes. Par exemple,


"abcd" + "efgh"

Résultats dans "ABCDEFGH"

Javascript chaîne prévoit de nombreuses propriétés et méthodes. Nous allons regarder quelques-uns. Par exemple, Le résultat de


s = 'After Effects';
s.length

Sera 13 (la longueur de la chaîne), Et le résultat de


s = 'After Effects';
s.toUpperCase

Serait " After Effects ".

Il est construit en javascript objet chaîne appelée, Intéressant, "string". Cet objet est utile pour certains de la chaîne des méthodes. Par exemple, De créer une chaîne de caractères, vous pouvez faire quelque chose de ce genre:


String.fromCharCode(48) + String.fromCharCode(49) + String.fromCharCode(50)

Qui crée la chaîne "abc" par la conversion des codes de caractères de "a", "b", Et "c" (48,49, Et 50) à la chaîne de caractères.

Une autre chose utile à savoir est que si vous utilisez la séquence "r" dans une chaîne de caractères, Il sera interprété comme un retour chariot. Ainsi, Si vous avez une chaîne comme



 "abcdrefgh"

Il affiche en tant que:

Abcd
Efgh

Ok - maintenant, nous en savons assez pour être vraiment dangereux. Supposons que nous voulions créer une grille de 8x4 aléatoire hexadécimal caractères (hexadécimal est utilisé pour représenter les 16 chiffres de base et comprend les chiffres de 0 à 9 et les lettres A à F). Jetons un coup d'œil à une Expression qui fera de cette:

random hex grid

Aléatoire hex grille

Téléchargement de films

numRows = 4;
numChars = 8;
holdFrames = 5;

seed = Math.floor(time/(holdFrames*thisComp.frameDuration));
seedRandom(seed,true);

s = "";
j = 0;
while(j < numRows){
  k = 0;
  while (k < numChars){
    c = Math.floor(random(48,64));
    if (c > 57) c += 7;
    s += String.fromCharCode(c);
    k += 1;
  }
  s += "r";
  j += 1;
}
s

Parlons un peu de cette Expression. Les trois premières lignes de la définition de la taille de la grille et le temps d'organiser chaque série de nombres aléatoires. Les deux lignes suivantes juste fixer la graine aléatoire pour un nouveau numéro pour chaque série de 5 images. Alors notre variable de chaîne ( "s") est fixée à une chaîne nulle. Une chaîne nulle est une chaîne de longueur zéro, sans caractères, il (encore). Le reste de l'Expression est à deux boucles imbriquées qui fait construire le tableau au hasard dans notre chaîne de caractères variable. La boucle externe (celle indexée par "j" juste par le biais de séquences, les lignes de la grille, Ajoutant un retour chariot ( "r") à la fin de chaque ligne. L'intérieur de la boucle (celle indexée par "k") passe par la ligne caractère par caractère et génère un nombre aléatoire qui soit entre 48 et 57 ( "0" à "9") ou entre 65 et 70 ( "un " Par "f") et convertit les caractères du code à un caractère et concatène avec notre chaîne de production variable "s". Je vais laisser comme un exercice pour vous de découvrir tous les détails que j'ai laissé de côté dans cette brève description.


Le temps de scinder

Attardons-nous sur un autre texte chose avant de passer à autre chose. Split () est une autre chaîne de la méthode javascript qui ajoute beaucoup de pouvoir à notre texte, les Expressions. La façon dont cela fonctionne est de partager une longue chaîne en un tableau de chaînes de caractères plus petits. Il se brise la chaîne, où il rencontre un délimiteur que vous spécifiez. Examiner cette Expression:


s = "honesty,integrity,loyalty,compassion,empathy";
s.split(",")[2]

Cette Expression divise la chaîne de caractères "s" là où il trouve une virgule. Chacun des mots entre les virgules sont ensuite accessibles via un index de tableau. Dans cet exemple, Index zéro nous donnerait "l'honnêteté" et (comme dans notre Expression) indice 2 nous donnerait "loyauté". Ce qui nous donne un puissant moyen de modifier notre texte source à la volée, avec une Expression. Voici une autre version de l'Expression de texte source, qui détiennent chacun des termes, pour une seconde:

split() method

Démonstration de la scission () méthode

Téléchargement de films

holdTime = 1.0;
s = "honesty,integrity,loyalty,compassion,empathy";
j = Math.floor(time/holdTime);
s.split(",")[j]

Noter que cette Expression génère une erreur après "empathie" quand il est à cours de mots. Normalement je mettrais dans certaines parties de code pour vérifier que, Mais je voulais garder le désordre à des fins de démonstration.

De l'exhaustivité, Je vais inclure les deux autres Expressions, j'ai utilisé pour générer la vidéo de démonstration. Voici celui de l'échelle:


hold = .5;
expand = .5;
t =time%(hold + expand);

if(t <  hold){
  [100,100]
}else{
  linear(t,hold,hold + expand,[100,100],[700,700])
}

Et voici celui de l'opacité:


fade = .25;
hold = .5;

t = time%(fade + hold + fade);
if(t < fade){
  linear(t,0,fade,0,100)
}else if (t < (fade + hold)){
  100
}else{
  linear(t,fade+hold,fade+hold+fade,100,0)
}

Let's Paint!

paint

Peinture démo

Téléchargement de films

Une autre bonne nouvelle fonctionnalité introduite dans After Effects 6.0 est le moteur intégré de peinture. Comme le nouveau moteur de texte, Il s'agit d'une caractéristique qui mérite son propre tutorial. Ici, je vais aborder certaines choses que vous pouvez faire avec des Expressions qui font de la peinture des outils encore plus intéressant. Pour cet exemple, J'ai sélectionné l'outil Pinceau et a déformé un accident vasculaire cérébral. J'ai ensuite appliqué cette Expression à la fin de la course paramètre:


freq = .5;
50*(1-Math.cos(freq*time*Math.PI*2))

Puis j'ai appliqué cette Expression pour le coup de la couleur de paramètre:


if (index <=4){
  linear(index,1,4,[0,1,1,1],[1,0,1,1])
}else if (index <= 8){
  linear(index,5,8,[1,0,1,1],[1,1,0,1])
}else{
  linear(index,9,12,[1,1,0,1],[0,1,1,1])
}

Enfin, J'ai appliqué cette Expression à la course de rotation de la propriété:


(index-1)*30

Je puis en double la course 11 fois. Le résultat de tout cela est la Pinwheel prospectifs chose que vous voyez ici. Si vous télécharger le film, Vous verrez qu'il développe à partir du centre vers l'extérieur, puis recule de retour vers le centre toutes les deux secondes. Note que la position de doubles et de couleur eux-mêmes par les Expressions de façon tout est automatique une fois que vous avez mis en place les Expressions de la course et de faire les doublons. C'est vraiment un exemple simple, Mais les possibilités sont illimitées pour la procédure de peinture animations comme celle-ci.


Liquéfier!

Un autre de la très cool ajouts After Effects 6.0 est l'effet de liquéfier / outils. Liquéfier a un couple de paramètres qui sont intéressantes à appliquer à des Expressions. Pour cet exemple, Je déformé l'image avec le liquéfier outils et ensuite appliqué l'Expression suivante de la "distorsion pourcentage paramètre.

liquify

Liquéfier démo

Téléchargement de films


freq = 2;
(1-Math.cos(freq*time*Math.PI*2))*50

Le résultat est une oscillation entre 0% de l'effet de l'effet appliqué pleinement appliquée. Je pense avec un peu de soin dans la création de la distorsion, vous pouvez utiliser une Expression à la «fin» de paramètre pour créer un agréable »en agitant sous le vent" effet.


En utilisant les données de suivi

Enfin, Beaucoup de travail a pris dans l'amélioration de la tracker AE 6.0. L'une des nouvelles fonctions qui est d'un intérêt particulier pour les écrivains d'Expression est la possibilité de produire des matières premières données de suivi, Ce qui signifie que les données de suivi ne soit pas appliquée à une autre couche, Il est appliqué à une propriété de la couche de suivi a demandé «d'attacher le point". Vous pouvez alors, Bien sûr, Accès à ces données avec une Expression. Dans cette démo, J'ai suivi le chef de l'homme sur le deltaplane à l'aide du "brut" type de piste option. Puis j'ai appliqué cette Expression à tout un tas de points colorés:

tracker

Tracker démo

Téléchargement de films

L= thisComp.layer("Hang Glider.avi")
masterPos = L.motionTracker("Tracker 1")("Track Point 1").attachPoint
masterPos + wiggle(4,45) - position

Ce qui provoque les points pour "essaim" autour de la tête du mec sur le deltaplane. Silly exemple, Mais je pense que cela démontre que le concept a des possibilités.

Bien, Que la fin de notre tournée des nouvelles caractéristiques du After Effects 6.0 que l'expansion de l'univers de l'écrivain d'Expression. Cette mise à jour est un étonnant encore plus puissant par les nouvelles possibilités d'utilisation des Expressions.

FORUMSTUTORIELSMAGAZINESERVICESVIDEOSACTUALITéSBLOGS


© CreativeCOW.net Tous les droits sont réservés.

Communautés créatives du monde

[Haut]

Englishالعربية中文FrançaisDeutschעבריתहिन्दीItaliano日本語PortuguêsРусскийEspañol