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

Créer expression pour effet domino (Débutant)

Discussion dans 'Adobe After Effects' créé par sanuk, 26 Mai 2008.

  1. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Bonjour,
    Comme précisé dans le sujet, je débute avec les expressions...
    Et je voudrais créer une animation d'un chute de domino en 3D.
    Donc, j'essaie de positionner mes dominos grâce à une expression qui gère la position de chaque dominos sur l'axe X je tatonne et je devrait m'en sortir,
    ensuite pour la chute, je lie la rotation sur l'axe X d'un domino par rapport à l'autre.
    Je voudrais savoir si il est possible de commencer la chute lorsque les calques se touchent
    avec une expression,
    ou si il faut déterminer un interval de temps manuellement...
    Merci de vos éclaircissements!
    Benjamin
     
  2. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    En fouillant sur le post excellent "jeu sur les expressions"
    J'ai trouvé cette solution qui est très efficace pour un espace 2D
    Sauf que je suis dans un espace 3D j'essaie de l'adapter, si quelqu'un à plus de pistes...

     
  3. nab17connection

    Points Repaire:
    1 900
    Recos reçues:
    1
    Messages:
    1 051
    Appréciations:
    +0 / 0 / -0
    Al-Kashi

    Tu es en 3D puisque tu te sers du Z et de l'orientation...à moins que tu veuilles dire des calques avec une épaisseur, genre une précomp d'un "vrai" domino, c'est ça ?

    Pour l'expression de mon maître à penser oscarus, je ne pense pas qu'elle soit tout à fait correcte pour réprésenter des dominos qui tombent. Le problème vient de l'utilisation de la fonction linear(). Comme illustré sur l'image ci-dessous (vue de gauche), les dominos ne se touchent pas forcément. Cela peut peut être désiré, mais en général non. Pour qu'ils se collent tu peux utiliser la loi des cosinus.

    Je te laisse chercher encore un peu :bigsmile:

    [​IMG]
     
  4. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Merci de ta réponse,
    mes dominos sont bien des précomp avec une épaisseur, donc la position final n'est pas à l'horizontale, et effectivement dans le scripte d'oscarus, les dominos ne se touchent pas... Ce qui ne correspond pas a ce que je veux dans mon projet...
    Par contre ce scripte est très efficace!
    Merci de ta précieuse piste, je vais essayer de chercher.
    Il faut que je prenne en compte la face et le dos du domino
    la face doit toucher le dos et elle pivote sur sa base.
    donc c'est pas évident de dissocier ces deux contraintes...
    Passionnant les scripts, j'espère vite intégrer cette technique !
     
  5. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Voila une vue du résultat sur lequel je travail
     

    Fichiers attachés:

    • domino.jpg
      domino.jpg
      Taille de fichier:
      32 KB
      Nb. vues:
      476
  6. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Salut, j'ai pas encore réussi à appliquer la loi des cosinus, je ne vois pas comment déterminer la longueur du coté C...
    j'ai modifié le scripte pour prendre en charge l'épaisseur (soit 100px)
    et la position finale à 82 degrée...
    je cherche

    d=length(this_comp.layer(this_layer,-1).position[2]-(100+position[2]));
    h=this_layer.height;
    Ar=Math.acos(d/h);
    Br=Math.PI/2-Ar;
    Bd=radians_to_degrees(Br);
    O=orientation;
    L=this_comp.layer(this_layer,-1).orientation;
    if(L[0]>Bd)
    [O=linear(L[0], Bd, 82, [0,0,0], [82,0,0])]
    O
     

    Fichiers attachés:

    • domino.jpg
      domino.jpg
      Taille de fichier:
      35.5 KB
      Nb. vues:
      170
  7. oscarus

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    477
    Appréciations:
    +0 / 0 / -0
    :D J'ai rectifier mon expression domino pour qu'elle fonctionne correctement en 3D, maintenant les dominos se touchent bien.
    Sinon pour l'astuce, j'ai calculer l'angle que fait le domino avec le sol quand le domino du dessus le touche et cela à chaque instant jusqu'à la fin de sa chute (c'est peut-être ça que le grand nab appelle "la loi des cosinus":perplexe: ). Dans ma première expression j'avais calculé uniquement l'angle d'impact.

    Tu peux en voir un petit exemple ici à la fin de mon anime. Si tu veux le projet .aep contacte moi par mail privé.
     
  8. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Je continu a chercher, j'aimerais comprendre le principe...
    et c'est encore flou...
    on cherche bien l'angle θ à l'aide de la distance A, B et de l'angle φ?
     
  9. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    avec la piece jointe
     

    Fichiers attachés:

  10. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    J'ai réussi à coller plus les dominos dans la chute grace a ce code,


    d=length(this_comp.layer(this_layer,-1).position[2]-(100+position[2]));
    h=this_layer.height;
    Ar=Math.acos(d/h);
    Br=Math.PI/2-Ar;
    Bd=radians_to_degrees(Br);
    O=orientation;
    L=this_comp.layer(this_layer,-1).orientation;
    if(L[0]>Bd)
    [O=linear(L[0], Bd, 82, [0,0,0], [L[0],0,0])]
    O

    avec pour valeur 2 dans linear l'angle du domino précédant.:-)
    Par contre le problème est que la chute des dominos quand on duplique va de plus en plus vite, on est donc limité en temps, l'effet infini des domino ne marche donc pas...
    En effet la chute se termine en même temps pour tout les dominos au dernier point clé du domino de base...:perplexe: ici je suis limité à 6 dominos...
    en PJ le projet after il faut dupliquer le domino 3 pour ajouter des dominos,
    dans mon projet j'aimerais en avoir environ 300...:weird:
    Je précise que c'est pour un projet perso indépendant et sans budget pour diffuser sur mon site...
    Merci Oscarus et Nab17 pour vos pistes de recherche, ca aide!
    je forge je forge....
    J'ai le sentiment que je ne vais plus pouvoir me passer des expressions dans peu de temps...
     
  11. GEGE92

    GEGE92 Estimé et regretté modérateur

    Points Repaire:
    3 300
    Recos reçues:
    0
    Messages:
    17 283
    Appréciations:
    +0 / 2 / -1
    "En effet la chute se termine en même temps pour tout les dominos " c'est mathématiquement normal puisque chaque domino n-1 repose sur le domino n, il faut donc que le domino n soit en fin de chute pour que le n-1 le soit aussi. mais plus tu auras de dominos plus l'effet va s'amoindrir sur les premiers dominos.
    Il faudrait ajouter une impulsion donnée par le domino n-1 au domino n pour que cela fonctionne comme tu le souhaites.
     
  12. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Ok, merci pour la piste, mais comment je donne cette impulsion?
     
  13. GEGE92

    GEGE92 Estimé et regretté modérateur

    Points Repaire:
    3 300
    Recos reçues:
    0
    Messages:
    17 283
    Appréciations:
    +0 / 2 / -1
    Aucune idée quant aux expressions dans AE ce n'est qu'une vision mathématique des choses, mais il y a surement des spécialistes D'AE qui pourront te renseigner
     
  14. sanuk

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    61
    Appréciations:
    +0 / 0 / -0
    Ok, merci, je fouine dans l'aide en attendant les experts,
    En tout cas ca me rassure qu'il y ai une explication mathématique...
    La solution est proche!
     
  15. oscarus

    Points Repaire:
    1 000
    Recos reçues:
    0
    Messages:
    477
    Appréciations:
    +0 / 0 / -0
Chargement...

Partager cette page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous