Aide pour After Effect, techniques, expressions.

lundi 5 janvier 2009

toComp from space

Derrière ce titre digne des plus grandes fresques spacio-capitalistes se cache ni plus ni moins qu'un banal post sur un blog douteux.
Mais ça va être chouette, donc tout va bien.

votre nouvelle envie du moment ? Faire qu'un calque 2d soit toujours à la même position qu'un calque 3d. Qu'est ce que ça veut dire ? Et bien imaginer qu'un petit solide 3d se balade dans votre scène, et qu'un autre petit calque 2d le colle "visuellement", un peu comme une mire sur un avion (brrr).
Il n'y a en effet aucun autre moyen de faire cela, étant donné que la camera peut également bouger, sans que l'objet 3d ne se déplace. Quand la camera bouge, la position du calque 3d, par rapport à la composition, change.
Et bien c'est tout pareil que tout à l heure, sauf que pour le
target=
on accroche un objet 3d.
C'est tout...
Attention, si vous mettez :
target3d.toComp([0,0]),
votre calque 2d sera collé en haut à gauche du calque 3d. Donc si vous voulez qu'il soit au milieu, il faudra mettre target3d.toComp([50,50]) si votre calque 3d fait 100 sur 100. C'est simple, si vous n'avez pas touché au point d'ancrage du calque 3d, il sera au milieu, et vous donnera donc les bonnes valeurs à mettre.
Si votre calque 2d doit être accroché un une lumière d'after, mettez [0,0].
J'illustrerai ce post avec des jolis GIF animés plus tard, pour faire gagner en magie cette page pleine de mot.
On verra un exemple concret par la suite, promis.

3 commentaires:

  1. Argh, je me casse les dents a chercher cette fonction pour faire suivre un point d'effet pendant des heures et je tombe sur ce post le soir :)

    D'après l'aide AE, j'ai cru quil fallait utiliser fromCompToSurface:

    "Projette un point de l’espace composition à la surface du calque (valeur z à zéro) à l’endroit où il apparaît vu par la caméra active. Ce système est utile pour positionner des points de contrôle des effets. A n’utiliser qu’avec des calques 3D."
    M'enfin...


    Par contre j'ai rajouté deux variables liée au point d'ancrage du solide 3d pour centrer le point.

    target = thisComp.layer(thisLayer, -1);
    X = target.anchorPoint[0];
    Y = target.anchorPoint[1];
    target.toComp([X,Y])

    Ca marche mais est-ce bien catholique? Y a-t-il un moyen plus simple?

    Merci encore pour la lumière que tu nous apporte dans la pénombre du language des expressions...

    RépondreSupprimer
  2. Alors alors...
    Comme son nom l'indique, fromCompToSurface envoie un point DE la composition VERS un calque.
    Crée un calque 3d avec une déformation 4 coins, et dans un des coins, écris fromCompToSurface ([200,200])
    Crée une camera, bouge la, tu verras que ton point va rester à [200,200]
    C'est un mot qui bugue de temps en temps...

    Sinon, c'est parfaitement catholique.
    Tu peux même te simplifier la vie:

    target = thisComp.layer(thisLayer, -1);

    target.toComp(target.anchorPoint)

    amen

    RépondreSupprimer
  3. ça c'est de la bonne parole...Merci

    RépondreSupprimer