Les petits tracas de Cosser sur After Effects

Le forum du compositing
Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Les petits tracas de Cosser sur After Effects

Messagede Cosser » 28 Nov 2014, 20:40

Voila un sujet qui réuni tout mes soucis sur des projets personnels ou professionnels quant à l'utilisation d'Adobe After Effects (j'utilise pour l'instant la version CC 2014 1.1).

En ce moment je suis sur des projets perso. où j'imite des habillages d'émissions télévisées que j’apprécie et je tente d'aller plus loin en les améliorant en y ajoutant un concept en plus.

Et cette fois-ci je suis en train de ressusciter l'habillage des premières années de La carte aux trésors et je bloque sur le chronomètre qui ponctuait le programme.

Premier problème avec le décompte du temps : j'ai pu trouver un script sur une chaine youtube qui fonctionne très bien et que j'ai légèrement retouché avant de l'intégrer dans mon calque texte.

Le code que j'utilise est le suivant (j'ai pas trouvé de balise "spoiler" ou toute autre fonctionnalité qui fait gagner de la place et je m'en excuse) :

Code: Tout sélectionner
countspeed = 1;
clockStart = 0;

function times(n){
  if (n < 10) return "0" + n else return "" + n
}

clockTime = clockStart +countspeed*(time - inPoint);

if (clockTime < 0){
  minus = "-";
  clockTime = -clockTime;
}else{
  minus = "";
}

t = Math.floor(clockTime);
min = Math.floor(t/60);
sec = Math.floor(t%60);

times(min) + ":" + times(sec)


A nouveau pas de problèmes, le chronomètre fonctionne comme je le souhaite. Par contre j'aimerais savoir comment demander :
1) Qu'a X min. et X sec. de ma timeline, le décompte commence ? (Inutile de trimer le calque : le décompte commence toujours dès la première image)
2) Qu'à X min. et X sec. du temps affiché dans le champ texte, le décompte s’arrête ? (J'ai tenté de mettre des conditions comme par exemple "if (times(min) == 60, times(sec)==0) {countspeed=0}" mais ça ne fonctionne pas)

Deuxième problème avec l'incrustation de textures : je voudrais intégrer des textures sur le texte que j'ai parlé au-dessus. Je voudrais faire afficher ma texture au travers du lettrage. Pour l'instant la seule solution que j'ai pu trouver consiste à appliquer ma texture un cache alpha via le menu déroulant que l'on trouve sur a timeline. Mais le problème c'est que sur mon texte j'ai appliqué une ombre portée et un contour qui n'apparait pas après cette méthode. Je voudrais en fait que la texture remplace la couleur de texte uniquement, comment faire ?

Merci d'avance pour vos réponses.

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

Re: Les petits tracas de Cosser sur After Effects

Messagede Galdon » 29 Nov 2014, 15:44

Je crois que tu devrais jeter un œil au tuto que j'ai écrit pour créer un compte à rebours avec after effects : http://www.finalclap.com/tuto/countdown-timer-clock-51/.
Ma version permet de contrôler le départ et l'arrêt du chronomètre très simplement grâce à une glissière. Voilà ce que ça donne :



Pour la texture, je ne connais que la méthode du cache alpha ou cache luminance que tu utilises déjà. Si tu veux appliquer des effets dessus, tu peux passer par une pré-composition : http://www.finalclap.com/faq/107-after- ... omposition.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Re: Les petits tracas de Cosser sur After Effects

Messagede Cosser » 30 Nov 2014, 20:36

J'avais déjà vu ton tuto. mais j'avais pas fais attention à l’intérêt de la glissière, merci Galdon ! Par contre comment faire pour la position des nombres ne changent pas quel que soit les chiffres affichés ?

Par contre pour la texture : effectivement en faisant comme tu dis et en appliquant mon ombre portée sur une compo. plutôt que sur le calque lui-même ça fonctionne par contre je peux pas le faire pour le contour car ça ne marche que sur les champs textes. J'ai trouvé une parade en dupliquant le champ texte et en y affichant uniquement le contour. Donc le problème est résolu.
Par contre à plusieurs fois je me suis demandé si il existe un effet (gratuit ou non), une méthode ou autre chose qui permettrai d'appliquer un contour à tout autre champs qui ne soit pas un champ texte ?

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

Re: Les petits tracas de Cosser sur After Effects

Messagede Galdon » 01 Déc 2014, 22:43

Pour que les caractères ne bougent pas en fonction du chiffre affiché, il faut utiliser une police de caractère mono, cf topic2702.html#p7181 :

Galdon a écrit:Certaines polices ont la particularité d'avoir tous les caractères de la même largeur, on appelle cela des polices mono (pour monospace : http://en.wikipedia.org/wiki/Monospaced_font).

Donc la seule solution c'est d'utiliser une police mono, comme Digital-7 que j'ai utilisé dans mon tuto : http://www.finalclap.com/tuto/countdown-timer-clock-51/

Voici quelques exemples de polices mono : Courrier New, Consolas.
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Re: Les petits tracas de Cosser sur After Effects

Messagede Cosser » 09 Déc 2014, 19:54

Merci Galdon. Par chance j'ai remplacé le "Franklin gothic demi" par la police de caractère utilisé sur l'original qui est du "Franklin gothic bold ssi extra bold" est qui est une police mono.
Mais j'ai un nouveau problème : je voudrais pousser jusqu'au bout l'imitation en centrant à mi-hauteur mon ":" qui est pour l'instant au même niveau que le reste du texte. Est-il possible dans le code (de mon champ texte) de donner une position à ce caractère sachant qu'il n'est pas un calque texte à part ? (pas facile à expliquer tout ça...)

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

Re: Les petits tracas de Cosser sur After Effects

Messagede Galdon » 09 Déc 2014, 20:59

Non je ne pense pas que ça soit possible à faire sur un seul calque texte en utilisant une expression.

Tu pourrais te servir d'un autre calque texte pour afficher les deux-points, et tu contrôle la visibilité de ce calque à l'aide d'un expression.
Dans le calque texte principal, tu remplace les ":" par une espace pour laisser un espace blanc, là où sera positionné le calque texte "deux-points".
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Re: Les petits tracas de Cosser sur After Effects

Messagede Cosser » 10 Déc 2014, 13:26

Galdon a écrit:Tu pourrais te servir d'un autre calque texte pour afficher les deux-points, et tu contrôle la visibilité de ce calque à l'aide d'un expression.
Dans le calque texte principal, tu remplace les ":" par une espace pour laisser un espace blanc, là où sera positionné le calque texte "deux-points".

Je l'ai déjà fait mais il n'y a pas la même chasse, résultat le texte déborde. J'ai beau jouer avec la chasse ça ne marche pas car comme un "aligner à gauche", tout le texte est tiré sur la gauche du champ plutôt qu'au centre. Et donc bien avant de retrouver le même espacement qu'avec les deux points, les chiffres se superpose les uns sur les autres.

Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Re: Les petits tracas de Cosser sur After Effects

Messagede Cosser » 09 Nov 2015, 19:36

Je reviens sur mon problème de mon ":", où j'aimerais bien le centrer sur la hauteur de mon calque texte via mon code. J'ai fait une nouvelle tentative qui étrangement ne change rien, mais n'annonce pas d'erreur non plus...

Voici la partie de mon code :

Code: Tout sélectionner
// Configuration chronomètre
var config = {}
config.start = {
    minute : 30,
    second : 0
}
config.stop = {
    minute : 0,
    second : 0
}

// Conversion en millisecondes
chrono_start = (config.start.minute*60 + config.start.second)*1000;
chrono_end   = (config.stop.minute *60 + config.stop.second )*1000;

// Calcul de l'avancement du chrono à l'instant courant, défini par la valeur de la glissière à cet instant
chrono_amplitude = chrono_end - chrono_start;
pourcentage = effect("countdown_percent")("Curseur");
time_walk = chrono_start + Math.floor( chrono_amplitude * pourcentage / 100 );

// Extraction des heures, minutes, secondes
reste = time_walk;

nb_minute  = Math.floor(reste/60000); // minutes
reste = reste%60000;

nb_second = Math.floor(reste/1000);   // secondes
reste = reste%1000;

// Ajout des zéros devant, pour l'affichage
str_minute  = ("0" + nb_minute).slice(-2);
str_second  = ("0" + nb_second).slice(-2);

//Position :
deux_points = text.sourceText = ":";
thisLayer.position = thisLayer.width/2;

// Affichage
text.sourceText = str_minute+deux_points+str_second;


Que faudrait-il modifier ?

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

Re: Les petits tracas de Cosser sur After Effects

Messagede Galdon » 09 Nov 2015, 21:30

Comme je l'ai indiqué il y a presque 1 an, il n'y a pas moyen de modifier individuellement les propriétés de texte (celles qu'on peut modifier via le panneau Caractère) dans une expression, j'ai cherché des infos sur internet pour en être sûr et j'en ai eu la confirmation dans la doc :

https://helpx.adobe.com/after-effects/using/expression-basics.html a écrit:The Source Text property of a text layer is interpreted by expressions as a JavaScript String. You can use the pick whip to retrieve the source text from another text layer; however, only the style of the first character of the destination layer is used.
Source: https://helpx.adobe.com/after-effects/u ... asics.html


La seule solution est de créer un calque texte spécifique pour les ":".
"Si tu veux me parler, envoie-moi un... FAX !" - George Abitbol

Cosser
 
Messages: 8
Inscription: 27 Nov 2014, 18:28

Re: Les petits tracas de Cosser sur After Effects

Messagede Cosser » 14 Nov 2015, 00:00

Désolé Galdon, Je suis allé un peu vite. J'ai donc fait un calque à part pour les ":".
Par contre j'aimerai les centrer par rapport à la hauteur de mon calque texte. Dans ce cas comment connaitre la hauteur d'un calque en pixels ?

Suivante

Retourner vers After Effects

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité