Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Nie mam pomysłu jak zrobić dobre cienie w grafikach izometrycznych, gdy sie mzieni image xscale,angle itp to sie robi problem :/ .

Ma ktoś jakiś sposób na to?

Opublikowano

rzutowanie prymitywami jedynie pozostaje

 

zamiast:

---

| |

---

 

robi sie:

---

\ \

---

Opublikowano

obiekt ktory trzyma cienie:

GML (Create)
sizex = 32;

sizey = 32;

alpha = 0.5;

dir = 45;

px = lengthdir_x( sizey, dir - 90 );

py = lengthdir_y( sizey, dir - 90 );

global.shadow = d3d_model_create();

d3d_model_primitive_begin( global.shadow, pr_trianglefan );

d3d_model_vertex_texture_color( global.shadow, -sizex/2, 0, 0, 0, 1, c_black, alpha );

d3d_model_vertex_texture_color( global.shadow, sizex/2, 0, 0, 1, 1, c_black, alpha );

d3d_model_vertex_texture_color( global.shadow, px+sizex/2, py, 0, 1, 0, c_black, alpha );

d3d_model_vertex_texture_color( global.shadow, px-sizex/2, py, 0, 0, 0, c_black, alpha );

d3d_model_primitive_end( global.shadow );

 

gdzies w jakims obiekcie ktory musi miec cien

GML (Draw)
d3d_model_draw( global.shadow, x, y, 0, sprite_get_texture( sprite_index ) );

 

modele 3D mozna stosowac tez w 2D zwiekszajac predkosc rysowania, pomijajac zmudne obliczenia :)

Opublikowano

Działać to działa ale są problemy z wielkością cienia i gdy zmieni sie image xscale na -1 to cień jest odwrócony w inną strone niż postać, nie wie jak tam zrobić żeby ten cień też tak mial jakby image_xscale-1 itp

Opublikowano

wielkosc to mozesz skalowaniem zmieniac a dla image_xscale=-1 robisz cien z scalex = -32 np.

Opublikowano

Ech, jak zmieniam sizex na - to cień pojawia sie gdzieś wysoko w zlej pozcji, chyba zrobie tak samo jak wtedy czyli w drawie tylko :/

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...