Skocz do zawartości

Problem z oświetleniem ścian.


mallo

Rekomendowane odpowiedzi

Witajcie ludziska, po raz pierwszy robię grę 3D, i póki co wszystko było pięknie, dopóki nie dodałem oświetlenia wokół gracza (używając "d3d_light_define_point"), dla efektu podziemi. Teraz, kiedy się przybliżam, ściany się robią ciemniejsze, a kiedy się oddalam - jaśniejsze. O_o Co dziwniejsze, oświetlenie dobrze działa na podłodze/suficie.

daleko.png

 

blisko.png

(Jak by co, ten żyrandol to też jest ściana, ale ona się obraca do gracza ciągle)

Odnośnik do komentarza
Udostępnij na innych stronach

wektory normalne zle ustawiasz.

Odnośnik do komentarza
Udostępnij na innych stronach

No niby tak, ale jeśli zamiast (na forum GM czytałem, by tak zrobić)

d3d_draw_wall(x2,y2,z+16,x1,y1,z,tex,1,1);

wpiszę

d3d_draw_wall(x1,y1,z+16,x2,y2,z,tex,1,1);

to wtedy jedna strona tekstury, (ta, na którą chcę patrzeć) jest cała czarna, chyba, że wyłączę oświetlenie.

 

To jak je dobrze ustawić??

Odnośnik do komentarza
Udostępnij na innych stronach

Skoro już blendera masz to załaduj sobie jakiś model, wejdź edit mode [tab] otwórz panel klawiszem [N] i znajdź przyciski normals.

Są dwa: Face normal i Vertex normals. Jak się robi model tymi funkcjami d3d_vertex_normal_texture to te tutaj są właśnie Vertex Normalami.

 

Włącz sobie ich podgląd w blenderze i zobacz jak to wygląda. To jest po prostu trójwymiarowy wektor wychodzący z wierzchołków.

Jak światło pada w tym samym kierunku ale przeciwnym zwrocie co ten vector "vertex normal" to ten wierzchołek jest oświetlony najmocniej.

 

Z odpowiednim ustawieniem tych vertex normali można stworzyć gładsze lub ostrzejsze cieniowanie modelu. Jak vertex normale będą równoległe do face normala to model będzie miał ostre cieniowanie a nie miękkie.

 

 

Mała dygresja:

Funkcja d3d_set_smooth() konfiguruje światło tak że reaguje albo na face normale albo na vertex. Jak jest d3d_set_smooth(true) to światło będzie gładkie ale pod warunkiem że model nie ma równoległych vertex normali do face normala.

Odnośnik do komentarza
Udostępnij na innych stronach

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