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

Ateliers et Formations

Besoin d'aide pour Expression

Discussion dans 'Adobe After Effects' créé par QuEcHUA, 17 Août 2008.

  1. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    Bonjour à tous,

    Je cherche à réaliser une transition sous AFX.
    Une rangée de fleurs tombe du haut de l'écran et sert de transition entre deux plans (une sorte de volet horizontal amélioré).

    Le problème vient du fait que je veuille animer ces fleurs avec des rotations sur l'axe Z pour chacune d'entre elle. Vu le nombre d'éléments à animer, le faire à la main est suicidaire.
    Si quelqu'un pouvait me donner un tuyau pour écrire une expression qui permette de le faire de manière automatique.Chaque fleur étant indépendante il faut intégrer dans l'expression une part de variable au niveau de la rotation afin d'obtenir quelque chose de pas trop uniforme.

    Merci à vous.
     
  2. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
  3. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
    elles sont faites comment tes fleurs ? des instances d'une pré-comp ?
     
  4. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    Les fleurs sont simplement des calques .psd avec alpha.
     
  5. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    La fonction wiggle fonctionne bien mais ça ne donne pas l'effet escompté.
    J'obtiens de multiples variations de la rotation sur une plage de valeurs donnée alors que je recherche plutôt une valeur de rotation fixe mais prise au hasard dans une plage de valeurs.

    Ce qui aboutirai visuellement à la chose suivante:
    - Chaque fleur tourne dans un sens et un seul
    - A des vitesses différentes les unes des autres puisque l'expression détermine une valeur de rotation entre 10 et 360° par exemple

    Comme j'ai une multitude de fleurs à animer, cela me permettrai d'obtenir des mouvements différents pour chaque fleur en copiant/collant simplement l'expression sur tous mes éléments.

    J'espère avoir été clair dans mes explications :help:
     
  6. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    L'expression :
    transform.zRotation.random (360)

    ne fonctionne pas. AE m'indique qu'il ne la connait pas.
     
  7. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    J'avance un peu:

    La fonction random (360) fonctionne. Le seul problème c'est que j'obtiens une valeur différente à chaque image. Comment faire pour que la valeur soit fixe?

    Merci
     
  8. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
    en fait il faurait : wiggle(nbchangementsouhaites/dureedelaTL (en sec) , rotationmaxsouhaitee);
    Si ta TL fait 8 secondes et que tu veux 1 seule valeur,
    wiggle(1/8,360)
    tu veux 2 changements ? wiggle(2/8,360)
    etc ...

    donc dans ton cas, a priori il te faut wiggle(1/dureeTL, Rotation max souhaitée : random ? )
     
  9. sylv

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    497
    Appréciations:
    +0 / 0 / -0
    ou l'effet éclat pour un plus joli résultat -> ayato@web
     
  10. Sequelles

    Sequelles Modérateur
    Modérateur So

    Points Repaire:
    11 780
    Recos reçues:
    20
    Messages:
    4 261
    Appréciations:
    +2 / 13 / -0
    Code:
    seedRandom(1,true);
    random(360)+time*random(180,360);
    seedRandom permet justement de bloquer les fonctions random qui suivent. Le premier paramètre est le seed qui est le générateur, ça change le resultat du hasard. Le deuxième paramètre est un commutateur, on peut mettre false ou true pour désactiver ou activer le blocage.
     
  11. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    L'expression fonctionne bien mais les fleurs tournent toutes à la même vitesse et dans le même sens (horaire).
    J'ai tenté:

    J'obtiens bien des valeurs négatives en rotation mais ça n'as pas d'effet: ça tourne toujours dans le même sens...
     
  12. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
    c'est normal, si ta compo finale est composée de N instances de ta pre-comp avec l'expression dedans, elles épousent toutes le meme comportement.
    il faut placer les expressions sur les layers dans la comp finale

    j'ai tester avec ma formule à base de wiggle ça fonctionne très bien. je ne sais pas si c'est ce que tu veux, mais j'ai bien 5 étoiles qui tournent à des vitesses différentes.
     
  13. QuEcHUA

    Points Repaire:
    550
    Recos reçues:
    0
    Messages:
    16
    Appréciations:
    +0 / 0 / -0
    Ma comp comporte plus de 30 calques comprenant chacun une seule fleur.
    Je saisis pas bien ce que tu veux dire.

    J'ai une composition avec des calques (les fleurs tirées de psd).
    Je ne bosse pas sur des précomp que j'ai intégré à une comp finale.
     
  14. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
    Ok.
    Donc tu es bien obligé de mettre une une expression sur chaque calque non ?
    dans ce cas, ma wiggle doit fonctionner.
    Sinon, j'ai une autre idée, mais je vais la tester un peu avant.
     
  15. minirecif

    Points Repaire:
    1 200
    Recos reçues:
    2
    Messages:
    1 271
    Appréciations:
    +0 / 0 / -0
    Ok, voila mon autre idée.
    ATTENTION : ce ne sont pas des expressions mais du SCRIPTING, c'est à dire , exécution d'un script (en .js ici) qui va parcourir la comp et effectuer certaines actions.

    Pour utiliser ce script.
    Lance AE.
    sélectionne dans la fenêtre projet la composition sur laquelle tu veux exécuter le script.
    Va dans fichier / ouvrir l'éditeur de script.
    Ouvre le script en piece jointe de ce post.
    J'ai fait un truc un peu "bourrin" qui place 2 Keyframe sur la propriété Rotation de CHAQUE calque de la compo.
    La première et derniere KeyFrame sont indiquée en début de script par PremK et DerK (les valeurs sont en secondes).
    Lorsque tu as mis les valeurs qui t'intéressent, Execute le script. (tu cliques sur le triangle - genre play - en haut de la fenêtre).
    Normalement ça fait ce que tu souhaites.
    Si tu veux "undo" , dans AE tu dois voir "Annuler rotations aleatoires" (effet de l'instruction app.beginUndoGroup("Rotations aleatoires");

    J'espère que cela t'aidera.

    PS : pour que la PJ passe sur le forum, j'ai du renommer le .js en .js.txt , mais tu peux virer le .txt quand tu l'enregistreras.
     

    Fichiers attachés:

Chargement...

Dernières occasions

 

Partager cette page

Dernières Occasions

 
Vous souhaitez annoncer sur le Repaire ? Contactez-nous