module inscription newsletter haut de page forum mobile

Dismiss Notice

formations etalonnage sur davinci resolve

Nos Formations Etalonnage avec Forest reviennent en octobre !
Adoptez une réelle méthodologie d'étalonnage professionnelle et atteignez vos objectifs créatifs avec nos formations intensives sur 3 jours
Toutes les infos
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
Dismiss Notice

Formation Lumière - Pratique Intensive du 14 au 16 octobre à Paris
Formez-vous avec cet atelier de pratique intensive dans des conditions exceptionnelles ! Formation finançable.
Toutes les infos

Ateliers et Formations

expression valeur relative

Discussion in 'Adobe After Effects' started by kivala, May 17, 2004.

Tags:
  1. kivala

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    105
    Appréciations:
    +0 / 0 / -0
    Salut !

    Je cherche à lier par une expression la position d'un calque A à celle d'un autre calque B. Le problème c'est que quand j'applique l'expression, mon calque B se positionne automatiquement aux coordonnées du calque A, alors que je souhaiterais qu'il ne se déplace que RELATIVEMENT au calque A.

    Je m'explique :
    Coordonnées A : 10,10
    Coordonnées B : 20,20

    Quand j'applique l'expression, B se met automatiquement à 10,10

    Je voudrais qu'il reste à 20,20 et qu'ensuite, si je modifie les coordonnées de A en 15,15 par exemple, B se positionne automatiquement en 25,25....

    J'espère que c'est clair. Je suis sur qu'il y a moyen de déterminer des valeurs relatives grâce aux expressions. Mais comment ?

    Merci de m'éclairer !
     
  2. newhope

    newhope Guest

    Appréciations:
    +0 / 0 / -0
    si tu veutbouger B de 15 vers la droite,
    tu lui met les coordonnes de A+15 :
    tu tapes ca comme expression:


    [thisComp.layer("solide 1").position[0]+15, thisComp.layer("solide1").position[1]+15]
    ca te decale ton solide 2 de 15 a droite et de 15 en dessous quelque soit la position de ton autre solides
    voila
     
  3. kivala

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    105
    Appréciations:
    +0 / 0 / -0
    Euh ... ce que je voudrais c'est que B se déplace du même nombre de pixel que A et non pas qu'il se trouve aux mêmes coordonnées que A. Si A se déplace de 5 en x, B doit se déplacer aussi de 5 en x.

    Ta solution me parait bonne mais ça signifie que je dois, avant d'appliquer l'expression, déterminer le décalage de coordonnées qui existe entre A et B (en l'occurence : 10 et 10) et faire en sorte que mon expression en tienne compte. Ca doit marcher, mais je trouve ça un peu fastidieux (imagine que A soit en 136,23 ; 223.47 et B en 368,1 ; 254,623... Pffff! bonjour la calculette !)

    Le parentage me permet de le faire, mais l'inconvénient avec le parentage, c'est que si je fais une rotation de A, B en hérite aussi, et moi je ne voudrais lier les deux calques que par leur position. J'en profite pour dire qu'il existe un motion math qui permet ça, mais il n'est pas "interactif", je veux dire qu'après l'avoir appliqué à B, si je modifie une valeur de A, B reste inchangé, à moins de lui réappliquer un motion math.

    En tout cas merci de ta réponse...
     
  4. luc_iman

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    2,238
    Appréciations:
    +0 / 0 / -0
    le parentage, ce n'est pas du jumelage !

    :)

    Le parent enmenent enfants toujours avec lui !
    Mais quand il se repose, ses enfants se promenent seuls !

    A toi de choisir qui est le parent.
     
  5. Julien W.

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    1,499
    Appréciations:
    +0 / 0 / -0
    :bravo: :lol:
     
  6. Sequelles

    Sequelles Modérateur
    Modérateur So

    Trophy Points:
    11,780
    Likes Received:
    20
    Messages:
    4,261
    Appréciations:
    +2 / 13 / -0
    avec cette expression dans la position de B:

    thisComp.layer("A").position+position-thisComp.layer("A").position.valueAtTime(0)

    Ca marche mais il faut que A soit animé et l'écart entre A et B à l'instant 0 est conservé au cours de l'animation qui suit.
     
  7. kivala

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    105
    Appréciations:
    +0 / 0 / -0
    Merci Sequelles ça marche !

    Mais il faut en effet animer le layer A AVANT de poser l'expression sur le B (un keyframe en début de timeline suffit)

    Abuserais-je en te demandant d'expliquer cette formule pas à pas
    ça me permettrait de mieux comprendre comment ça marche et de pouvoir l'utiliser dans un autre contexte éventuellement...

    :bravo: :bravo: :bravo:
     
  8. oscarus

    Trophy Points:
    1,000
    Likes Received:
    0
    Messages:
    477
    Appréciations:
    +0 / 0 / -0
    thisComp.layer("A").position : renvoie la position du calque A à l’instant courant.

    position : renvoie la position du calque lui-même à l’instant courant.
    Toutefois si cette expression est utilisée dans la propriété position d'un calque, elle renvoie les valeurs définies par les images clés créées dans cette propriété, ou s’il n’y a pas d’image clés, la valeur constante de la propriété position. Autrement dit, elle renvoie les valeurs de la propriété position du calque avec l’expression "global" de cette propriété désactivée.

    thisComp.layer("A").position.valueAtTime(0) : renvoie la position du calque A à l’instant t = 0 secondes (position initiale de A).

    Donc, position-thisComp.layer("A").position.valueAtTime(0) : valeur de la position du calque B lorsque l’expression est désactivée ( ici, constante dans le temps) – valeur de la position initiale de A. Ce qui définie un vecteur AB constant dans le temps.

    Le vecteur AB étant constant, le calque B décrit au final la même trajectoire que le calque A mais décalé de AB.
     
    #8 oscarus, May 17, 2004
    Last edited: May 17, 2004
Loading...

Dernières occasions

 

Share This Page

Vous souhaitez annoncer sur le Repaire ? Contactez-nous