m97 Opublikowano 24 Marca 2012 Udostępnij Opublikowano 24 Marca 2012 Czy ktoś z was ma pomysł na wydajne oświetlenie kwadratowego świata w sandboxie? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 24 Marca 2012 Udostępnij Opublikowano 24 Marca 2012 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 Więcej opcji udostępniania...
m97 Opublikowano 24 Marca 2012 Autor Udostępnij Opublikowano 24 Marca 2012 A czy mógłbym jakiś przykład? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Roki Opublikowano 24 Marca 2012 Udostępnij Opublikowano 24 Marca 2012 Jestem po reinstallu systemu, więc nie mam nic na kompie. Poszukaj czegoś na GMClanie, na 100% jest gdzieś system oświetlenia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
karolo320 Opublikowano 24 Marca 2012 Udostępnij Opublikowano 24 Marca 2012 musisz sprawdzac collision_line ze wszystkimi zrodlami swiatla i odleglosc i na podstawie tego rysowac na surfacesie Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
ZyperPL Opublikowano 24 Marca 2012 Udostępnij Opublikowano 24 Marca 2012 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 Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę