Skocz do zawartości

Oświetlenie w sandboxie


m97

Rekomendowane odpowiedzi

Czarne tło, i rysowanie tylko klocków które gracz widzi, bo to co pod ziemią nie może być widoczne?

Lub stopniowe przyciemnianie poprzez rysowanie na surface / rysowanie czarnych kwadratów z kanałem alpha?

 

Ofc update surface tylko wtedy, jeśli zmieni się bloczek. Cały surface generowany przy wczytywaniu świata.

Odnośnik do komentarza
Udostępnij na innych stronach

Możesz zrobić cień na obiektach i gdy np. nad obiektem nic nie ma cień wynosi 0. Gdy jest inny blok, ale nad tym innym obiektem nic nie ma, cień wynosi 0.1. Itd. ja tak zrobiłem u siebie (nie, nie robie klona MC).

 

Zrobiłem też to na drugi sposób. Cień jest bardziej wygładzony, tyle, że nie używam tego sposobu, bo nie potrzebuje (nie robię tak jak w Minecraftie, cień zrobiłem tylko jako element dekoracyjny). Tak, że gdy nad obiektem nic nie ma to cień wynosi 0 + każdy inny obiekt, który ma coś nad obiektem, pobiera cień innego i dodaje do swojego 0.05. A gdy jest wolna przestrzeń, sam otrzymuje cień 0. ;)

 

 

Może to trochę skomplikowane, ale dam jeszcze pomocny kod.

 

GML
draw_sprite_ext(sprite_index,image_index,x,y,image_xscale,image_yscale,image_angle,c_black,cien //rysowanie cienia na obiekcie</span>

 

Jak chcesz zrobić dodatkowo pochodnie itd. (jak w Minecraftie) możesz zrobić w obiektach blok taki kod:

GML
if distance_to_object(obj_torch)<20 && cien>0.2 cien=0.2
;)

 

Mam nadzieje, że chociaż trochę Cię naprowadziłem.

Pozdrawiam, Zyper

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