module inscription newsletter haut de page forum mobile

Rejeter la 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
Rejeter la notice

Nouvelle Formation Prise de son : les inscriptions sont ouvertes !
Maîtrisez la qualité de vos prises de son avec notre formation théorique et pratique de 3 jours ! Du 14 au 16 mai 2024 à Paris.

[CommentFaire?] Demande d'expression...

Discussion dans 'Adobe After Effects' créé par Von Phabor, 7 Février 2013.

  1. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Bonjour à tous,

    je recherche une expression :

    J'ai plusieurs layers textes alignés en colone verticale.
    L'ensemble des layers défiles verticalement de bas en haut comme dans un générique.

    Je voudrais appliquer un changement d'échelle à chaque layer à une certaine coordonnée y. Disons qu'en arrivant au milieu de l'écran (y=540 sur une comp hd) il faudrait que le texte grossisse.

    Le grossissement doit être animé (par exemple de 100% à 130%) en entrée et en sortie. Je dois pouvoir définir la zone d'animation autour de la coordonnées 540. Donc, l'échelle commence à s'animer à y530, arrive à son max à y540 puis décline jusqu'à y550. Les valeurs 100%-130%-100%...

    Voilà, voilà... je pense que ce n'est pas trop compliqué mais je suis une burne en expression...:approb:
     
  2. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    J'ai presque trouvé ma réponse, seul un problème la taille de mon texte ne change que en hauteur alors que je voudrais changer les 2 paramètres de taille :

    f = 2; //factor to increase scale by

    min = 0; //distance in pixels from the center where the layer is at full scale

    max = 300; //distance in pixels from the center where the layer is at 'normal' scale

    c = [thisComp.width / 2, thisComp.height / 2]; //center of the composition

    p = toComp(anchorPoint); //location of the current layer in the composition

    d = Math.abs((p - c)[1]); //distance from the center along the y-axis

    ease(d, min, max, [value[0], f * value[1]], value);
     
  3. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Bon... voilà la solution... sauf que c'est basé sur le centre alors que j'aurais voulu choisir la zone de transformation de la taille... Si quelqu'un a une idée... je me sens un peu seul...:approb:

    f = 2; //factor to increase scale by

    min = 0; //distance in pixels from the center where the layer is at full scale

    max = 300; //distance in pixels from the center where the layer is at 'normal' scale

    c = [thisComp.width / 2, thisComp.height / 2]; //center of the composition

    p = toComp(anchorPoint); //location of the current layer in the composition

    d = Math.abs((p - c)[1]); //distance from the center along the y-axis

    ease(d, min, max, [f *value[0], f * value[1]], value);
     
  4. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    Je la trouve très bien ton expression et elle marche très bien.
    Pour délimiter une zone où il reste à 100% d'échelle avant de croître ou décroître, peut être faut il utiliser un "if else" où ton expression se trouve entre deux conditions (une de "avant" l'autre de "après").
     
  5. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    Alors en reprenant en expression, en me perdant à droite à gauche et en recommençant à zéro, j'obtiens un truc qui a l'air de marcher, mais à mon avis, c'est pas exactement ce que tu cherches, mais au moins ça fait une piste :
    Tu peux délimiter la zone plus facilement avec un controle d'expression slider pour les valeurs pour les comp.height.

    x = ease(transform.position[1], thisComp.height*0.3, thisComp.height*0.4, value*0.5,value);
    y = ease(transform.position[1], thisComp.height*0.6, thisComp.height*0.7, value,value*0.5);
    if ((transform.position[1] >0) && (transform.position[1] <thisComp.height*0.6)){
    x;
    }else{
    y;
    }
     
  6. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Merci mec :jap:

    La bécane est en calcul... je regarde ça demain matin ! :approb:
     
  7. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    La même expression, un peu nettoyée, avec un slider d'expression sur un calque d'effet.
    Ca marche bien, à voir maintenant si c'est exactement ce que tu voulais.

    x1=thisComp.layer("Adjustment Layer 1").effect("zone1")("Slider")/100;
    y1=thisComp.layer("Adjustment Layer 1").effect("zone2")("Slider")/100;
    x2=thisComp.layer("Adjustment Layer 1").effect("zone3")("Slider")/100;
    y2=thisComp.layer("Adjustment Layer 1").effect("zone4")("Slider")/100;
    f= thisComp.layer("Adjustment Layer 1").effect("facteur")("Slider")/100;

    a = ease(transform.position[1], thisComp.height*x1, thisComp.height*y1, value*f,value);
    b = ease(transform.position[1], thisComp.height*x2, thisComp.height*y2, value,value*f);

    if ((transform.position[1] >0) && (transform.position[1] <thisComp.height*x2)){
    a;
    }else{
    b;
    }
     
    • Je recommande ! Je recommande ! x 1
  8. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Hello,

    j'ai une erreur avec ta deuxième expression...

    Je relie les zones 1 à 4 et facteur à 5 paramètres glissière.

    Ca ne marche pas... je suis en version française...

    Dans mon expression le changement de taille est animé cela ne grandit pas d'un coup... est ce le cas aussi dans ta deuxième expression ?
     
  9. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    Il y a une erreur d'expression ou ça ne fonctionne pas comme il faut ?
    Je l'ai fait sur une version anglaise, ça vient peut être de là.

    J'ai animé en keyframe un solide qui se déplace de bas en haut.
    Le slider 1 indique le début du grossissement de zone. Le slider 2 l'endroit où il atteint son maximum d'échelle (défini par f). Le slider 3 détermine le début de la zone de rétrecissement. Le slider 4 le début de la zone où il reprend son échelle initiale.
     
  10. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    ok, un calque d'effet et 5 sliders... ça marche.

    en revanche je ne comprend pas trop le réglage des sliders... c'est quoi la logique ?
     
  11. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Ok... bon j'ai un client qui arrive...

    Je reprends ça en fin de journée.

    en tout cas merci ! Je te tiens au jus ! :approb:
     
  12. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    C'est un pourcentage.
    Slider1 à 20 veut dire que la zone commence à 20% de la hauteur de la comp, donc sur 1920x1080 ça donne 216 pixels etc...

    Je suis pas un expert en expression, il y a sûrement moyen de faire ça plus simplement et élégament. A voir si un super pro des expressions passe par là.
     
  13. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    Je test ça à fond ce soir mais il me semble que la limitation de ton expression c'est que la taille augmente brutalement. A moins d'animer le slider "facteur"...

    Il n'y a donc pas d'automatisation sans image clef d'une animation fluide de la taille.

    Je me trompe ?
     
  14. viclio

    Points Repaire:
    1 970
    Recos reçues:
    11
    Messages:
    656
    Appréciations:
    +0 / 4 / -0
    Non, c'est fluide, à moins bien sûr de lui demander de tripler de taille en 3 images.
    Je te passe le projet, c'est plus simple. Attention CS6 en anglais.
     
  15. Von Phabor

    Points Repaire:
    3 150
    Recos reçues:
    3
    Messages:
    1 568
    Appréciations:
    +0 / 0 / -0
    merci, je regarde ça ce soir...:approb:
     
Chargement...

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous