formes de bruits¶
wiggle()¶
wiggle( fréquence, amplitude )
prend deux paramètres et renvoi un nombre non explicitement borné.
transform.position.wiggle(1,20);
// ou simplement
// changement 1 fois par seconde
// amplitude 20
wiggle(1,20)
// changement 50 fois par seconde
// amplitude 20
wiggle(50,20);
random()¶
random()
renvoie un nombre de 0 à 1.
version courte¶
[transform.position[0]+random()*200-100,transform.position[1]+random()*200-100]
version longue¶
/* on récupère la position en x et y
de notre élément avant l'exécution
de l'expression */
var x_au_depart = transform.position[0];
var y_au_depart = transform.position[1];
// on prend deux nombres entre **0 et 1**
var nombre_au_hasard_1 = random();
var nombre_au_hasard_2 = random();
var x_en_sortie = nombre_au_hasard_1 // 0 à 1
* 200 // 0 à 200
- 100 // -100 à 100
+ x_au_depart;
var y_en_sortie = nombre_au_hasard_2 // 0 à 1
* 200 // 0 à 200
- 100 // -100 à 100
+ y_au_depart;
// la position est un tableau [x,y]
// donc je termine mon expression par un tableau [x,y]
[x_en_sortie,y_en_sortie]
noise()¶
noise( n )
renvoie un nombre de -1 à 1.
Note
noise( n )
prend un paramètre n. L’idée est de passer un paramètre linéaire comme time
. À cette courbe dont la progression est linéaire, correspondra une courbe horizontale présentant un bruit :

version courte¶
var x = transform.position[0] + Math.sin ( index * Math.PI / 6 ) * ( index * 25 ) + noise ( time * 2 + index/25 ) * 50;
var y = transform.position[1] + Math.cos ( index * Math.PI / 6 ) * ( index * 25 ) + noise ( time * 2 + index/25 + 200 ) * 50;
[x,y]
version longue¶
/* on récupère la position en x et y
de notre élément avant l'exécution
de l'expression */
var x_au_depart = transform.position[0];
var y_au_depart = transform.position[1];
/* calcul du positionnement en spiral selon l'index du calque */
var x_spirale = Math.sin ( index * Math.PI / 6 ) * ( index * 25 );
var y_spirale = Math.cos ( index * Math.PI / 6 ) * ( index * 25 );
/* bruit
à noter qu'on utilise l'index que l'on divise pour conserver une proximité entre les différents éléments */
var bruit_x = noise ( time * 2 + index/25 ) * 50;
var bruit_y = noise ( time * 2 + index/25 + 200 ) * 50;
var x = x_au_depart
+ x_spirale
+ bruit_x;
var y = y_au_depart
+ y_spirale
+ bruit_y;
[x,y]
Note
