Canalblog
Editer l'article Suivre ce blog Administration + Créer mon blog
Publicité
Dark Wave Production
19 janvier 2018

Effet d'ondes sur une image

Copie pasta crade d'un bout de l'écran titre de Shiet Liver Golder Deluxe.

L'idée est de distordre une image en la collant sur une grille de 10 cases par 10 cases (donc 11 points par 11 points).
Et avant bien sûr, on à calculé les coordonées des points pour qu'ils fassent quelque chose de marrant (ici une ondulation dynamique et mouvementée mais centrée).

Créé vous un nouvel objet, et basardez le dans une nouvelle room.

Dans le create :

tex = background_get_texture(background);
time = 0;

Puis dans le draw :

    time += 1;
    W=178;
    H=136;
    amplitude = 1.2;//mouse_x/10
    vitesse = 12;//(mouse_y+1)/10;
    d3d_transform_set_identity();
    d3d_transform_add_translation(128-W/2,80-H/2,0);
    
    for(i=0; i<11; i+=1)
    {
        for(j=0; j<11; j+=1)
        {
            t = time / vitesse;
            coords_x[i,j] = W*(i/10) + (amplitude*sin(j+t) + amplitude*cos(i+t))*(i-5)//;
            coords_y[i,j] = H*(j/10) + (amplitude*sin(i+t) + amplitude*cos(i+t))*(j-5)// + amplitude*cos(i+t);
        }
    }
    
    for(i=0; i<10; i+=1)
    {
        draw_primitive_begin_texture(pr_trianglestrip, tex);
        for(j=0; j<11; j+=1)
        {
            draw_vertex_texture(coords_x[i,j],coords_y[i,j], i/10,j/10);
            draw_vertex_texture(coords_x[i+1,j],coords_y[i+1,j], (i+1)/10,j/10);
        }
        draw_primitive_end();
    }
    
    
    d3d_transform_set_identity();

Résultat :

[Upload image impossible]

Publicité
Publicité
Commentaires
Dark Wave Production
Publicité
Publicité