toute l'information sur la réalisation vidéo numérique
 
 
les faqs tutoriaux news tests et comparatifs fiches Repaire themes annuaires chercher forums
Liens annuaires
 
  Nous sommes en ce moment 58 sur le Repaire - 191023 discussions - 987463 messages - 102192 Repairenautes inscrits

Précédent   Forums du Repaire > effets spéciaux - 3D > Adobe After Effects

Réponse
 
LinkBack Outils de la discussion Modes d'affichage
  #1  
Vieux 07/12/2005, 09h49
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages
Smile Newbies' expressions !



Salut à tous !

Bon alors comme on en a parlé sur une discussion précédente, on avait proposé une sorte de jeu des expressions pour les nuls.

Plutot que de créer une nouvelle discussion pour chaque probleme, autant ce recentrer ici !

Le but n'est pas non plus d'avoir le résultat tout cuit de la part des maitres en expressions (suivez mon regard !) mais plutot qu'on s'entraide à trouver nos propres expressions, même si on y connait pas grand chose (ce qui est mon cas mais je me soigne !)
Voilà donc je commence ici, mais ceux qui désirent comme moi apprendre la magie des expressions peuvent poster sans craindre le hors sujet !

Alors commençons par la fin, c'est à dire les fetes de fin d'année.

Je souhaite réaliser un fond avec des étoiles qui tournent et varient de taille, plus des flocons qui tombent plus ou moins loin.
Evidemment je prefererais utiliser des expressions plutot que de me taper le boulot à la main...

Pour ce qui est des étoiles, je suis bien content nab si tu passes par là que tu m'ai appris via le repaire des expressions la fonction seedrandom !

Donc j'ai écrit ces expressions, ça fonctionne, maintenant y'a peut etre mieux...
pour l'echelle :
seedRandom(1, timeless = true)
x=random(20,50)+100-wiggle(random(0,3),random(0,5))[0];
[x,x]


Pour la rotation :
seedRandom(1, timeless = true)
time*random(20,36)
Voilà.

Pour les flocons, je souhaiterais qu'ils tombent, jusque là ça va, mais j'aimerais qu'il tombent plus ou moins vite proportionellement à leur echelle, pour simuler la 3D, et à chaque fois boucler le mouvement.

Je ne sais pas trop comment m'y prendre pour faire tout ça... Donc si l'un d'entre vous peux me guider

Merci !

Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
Liens commerciaux
Pour profiter des forums du Repaire sans les inserts pub il suffit de s'inscrire gratuitement.
  #2  
Vieux 07/12/2005, 14h28
Avatar de nikolo
Repairenaute
 
Date d'inscription: juin 2004
Messages: 362
Bénéficie de 0 recommandations à propos de 0 messages


Eh, ton idée est interessante.

Moi aussi cela m'interresse.

Le seul rajout que je ferais c'est que j'aiemrais que la neige colle sur l'element sur lequel la neige tombe .

Ainsi je souhaiterais pouvoir faire demarrer la neige à un instant T et recouvreir petit à petit le sol de neige (un peu comme dans la réalité quoi)
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #3  
Vieux 07/12/2005, 15h00
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages


Pour ça, particular le fait, mais pas sur le haut du texte, plutot comme dans cet exemple de trapcode.

Pour ma part, ça ne me convient pas car je cherche à faire ça simplement (niveau animation) pour un export flash (qui je me suis rendu compte, est tres limité et c'est dur de ne pas dépasser le méga ! Ce qui est hyper lourd pour du flash) (via after of course)

Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #4  
Vieux 07/12/2005, 15h28
Avatar de nikolo
Repairenaute
 
Date d'inscription: juin 2004
Messages: 362
Bénéficie de 0 recommandations à propos de 0 messages


oui c'est vrai Trapocode le fait.

j'oublie toujours les possibilité de ce plug.
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #5  
Vieux 08/12/2005, 05h23
Avatar de nab17connection
Repairenaute
 
Date d'inscription: mai 2004
Messages: 1 049
Bénéficie de 5 recommandations à propos de 5 messages


tu pourrais aussi les animer en position apres les avoir passés en 3D (x, y et z aleatoires); de cette facon tu n as pas a jouer sur l echelle pour simuler une 3D puisque tu es dejà en "3D".
pour que ceux qui sont loin tombent moins vite que ceux qui passent juste devant la camera, tu peux essayer de trouver une relation entre le y et le z ( exprimé le y en fontion du z quelque part dans ton expression --> "plus le z est grand, plus le y final doit etre proche du y initial")



ps:c est un exercice sur les expressions, mais si tu veux vraiment faire de la neige realiste je pense qu il faudrait s orienter vers une autre méthode (ca tu dois certainement le savoir mieux que moi )
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #6  
Vieux 08/12/2005, 09h55
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages


Hello !

Alors le truc c'est que j'aimerais faire un export flash, et je ne cherche pas à faire de la neige réaliste au contraire.
J'avais justement pensé à passer par une utilisation de la 3D, mais ça ne fonctionne pas avec l'expost flash.
Je n'arrive pas trop a comprendre les anims flash qu'on voit sur le net avec des dégradé et tout et tout qui pesent a peine 200ko. Avec after on est tout de suite à 1mo meme en utilisant que des objets en vectoriel.... (c'est de la daube after )

Bref c'est pour celà que je cherche a faire une expression en fonction de l'echelle.

Mais a la limite ton conseil peut s'y préter.

Je vais tenter une trouvaille et je reviens !

Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #7  
Vieux 08/12/2005, 10h43
Avatar de nikolo
Repairenaute
 
Date d'inscription: juin 2004
Messages: 362
Bénéficie de 0 recommandations à propos de 0 messages


si tu es sur mac, il y a de logiciel qui permette de compresser les .swf sinon, si tu as flash mx tu peux optimiser le .swf que tu generes en reglant les options de sortie.

AE n'est pas l'ideal pour ce genre de truc.

MAis sous flash, tu peux generer de la neige sur tes elements.
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #8  
Vieux 08/12/2005, 14h28
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages


Oui j'imagine..... mais moi le flash j'y comprend rien !
Mais c'est vrai je me suis apreçu en l'utilisant que ae et son export flash n'est pas recommandé....

Mais bon je vais le faire qd meme et puis je vais la faire cette expression !

Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #9  
Vieux 09/12/2005, 00h35
Avatar de nab17connection
Repairenaute
 
Date d'inscription: mai 2004
Messages: 1 049
Bénéficie de 5 recommandations à propos de 5 messages


ah oui j avais zappé le coup du Flash

mais si c est en 2D et que tu joues sur l echelle, tu pourrais essayer de trouver une relation entre le decalage en Y (la chute du flocon) et l'echelle (plutot qu entre le Y et le Z si tu fais cela en 3D)
quelquepart dans ton expression tu aurais quelque chose qui indiquerait "plus l'echelle est grande plus le decalage en Y est important"

c est dans tes cordes ca Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #10  
Vieux 09/12/2005, 10h16
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages


Oui y'a moyen ! Je reviens des que je vous aurais concocter une expression qui sent bon !
La semaine prochaine, parcque le weekend s'annonce chargé alors....

Bill
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #11  
Vieux 12/12/2005, 14h35
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages
Smile



Alors ça y est j'ai fait ma ptite expression !
Jsuis bien content ça marche plutot bien !

Alors dites moi un peu ce que je peux simplifier/corriger/améliorer....

Donc je crée un solide de 20*20 avec masque rond, sur une comp de 640*480.

Propriété position
s=scale[0]
seedRandom(0, timeless = true)
x=random(0,640)+wiggle(random(0.5,1), random(10,50))[0]
ystart=random(-20,480);
y=ystart+time*s;
if(y>500){y=y%520-20}else{y}
[x,y]
prpiété echelle
seedRandom(1, timeless = true)
x=random(10,100);
[x,x]
Le résultat

Ensuite je duplique autant de fois que je veux de flocons.

Questions :
- puis je me passer de la dupli par un autre moyen et ainsi reduire le nombre de calques ?
- Pourquoi dois je mettre ma valeur x à 0 avant d'appliquer l'expression, sinon la fonction random ajoute à la valeur de depart ?

Autres question n'ayant pas un rapport direct avec cette expressions :
Est ce possible dans une meme expression de se servir du seedRandom et d'appeler à le fois des randoms faisant appel au seed et des randoms fonctionnant sans tenir compte du seed ?
La fonction seed s'applique t'elle au wiggle et si oui ets ce utile ?

Marci beaucoup !

Bill

Dernière modification par bildebool ; 05/04/2006 à 11h34.
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #12  
Vieux 13/12/2005, 04h05
Avatar de nab17connection
Repairenaute
 
Date d'inscription: mai 2004
Messages: 1 049
Bénéficie de 5 recommandations à propos de 5 messages
Thumbs up



hey ! moi je dis bravo Bill

tu n'as presque plus besoin d'aide, tu es devenu quasiment freetyle avec les expressions

quelques remarques néanmoins :

_pour avoir moins de calques, tu peux toujours mettre plusieurs masques sur un meme solide, histoire d avoir 3-4 flocons sur un meme calque (attention toutefois car ils auront le meme deplacement , donc ne pas les mettre trop proches les uns des autres )

_il est préférable de finir une instruction avec un point virgule ";"
(on le zappe éventuellement qd il s agit de la derniere instruction)

_ le 'timeless = ' ne sert à rien. Tu mets simplement quelque chose qui vaut 'true' ou 'false'.

_si tu veux un nombre aleatoire entre 0 et 640 par exemple, tu peux ecrire directement "random(640)", la borne inférieure par défaut est 0

_dans ton "if...", dans le cas ou "y" ne doit pas etre modifié, tu n as pas besoin de lui dire "fais rien à y !" avec une instruction du type "y = y ". Le 'else... ' ici ne sert donc à rien.
et avec ton "%520" le flocon qd il arrivait en bas, remontait un petit peu avant de repasser correctement par le haut ("%500" est ok). c'etait ptet voulu je sais pas

_ "Pourquoi dois je mettre ma valeur x à 0 avant d'appliquer l'expression, sinon la fonction random ajoute à la valeur de depart ? "
En effet dans ta ligne " x = ...", tu ajoutes un random qui peut aller jusqu'a 640 et un wiggle(); or ce wiggle va te donner une valeur par rapport à la valeur initiale de ta position. Donc qd tu ajoutes random(..)+wiggle(...)[0], ca peut faire sortir (nettement) le calque de l'ecran.
si tu ne veux pas avoir à les recadrer en les selectionnant tous et les deplacant, tu peux par exemple mettre ton wiggle() sur un parametre glissiere. Quand sa valeur va trembler, elle tremblera autour de 'zéro' (si tu ne la modifies pas biensur). Ainsi tu peux recuperer ce tremblement ( placé sur un parametre glissiere donc une valeur en 1D, ca tombe bien c'est exactement ce que tu veux...juste récuperer un tremblement pour x), et l'utiliser dans ton expression principale. Ton flocon pourrra dépasser mais comme le wiggle est calculé autour de la valeur 0, et que son ampitude est petite (tu avais choisi entre 10 et 50 pixels), ca sera ok.

J'ai réécrit ton expression sur la Position comme cela :
Code:
Cp = thisComp; W = Cp.width; H = Cp.height; h = height; // constantes de la comp et du solide
factor = 1.0; // facteur de vitesse
vitesse = factor*scale[0]; // vitesse liée à l'échelle
seedRandom(0,true);
startX =  random(W); startY = random(-h,H);
x = startX + effect("wiggleX")("Curseur"); // point de base + tremblement
y = startY + vitesse*time;  // point de base + chute
if(y > (H + h)) y = y%(H + h) - h;
[x,y]
et sur le Paramètre glissière renommé "wiggleX", je calcule juste ce qui sera le tremblement en x:
Code:
seedRandom(0,true);
freq = random(0.5,1); amp = random(10,50); 
wiggle(freq,amp)
note: tu peux mettre "amp" et freq" en parametres glissieres egalement, pour pouvoir les animer avec clés par exemple.

ps:reponse aux autres questions dans un nouveau message
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #13  
Vieux 13/12/2005, 05h41
Avatar de nab17connection
Repairenaute
 
Date d'inscription: mai 2004
Messages: 1 049
Bénéficie de 5 recommandations à propos de 5 messages
Arrow seedRandom, timeless or not



me revoila
Est ce possible dans une meme expression de se servir du seedRandom et d'appeler à le fois des randoms faisant appel au seed et des randoms fonctionnant sans tenir compte du seed ?
oui en rappelant la fonction seedRandom(), mais en changeant son deuxiement parametre (le 'true' devient 'false' par exemple).

Je viens de faire un ptit projet qui va expliquer cela. Comme je trouve l'outil texte génial, mon exemple portera la dessus.

copie/colle l 'expression qui suit dans la propriete 'texte source' (les explications ensuite :
Code:
mots1 = ["François","Antonio ","Carole  "]; 
mots2 = ["dort","boit","fume"]; 
mots3 = ["peu     ","beaucoup", "trop    "];
seedRandom(1,false); 
i1 = Math.round(random(mots1.length -1));
choix1= mots1[i1];
seedRandom(2,false);
i2 = Math.round(random(mots2.length - 1));
choix2 = mots2[i2];
seedRandom(3,false);
i3 = Math.round(random(mots3.length -1));
choix3 = mots3[i3];

choix1 + " " + choix2 + " " + choix3
mots1,mots2,mots3 : je définis trois tableaux dans lequel je stocke des mots (qui doivent etre entre guillemets). Pour que les chaînes aient toutes la meme longueur, j ajoute eventuellement des espaces pour combler les plus petits.

i1,i2,i3 : je calcule un indice d un tableau. je le choisis de maniere aleatoire avec random(). Cet indice doit etre compris entre 0 et longueurTableau -1 (les indices de tableaux commencent toujours a 0, pas à 1). Un indice doit forcement etre un nombre entier, la mthode "Math.round()" sert à cela en arrondissant a l entier le plus proche.

choix1,choix2,choix3 : les mots choisis seront ceux situés au indices i1,i2,i3 de leur tableau (donc des mots pris au hasard dans les tableaux d origine.)

note:je change la valeur de la seed (1 puis 2 puis 3) pour ne pas avoir toujours le meme indice aleatoire pour chacun des tableaux (qd on va les passer a 'true').

Dans cette expression, le second parametre de "seedRandom()" est toujours 'false', donc tes mots vont changer d'une image a l autre aleatoirement (le 'timeless' n'agit pas).

Maintenant, change l'un de ces parametres à 'true', disons le premier. Le choix1 sera donc aleatoire, mais sera le meme pour chaque image (le meme mot tjs affiché). En revanche, pour le choix2, comme tu as précisé 'false' , il va continuer à te sortir un mot aleatoire à chaque image.

Les calques texte sont génial pour les expressions, faut explorer
mots_alea_(40k).swf


Pour ta derniere quetion, oui la fonction "seedRandom()" marche aussi pour le wiggle. (attention la fonction est 'seedRandom' pas 'seed'. 'seed' c'est le nom de variable courant qu'on attribue à ...à.. à la seed justement (le premier parametre, i.e 1, 2, ce que tu veux)
Est-ce utile ? je dirais que ca peut l'etre oui.
Pour un exemple, imagine que tu veuilles faire trembler plusieurs calques de la maniere .
si tu mets un wiggle sur la position, ton calque va trembler d une certaine maniere, ok.
si tu dupliques ce calque, le nouveau calque tremblera d une maniere differente.
SI tu souhaites pour x raisons que ce calque dupliqué ait exactement le MEME tremblement que le calque d origine, alors tu vas utiliser "seeeeeeeeedRandom" avant le wiggle.

Dernière modification par nab17connection ; 13/12/2005 à 06h19.
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #14  
Vieux 13/12/2005, 09h36
Avatar de bildebool
Repairenaute
 
Date d'inscription: octobre 2004
Messages: 932
Bénéficie de 0 recommandations à propos de 0 messages


Hey !

Merci pour toutes ces remarques enrichissante !
Effectivement le flocon remonte un peu ce n'était pas voulu, mais c'est vrai que j'avais mis un %520 avec un le if >500 donc ça collait pas !

Je vais étudié de plus près l'expression que tu as ecrit (la prems) qui est (bien sur ) plus élaborée que la mienne !

Maintenant j'ai bien integré avec ton exemple l'utlisation du seedrandom, surtout grace à ton deuxieme message, et je trouve vraiment genial de pouvoir mettre des valeurs aleatoires à un calque. Dans ce genre d'utilisation on gagne un temps précieux, et il faut le dire, l'utilisation des expressions dans ce cas rend un resultat beaucoup plus naturel que des animations par clés.

Bon je crois avoir pris note de toutes tes remarques et je ferai en sorte de les appliquer !

Ensuite dans ton exemple avec les mots je ne comprend pas trop comment l'expression
seedRandom(1,false);
i1 = Math.round(random(mots1.length -1));
choix1= mots1[i1];
renvoie l'un des mots choisits. D'accord pour le math.round, et pour le seedRandom, mais je comprends pas trop pourquoi le tableau est compris entre "0" et "Longtableau-1", et comment marche le mots1[i1]

Bon voilà en tout cas encore merci pour l'aide qui m'est tres utile !

Bill

PS : quelle difference fais tu, dans l'utilisation, entre l'outil texte et l'effet texte de base.
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
  #15  
Vieux 14/12/2005, 05h33
Avatar de nab17connection
Repairenaute
 
Date d'inscription: mai 2004
Messages: 1 049
Bénéficie de 5 recommandations à propos de 5 messages
tableaux



les indices d un tableau à n éléments vont de 0 à n-1.
si i1=0 par exemple, alors mots1[i1] represente le premier élément du tableau mots1 (de la maniere que lorsque tu écrivais "scale[0]", scale est un tableau et tu accedes à son premier élément en precisant l indice 0)
notre exemple :



Sinon pour les differences entre l outil texte et l effet texte de base, je dirais que c est comme entre un bon golfeur du dimanche et Tiger Woods .
avec l outil texte tu peux ajouter des groupes d animations sur tout plein de proprietes du texte (avec des mots-clés d expression qui n existent que pour cet outil), tu peux animer ton texte caracteres par caracteres, tu as cette propriete 'texte source' qui est vraiment tres souple ... en deux mots c'est la frime
avec l effet texte de base, tu n as pas toute cette liberté (en gros tu as couleur, taille et ancrage), cela dit c'est bien pour simplement ajouter un texte 'fixe' sur un calque existant ...

ps: le truc que je n aime pas par contre avec l outil texte , c est que je n'arrive pas a faire defiler mes polices de caracteres dans la palette 'Caracteres'. Qd je selectionne la police courante dans le ptit cadre et que j utilise la roulette de la souris, cela ne change pas ma police, elle reste la meme et je suis obligé d ouvrir la "librairie de polices" et naviguer.. (alors qu'avec l effet texte de base, la meme manip marche au poil )
Digg this Post!Add Post to del.icio.usMarquePage Slashdot!MarquePage Facebook!MarquePage Google!ViadeoWikio
Réponse avec citation
Réponse

Faites part à vos amis de ce sujet !!


Moteur Google Repaire 


Outils de la discussion
Modes d'affichage

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are oui
Refbacks are oui


Discussions similaires
Discussion Auteur Forum Réponses Dernier message
expressions pour newbies gvittoz Adobe After Effects 2 08/03/2005 14h41
newbies.... rausa26 divers vidéo 0 17/03/2004 10h45
Pour Un Newbies Svp satmyx authoring 3 07/03/2004 21h04
Newbies kakourmetrages Diffusion de vidéos 0 12/12/2002 14h00
newbies need help please justedieu Adobe After Effects 4 01/12/2002 17h20


Fuseau horaire GMT +2. Il est actuellement 04h57.

Moteur GoogleRepaire

tous contenus |rubriques + forums|




















Adobe After Effects
contenus reliés
FAQ Adobe After Effects
OpenGL dans After Effects
Traduction des noms des modes de fusion ...
Traduction des noms des effets anglais v...
Pas de DPI dans After Effects.
Fiche/Avis : Logiciels Effets Spéciaux et Compositing
Adobe After Effects CS4
Adobe After Effects CS3
After Effects 7
After Effects 6.5
News
!  Projet de logiciel FX à la After Effects...
Boris Continuum Complete 6 AVX, effets p...
Drivers RED REDCODE 1.7 pour Premiere Pr...
Des animations After Effects gratuites à...
Tutoriaux
Rotoscopie, détourer une vidéo dans Afte...
Tutoriaux After Effects : Le langage des...
After Effects : Echo et initiation aux e...
After Effects : Cadence d'images et Exte...
Tutoriaux Video Adobe
Créer un générique avec After Effects 7 ...
Créer un générique avec After Effects 6....
Mises à Jour et Notices
Les plugs-in Trapcode quid pour CS3, Win...
Focus Thématiques
Le scripting dans After-Effects, des eff...
Communiqués de presse
NVIDIA : suite à l'annonce Adobe Creativ...


.
Document sans nom

vBulletin® Version 3.8.2
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
Integrated by BBPixel ©2003-2009, jvbPlugin

Version française #20 par l'association vBulletin francophone
Ces forums sont protégés par le Code de la propriété littéraire et artistique - RCS498481704