Aide pour After Effect, techniques, expressions.

jeudi 17 novembre 2011

répète pour voir ?

On m'a demandé comment faire pour qu'un son se déclenche automatique à un évènement, et puisse se répéter à chaque fois que cet évènement se produit, sans devoir recopier 200 fois le calque son en question.
C'est une question intéressante, dont la réponse dépend de votre situation.
Je vais donc essayer d'être le plus clair possible. Pour mon exemple, l'évènement en question sera le passage de la ligne de temps sur un marker de composition.
Comme vous le savez, quand vous appuyer sur la touche * et qu'aucun calque n'est sélectionné, cela vous crée un marker de composition. Si un calque était sélectionné, cela crée un marker SUR le calque.

Pour votre fichier son, il faut bien évidemment activer le remappage temporel, et écrire ceci pour l'expression :

T=thisComp.marker.nearestKey(time).time;

time-T

Et si vous placez vos marqueurs sur le calque, ça donne :

T=marker.nearestKey(time).time;

time-T

Oui, c'est tout...
Alors, expliquons un peu le pourquoi du comment.
On demande à T de trouver le marker le plus proche, et d'en enregistrer sa position temporel, ou en d'autres termes, à quel moment il se situe. Par exemple 1s20f, 0s12f, etc.

Tant que le temps est avant le marker, time-T vaut donc moins de 0, la soustraction reste donc bloquée à 0. Et des que time dépasse le marker, il part de 0, donc c'est comme si le calque était lu depuis le début.
Il faut donc que les markers aient au moins un espacement égal à la longueur du son, sinon le son joué en cours sera coupé pour reprendre depuis le début.

J'affinerai ce post plus tard pour illustrer des gestions un peu plus fines.