Voir la version complète : clignotement régulier d'ampoule
darsanha
15/09/2008, 16h54
Bonjour,
je cherche à faire un clignotement régulier sur plusieurs ampoules (20) en même temps tout en faisant un travelling de caméra.
Existe t'il une solution relativement simple qui m'éviterais l'utilisation d'Xpresso ?
merci
pourquoi vouloir éviter expresso? c'est typiquement LA solution non? tu vas galérer en essayant de la contourner.
grilled
Sélection des 20 ampoules ->intensité -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé -> ctrl+clic=image-clé
Ou alors xpresso. :mrgreen:
Existe t'il une solution relativement simple qui m'éviterais l'utilisation d'Xpresso ?
Tu peux faire ça très facilement avec Xpresso en faisant un modulo je pense.
GaazMaster
15/09/2008, 17h01
Flip flop !
http://www.base80.com/index.php/2006/02/01/blink_anything_tut
lolofedo
15/09/2008, 17h03
là : http://www.base80.com/index.php/2006/02/01/blink_anything_tut#more119
Facile, j'ai même reussi à le faire :oops:
edit : grilled by gaaz
darsanha
15/09/2008, 17h06
Super !
merci pour la rapidité de vos réponses...
Je vais me tester à Xpresso... ça me fait un peu peur... mais je vais tester ;-)
merci !
Voici un Xpresso très simple pour l'exemple :
http://www.xsyann.com/fc4d/blink_xpresso.png
Après pour plus de souplesse tu peux faire ça en COFFEE assez facilement aussi.
josselin
15/09/2008, 17h13
Je m’incruste pour dire qu’avant dans la R8 (je crois) il y avait une fonction qui bouclait à l’infini des image-clés.
Exemple :
Image-clé visible 100%
Image-clé visible 0%
Clics droits dans les paramètres de la ligne temporelle et tu pouvais sélectionner des images-clé pour les faire boucler…
Mais impossible de retrouver ça dans la R9,6…
Je m’incruste pour dire qu’avant dans la R8 (je crois) il y avait une fonction qui bouclait à l’infini des image-clés.
Précision, sur la R11 :
On fait 1 cycle allumé/éteint.
Création calque d'animation, puis clip de mouvement, sélection du nombre de cycles et c'est tout. (tuto demain) :wink:
Si tu place ce code dans une expression coffee sur une lumière, elle clignotera toute les 10 frames :
main(doc,op)
{
var mod = 10;
var t = doc->GetTime();
var f = t->GetFrame(doc->GetFps());
if(!(f%mod)) op#LIGHT_BRIGHTNESS = 0;
else op#LIGHT_BRIGHTNESS = 1;
}
darsanha
15/09/2008, 17h32
la solution avec coffee est très simple et très bien, la seul chose qui manque c'est que la lumière puisse rester un peu plus longtemps éteinte, par exemple 4/5 images clé avant de se rallumer.
Je n'ai pas le temps de le faire maintenant mais avec une petite boucle for, ça devrait le faire. :poucehaut:
darsanha
15/09/2008, 17h48
ok, merci en tou cas pour le coup de main ! :wink:
Déjà, si tes lumières sont en instance, ça fait du boulot en moins.
Dans la 10, on peut ensuite (une fois créées les 3 images clé) faire Fonction > Piste après > Répéter. Le seul hic, c'est que ça répète à l'infini, ce qui oblige à ajouter une piste de visibilité.
Pas réussi à faire un clip d'anim, faut que je me repenche sérieusement sur cette timeline, je commence à être totalement largué.
Chose promise, chose due :
http://content.screencast.com/users/seb-bbl/folders/Jing/media/fc704fbb-7abd-415f-93d3-a7009eba6fae/00000016.png (http://www.screencast.com/t/cVRBJmfZpNE)
Super, merci Seb_BBL.
Une petite question: on peux dupliquer le "clip" et créer des décalages / superpositions temporelles?
Autant que tu veux très cher ! :mrgreen:
Ennnnorme, géniale! NLA que du bonheur!!!! :bounce:
Comme dans la R9 quoi ! C'est que dans la R10 que ça marche pas (grrr)
Dans la R9 on pouvais même glisser les clés dans xpresso et modifier leur paramètres et leur position, ça c'était du nla et c'est pas revenu dans la R11.
http://www.base80.com/xpresso-files/timeline/key-influ.jpg
Voilà :
main(doc,op)
{
var pp = FALSE; // Progression Allumage
var pm = TRUE; // Progression Extinction
var mod = 10; // Frequence
var period = 4; // Periode
var lightMax = 100; // Intensite maximale
var t = doc->GetTime();
var f = t->GetFrame(doc->GetFps());
var i;
var light = 0;
lightMax /= 100.0;
for(i=0;i<period;i++)
{
if((f%mod)%(mod+i)<period)
{
if(pm) light = lightMax-((f%mod)%(mod+i)*(lightMax/period));
else light = lightMax;
} else if(!light)
{
if(pp) light = ((f%mod)%(mod+i)-period)*(lightMax/(mod-period));
else light = 0;
}
}
op#LIGHT_BRIGHTNESS = light;
}
J'ai ajouté un allumage progressif, une extinction progressive, la période (durée d'allumage) et l'intensité maximale pour la lumière.
La durée d'allumage et la fréquence sont comptées en frames.
Si c'est utile : "false" veut dire désactivé, "true" veut dire activé. :roll:
Pour faire varier la vitesse de l'animation (je suis pas un spécialiste, dites-moi si je me trompe), ça devient super facile. Plutôt que d'utiliser la mise à l'échelle de la piste, il suffit de modifier le paramètre de fin du clip.
Non, si tu fais ça, tu ne feras que couper la séquence vers la fin (donc, tu vas tronquer ton animation, et tu peux perdre tes boucles d'animation).
Il faut remettre à l'échelle la séquence complète (double-clic sur la valeur en pourcentage, ou simple remise à l'échelle manuelle en cliquant sur les bords du motion clip).
darsanha
17/09/2008, 22h52
Le bout de code de "xs_yann" retouché par un pote programmeur, c'est pas super propre d'après lui mais moi ça m'a suffit pour faire ce que je voulais... vous pouvez voir une maquette ici : http://dev.darsanha.com/test/thuban.mov
Merci encore à "xs_yann" !
main(doc,op)
{
var intensite_max = 1; /// luminosité maximale
var temps_transition = 10; ///nombre d'images pour faire la transition
var temps_on=30; /// nb d'images dans l'état "allumé", superieur a temps_transition
var temps_off=15; /// nb d'images dans l'état "eteint", superieur a temps_transition
var total= temps_on + temps_off;
var i;
var t = doc->GetTime();
var f = t->GetFrame(doc->GetFps());
if(f==0)
{
op#LIGHT_BRIGHTNESS = 0;
}
else
{
if( (f%total) < temps_transition)
{
op#LIGHT_BRIGHTNESS = intensite_max * ( (f%total) / temps_transition) ;
}
else if( (f%total) < temps_on )
{
op#LIGHT_BRIGHTNESS = intensite_max ;
}
else if( (f%total) < temps_on + temps_transition )
{
op#LIGHT_BRIGHTNESS = intensite_max - intensite_max * ( (f%total-temps_on) / temps_transition) ;
}
else {op#LIGHT_BRIGHTNESS = 0; }
}
}
Powered by vBulletin® Version 4.2.1 Copyright © 2024 vBulletin Solutions, Inc. Tous droits réservés