Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

Mój edytor podłóg do gry 3D potrafi narysować kształt i wygenerować z niego poszczególne trójkąty. Wszystko było by elegancko gdybym tego nie teksturował.

Chcę ustawić współrzędne UV wierzchołków tych trójkątów tak by tekstura podłogi się powtarzała.

Niestety potrafię na razie rozciągnąć teksturę na cały kształ:

 

Moja tekstura: uvmappingtexture.png

 

i jak to wygląda w edytorze i podglądzie 3D:

( to przyklejone do górnej krawędzi kształtu jest ścianą nie podłogą )

uvmapping.png

 

 

W ten sposób ustalam współrzędne UV wierzchołków:

 

U = x / szerokosc poziomu

V = y / wysokosc poziomu

 

GML
d3d_vertex_texture(x1, y1, 0, triangleX1 / room_width,

triangleY1 / room_height);

 

d3d_vertex_texture(x3, y3, 0, triangleX3 / room_width,

triangleY3 / room_height);

 

d3d_vertex_texture(x2, y2, 0, triangleX2 / room_width,

triangleY2 / room_height);

Opublikowano

W taki sposób tekstura się rozciągnie jeszcze bardziej tj. wyjdzie poza room.

 

edit:

 

próbowałem też takiego czegoś:

 

U = ( x mod szerokosc tekstury ) / room_width

V = ( y mod wysokosc tekstury ) / room_height

 

ale też nie podziałało.

Opublikowano

No bez jaj że takie coś prostego pominąłem xD

 

Dzięki teraz działa.

 

Edit: a ja głupi już sięgnąłem po open source silnika dooma żeby zobaczyć jak ID software zrobili to :P

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ę...