comment ajouter un chronomètre???

Le forum du compositing
alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

comment ajouter un chronomètre???

Messagede alpboy » 26 Mar 2012, 09:28

Hello à toutes et tous,
je galère depuis ce matin pour trouver une solution à mon problème.
je viens de faire un time lapse sur une journée. En condensé, le film dure 1 minute.
Seulement, j'aimerais incruster un chronomètre afin de montrer au lecteur la durée de vue réelle (soit 12 heures en gros).
Auriez-vous une solution pour moi svp?
Une solution compatible after effects ou final cut pro X si possible...voir motion.
Il s'agit donc en fait d'un chronomètre en accéléré et rien à voir avec un time code.
Je dois bien avouer qu'il s'agit là d'une bouteille à la mer.. :D
Merci beaucoup

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2188
Inscription: 06 Sep 2008, 22:05

Re: comment ajouter un chronomètre???

Messagede Galdon » 26 Mar 2012, 14:10

C'est torché avec une petite expression et une glissière pour contrôler l'avancement du chrono (de 0 à 100%) :

Code: Tout sélectionner
chrono_start = 0;       // en secondes
chrono_end   = 3600*12; // en secondes
chrono_amplitude = chrono_end - chrono_start;

pourcentage = effect("countdown_percent")("Curseur");
time_walk = Math.floor( chrono_amplitude * pourcentage / 100 );

reste = time_walk;

// 1. Extraction des heures
nb_hour = Math.floor(reste/3600);
reste = reste%3600

// 2. Extraction des minutes
nb_min  = Math.floor(reste/60);
reste = reste%60;

// 2. Extraction des secondes
nb_sec = reste;


// Display
// -------
str_hour = nb_hour;
str_min  = ('0' + nb_min).slice(-2);
str_sec  = ('0' + nb_sec).slice(-2);

text.sourceText = str_hour+':'+str_min+':'+str_sec;


Projet After Effects CS4 d'exemple : http://finalclap.free.fr/TEMP/FORUMS/fi ... se.cs4.aep
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 26 Mar 2012, 17:42

hello,
merci pour la réponse mais, si j'ai bien tout lu Freud, il faut créer un calque texte pour copier ce que tu m'as donné dans le texte source, c'est bien cela?
Si oui, je copie-colle le tout et j'ai ceci (voir capture écran).Image
du coup, je ne sais pas si j'ai fais une fausse manipe ou quoi..merci de ton aide en tous les cas.

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2188
Inscription: 06 Sep 2008, 22:05

Re: comment ajouter un chronomètre???

Messagede Galdon » 26 Mar 2012, 17:58

C'est normal, il faut ajouter une glissière (effet) à ton calque texte, et nommé cet effet "countdown_percent" comme dans mon projet d'exemple (regarde le lien dans mon post précédent).
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 26 Mar 2012, 18:58

ok, je vais voir cela et te tiens au courant. Merci encore.

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 27 Mar 2012, 07:49

hello..encore moi. Merci pour l'expression..super boulot.
Bon, pour tout dire, et comme je suis une bille sur after effect, je ne sais pas quoi faire avec le copier coller que tu m'as fait parvenir. Dois-je créer un calque texte? Dois-je le positionner sur la composition que tu m'as fait parvenir? Si oui dans quel onglet (point d'ancrage, position, échelle, rotation ou opacité)?
Bref, suis débutant quoi.... :oops:
Merci pour ton aide

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 27 Mar 2012, 08:21

Je rectifie mon message précédent. En fait, il me faut juste que cette période de 12 heures soit résumée à 20 secondes de film mais je ne sais pas comment m'y prendre. Merci pour ton aide..finale je l'espère.. :P

Avatar de l’utilisateur
Galdon
Administrateur du site
Administrateur du site
 
Messages: 2188
Inscription: 06 Sep 2008, 22:05

Re: comment ajouter un chronomètre???

Messagede Galdon » 27 Mar 2012, 14:12

Bon ok je vais la faire avec les sous-titres ;) (et au passage j'ai simplifié l'expression) :

Ce que tu veux faire, c'est affiche un chronomètre, disons par exemple au format HH:MM:SS
exemple: 11:58:20

Pour affiche un texte dans After Effects c'est facile, il suffit de créer un calque texte, de saisir le texte à afficher, de définir la police, l'espacement des caractères... (via le panneau caractère).

Ton problème, c'est juste de faire varier le texte à afficher, pour que ton chrono avance/augmente.
Techniquement, le texte affiché par un calque texte est stocké dans la propriété "Texte source" (que l'on désigne par text.sourceText dans le langage des expressions, au passage), donc c'est cette propriété qu'il faut faire varier).

Pour ça, le mieux c'est d'utiliser une expression, celle que je t'ai donnée plus haut.
(Il y a un autre moyen, c'est de se faire chier à faire varier la valeur du texte image par image ^^...)

Cette expression est assez simple, je commence par créer une variable duree dans laquelle je vais enregistrer la durée de mon chrono (qui ira donc de 0 à duree).

Quand on programme on exprime toujours le temps en secondes, en l'occurrence, duree = 12*3600 (1 heure = 3600 secondes, donc 12 heures = 12*3600 secondes) :

Code: Tout sélectionner
duree = 3600*12; // en secondes


Au passage, les expressions s'affectent toujours à des propriétés, en cliquant en maintenant la touche Alt sur le petit chrono de ladite propriété, ici : Texte source (je le rappel au cas où ^^).
cf http://www.finalclap.com/tuto/cours-aft ... ssions-11/

Image

Image

Bien, c'est un début, mais il nous manque encore quelque chose d'essentiel : le moyen de contrôler la valeur de notre texte source en fonction du temps.

Pour ça, on utilise un effet glissière, que l'on applique au calque texte.
La glissière est un effet un peu particulier d'After Effects, cet effet ne modifie en rien le calque auquel il est appliqué
Il a juste une propriété "Curseur", qui est tout simplement un chiffre à laquelle on donne la valeur qu'on veut, et qu'on peut animer avec des images clés, comme n'importe quelle propriété dans After Effects (comme la position, orientation, échelle, opacité...........).

Donc l'idée c'est d'utiliser cette glissière pour contrôler l'avancement du chrono. On va dire que le Curseur contient le pourcentage d'avancement du chrono :
Quand Curseur = 0, le chrono est à 0% (au début)
Quand Curseur = 100, le chrono est à 100% (à la fin), il vaut donc 12*3600

Il suffit de créer 2 clés d'animation, une où Curseur vaut 0, et une autre ou Curseur vaut 100, la valeur de Curseur varie toute seule en fonction du temps, et c'est grâce à ces 2 petites images clé qu'on va pouvoir définir quand commence le chrono, et quand il s'arrête.

Image

Maintenant reste à récupérer la valeur de cette glissière dans une variable que j'appelle pourcentage notre expression :

Code: Tout sélectionner
duree = 3600*12;

pourcentage = effect("countdown_percent")("Curseur");
time_walk = Math.floor( duree * pourcentage / 100 );

text.sourceText = time_walk;


Le seul truc un peu difficile dans cette expression c'est time_walk.
Je m'en sers pour connaître la valeur du chrono (en secondes), à l'instant courant.
Pour ça je me base sur la durée totale du chrono (12*3600 secondes), et aussi sur la valeur de la glissière (pourcentage).

Par exemple, quand pourcentage vaut 50, on est à la moitié du chrono, soit 21000 secondes :
(12*3600) * 50 / 100 = 21000
Math.floor sert juste à arrondir à l'entier inférieur, au cas ou le résultat du calcul duree * pourcentage / 100 soit un nombre à virgule.

Après j'affiche time_walk en le mettant dans text.sourceText.

À ce stade le chrono fonctionne, il affiche le chrono, mais en secondes :s

Il ne reste plus qu'à convertir ce nombre de secondes en heures, minutes et secondes.
Pour ça je fais quelques divisions avec reste :

Code: Tout sélectionner
reste = time_walk

// 1. Extraction des heures
nb_hour = Math.floor(reste/3600);
reste = reste%3600

// 2. Extraction des minutes
nb_min  = Math.floor(reste/60);
reste = reste%60;

// 2. Extraction des secondes
nb_sec = reste;


Finalement, j'utilise une petite bidouille qui permet d'ajouter les 0 devant les minutes et secondes (c'est pour par exemple affiche 10:03:09 au lieu de 10:3:9) :

Code: Tout sélectionner
str_hour = nb_hour;
str_min  = ('0' + nb_min).slice(-2);
str_sec  = ('0' + nb_sec).slice(-2);


Et y'a plus qu'à afficher tout ça dans notre texte source :

Code: Tout sélectionner
text.sourceText = str_hour+':'+str_min+':'+str_sec;


Dans ton cas, il faut que duree = 3600*12 (comme ton chrono dure 12 heures), et il te suffit de jouer avec les 2 images clé 0% et 100% de la glissière (en les déplacent sur la timeline) pour que ton chrono s'anime sur la bonne durée (20 secondes).
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 27 Mar 2012, 17:53

hou la vache, tu maitrises un max toi!!!!! Je dois bien avouer que je suis impressionné là.

je compte me pencher là dessus jeudi car pas le temps auparavant mais je te remercie de ton aide très précieuse.
Vraiment top.
Après, si je peux aider au niveau photo, ce sera avec plaisir.

alpboy
 
Messages: 41
Inscription: 26 Mar 2012, 09:23
Localisation: annecy

Re: comment ajouter un chronomètre???

Messagede alpboy » 30 Mar 2012, 08:56

merci pour ton aide galdon.
J'ai réussi à faire ma vidéo comme je le voulais. Je te remercie et je m'incline devant tes compétences. Vraiment impressionnantes.
Je posterai le lien une fois que mon client aura vu la vidéo car je ne voudrais pas qu'il voit le truc sur le web avant lui.
Amicalement

Suivante

Retourner vers After Effects

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 3 invités