PDA

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

shtl
15/09/2008, 16h57
MoGraph?

moebius
15/09/2008, 16h58
pourquoi vouloir éviter expresso? c'est typiquement LA solution non? tu vas galérer en essayant de la contourner.

grilled

Seb-bbl
15/09/2008, 16h58
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:

xs_yann
15/09/2008, 17h00
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 !

xs_yann
15/09/2008, 17h09
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…

Seb-bbl
15/09/2008, 17h15
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:

xs_yann
15/09/2008, 17h23
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.

xs_yann
15/09/2008, 17h47
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:

lenogre
15/09/2008, 17h50
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é.

Seb-bbl
16/09/2008, 10h21
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)

shtl
16/09/2008, 10h46
Super, merci Seb_BBL.

Une petite question: on peux dupliquer le "clip" et créer des décalages / superpositions temporelles?

Seb-bbl
16/09/2008, 10h55
Autant que tu veux très cher ! :mrgreen:

shtl
16/09/2008, 11h13
Ennnnorme, géniale! NLA que du bonheur!!!! :bounce:

base80
16/09/2008, 13h01
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

xs_yann
16/09/2008, 13h15
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:

lenogre
16/09/2008, 16h02
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.

Fluffy
16/09/2008, 20h52
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).

lenogre
17/09/2008, 11h20
Reçu chef !

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; }

}
}