module inscription newsletter haut de page forum mobile

Dismiss Notice

ateliers live resolve avec forest

Ateliers Live Resolve - Formez-vous en ligne tous les mois avec Forest !
Faites rapidement évoluer la qualité de vos étalonnage avec nos ateliers mensuels de 3h.
Toutes les infos

Ateliers et Formations

Animation automatique sur texte

Discussion in 'Adobe After Effects' started by seraphin, May 28, 2013.

  1. seraphin

    Trophy Points:
    1,200
    Likes Received:
    1
    Messages:
    99
    Appréciations:
    +1 / 0 / -0
    Bonjour à tous,

    J'ai vu il y a peu de temps un effet d’apparition d'écriture pour des interviews que j'aimerais reproduire, mais impossible de remettre la main dessus. Je vais essayer de vous expliquer l'effet recherché.

    Quand une personne est interviewée, son nom apparaît.
    Chaque lettre apparaît une à une dans un rectangle qui se retourne, les rectangles diminuent en opacité, puis réapparaissent pour se retourner de nouveau et faire disparaître chaque lettre du nom, une à une.

    Pour l'effet, je pense y arriver lettre par lettre, en bricolant, mais j'aimerais faire cela automatiquement. C'est à dire paramétrer mon effet pour que, quand j'inscris un nom, le nombre de rectangle soit égale au nombre de caractère.

    Une idée ?
     
  2. beginUndoGroup

    Trophy Points:
    3,170
    Likes Received:
    6
    Messages:
    142
    Appréciations:
    +4 / 2 / -0
    Faire en sorte que le nombre de rectangle soit égal au nombre de caractères, ça ne paraît pas possible à moins de, soit trouver un plugin qui produit cet effet (dans ce cas tu n'as rien a faire), soit créer un solide par caractère.
    Il y a une expression qui permet de trouver les dimensions de la bounding box d'un texte : Text Bounding Box expression
    et donc d'adapter les dimensions d'un calque à celle d'un texte. Mais elle traite le texte en entier, pas chaque caractère séparément. Donc en fait il faudrait créer un solide et un calque texte par caractère.. c'est lourd.

    Pour créer un calque texte pour chaque caractère tu peux faire comme ça:

    1- Dans ta composition principale tu crées ton calque texte, appelé disons "MAIN TEXT" (ou comme tu veux, il faut juste adapter la suite).
    Ce texte sera invisible par la suite, il sert de contrôle.

    2- Tu dupliques "MAIN TEXT", appelles la copie disons "LETTRE 1" et la parente à "MAIN TEXT".
    Puis tu relis toutes ses propriétés de texte à "MAIN TEXT" (Source texte, et Path Options, More Options si tu comptes les utiliser).

    3- Dans "LETTRE 1" tu fais "Animer > Opacité", et dans l'animateur qui apparaît tu mets
    Opacité: 0%
    et pour le range selector (sélecteur de page ?) :
    Start : 0
    Début : 1
    Offset : thisLayer.name.slice("LETTRE ".length); //(expression)
    Dans la sous-rubrique Advanced tu mets
    Units : Index
    Mode : Substract
    (autres paramètres : défaut)

    4- Ensuite tu dupliques ce calque "LETTRE 1" autant de fois qu'il y a de caractères dans le mot (s'il y a un espace au caractère 'n' tu peux décocher la visibilité du calque correspondant)
    et tu mets l'opacité de "MAIN TEXT" à zéro.
    Tu contrôles tout avec "MAIN TEXT" mais si tu veux changer de taille de police (et toute autre options des fenêtres "caractères" et "paragraphe" il faut sélectionner tous les calques à la fois avant de faire de changements).
     
  3. seraphin

    Trophy Points:
    1,200
    Likes Received:
    1
    Messages:
    99
    Appréciations:
    +1 / 0 / -0
    Euh... hummm... Comment dire...

    Si je te dis "Merci infiniment", c'est assez ? :-)

    En réalité, la solution est effectivement lourde, mais la piste est très bonne. Je vais essayer par là, en espérant arriver à mes fins. Je te tiendrais au courant dans la suite du post.

    Si d'autres personnes ont des solutions, je suis preneur !
     
  4. ogt

    ogtx Regretté conseiller technique
    So

    Trophy Points:
    17,700
    Likes Received:
    548
    Messages:
    23,510
    Appréciations:
    +713 / 1,396 / -42
    Beaucoup plus simple :
    C'est l'animation prédéfinie de texte :
    Rotation intérieure par caractère 3D

    Olivier
     

    Attached Files:

  5. beginUndoGroup

    Trophy Points:
    3,170
    Likes Received:
    6
    Messages:
    142
    Appréciations:
    +4 / 2 / -0
    Je crois qu'il veut un fond derrière chaque caractère.
     
  6. seraphin

    Trophy Points:
    1,200
    Likes Received:
    1
    Messages:
    99
    Appréciations:
    +1 / 0 / -0
    Effectivement, c'est bien ça, mais avec un fond derrière !

    :)

    Je n'ai pas eu le temps d'approfondir la réponse qu'on m'a donné en premier, mais dès que j'ai le temps, d'ici la fin de la semaine, je réessaye !

    D'ici là, si vous avez d'autres idées... ;-)
     
  7. Fiev

    Trophy Points:
    3,170
    Likes Received:
    17
    Messages:
    351
    Appréciations:
    +0 / 0 / -0
    Bonjour

    Ça je ne pense pas qu'After puisse le faire automatiquement, à moins
    d'être une brute de script et programmation ...
    Sinon la solution d'ogt est à mon avis un bon début.
    Il ne te reste plus qu'à pré-composer l'animation du rectangle qui se retourne
    et réapparaît, et (hélas) à la main placer cette animation derrière chaque lettre
    qui apparaît. De plus, et comme en typographie les lettres n'ont pas la même
    "largeur" (entre un "I" et un "T" par exemple), tu pourras toujours appliquer
    tes pré-compositions en jouant sur l'échelle en X, et aussi au pire faire un
    remappage temporel en fonction de la vitesse d'apparition du nom complet
    avec l'effet de rotation intérieure.
     
  8. beginUndoGroup

    Trophy Points:
    3,170
    Likes Received:
    6
    Messages:
    142
    Appréciations:
    +4 / 2 / -0
    Une autre solution, qui nécessite une police monospace (ça restreint déjà pas mal le choix) et un bidouillage +/- efficace, ça dépend de ce que tu veux faire après:

    - Tu crées ton calque texte normal.
    - Tu le dupliques, et parente la copie à l'original. Pour la copie, tu prends une police de caractères munie d'un caractère carré/rectangle (par exemple, sous Windows, le "n" de Windings est un carré plein, le "g" et le "c" de Webdings sont des rectangles plein et vide respectivement). Pour avoir toujours le bon nombre de rectangles tu peux mettre cette expression dans Texte Source (pour les charcodes c'est une suggestion):

    function isAlphaNum(code){
    if ((code > 31 && code < 48 ) || (code > 57 && code < 65 ) || (code > 90 && code < 97) || (code > 122)) return false;
    return true;
    }

    t = thisComp.layer("Salut ! ").text.sourceText;
    N = t.length;
    str = "";
    for (var n=0; n<N; n++) if ( isAlphaNum(t.charCodeAt(n)) ) str += "c"; // carré plein de Windings
    str;


    Après il faut jouer sur les paramètres du panneau Caractères pour aligner comme il faut (galère :) )
    Et tous les animators que tu peux mettre sur ton calque original, il faut les dupliquer sur ton calque de rectangles...
    Bon ça vaut ce que ça vaut ....
     
    #8 beginUndoGroup, May 29, 2013
    Last edited: May 29, 2013
  9. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    Dans l'animation de texte il y a Valeur de caractère. Ce qui remplace tout les caractères par un caractère unique. Une possibilité serait de créer une police de caractère modifiée avec un rectangle à une certaine valeur ascii. Il existe des logiciel pour éditer un fichier de police.
    Sinon il faut utiliser un i maj et rajouter des modifications d'échelle.
     
  10. seraphin

    Trophy Points:
    1,200
    Likes Received:
    1
    Messages:
    99
    Appréciations:
    +1 / 0 / -0
    Merci pour vos précieux messages !

    J'ai pas eu le temps de m'y remettre, mais j'ai aperçu un indice ! :)

    Dans les paramètres d'animation d'un calque texte, quand on active un champ, on voit apparaître le sélecteur de plage. Si on lui indique qu'on veut travailler en caractère et non en pourcentage, le sélecteur de fin fait apparaître le nombre de caractère.

    J'en suis sur qu'il y a un moyen de travailler avec ce paramètre et le "bounding box" (2e message)
    Pas le temps d'essayer avant la semaine prochaine, je pense que ça peux se tester. Vous en pensez quoi ?
     
Loading...

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous