Skocz do zawartości

3d swiatlo


Ice Cube

Rekomendowane odpowiedzi

Cześć

zaczynam zabawe ze swiatlem w 3d

potrzebuje cos takiego jakby latarka

tzn.aby swiatlo chodzilo razem z graczem

próbowalem czegoś takiego z mgłą i wyszło całkiem nieźle,ale chciałbym sprawdzić jaki to jest efekt ze światłem

możecie podsunąć jakiś pomysł,artykuł 

pozdro

Odnośnik do komentarza
Udostępnij na innych stronach

Cześć, do obsługi spotlightów potrzebować będziesz GMa z shaderami (studio), polecam ten tutorial https://learnopengl.com/Lighting/Light-casters Na tej stronie są opisane podstawy grafiki 3d, co prawda nie dot. GMa, ale tematy dot. shaderów są jak najbardziej użyteczne.

 

Dodatkowo polecam przejrzeć artykuły dot. shaderów od yoyo

https://www.yoyogames.com/blog/14/shaders-overview-part-1

 

Ew. jak koniecznie chcesz używać GMa bez shaderów, możesz spróbować kombinować z d3d_light_define_point i zrobić to na zasadzie promieni. Puszczając promień od kamery i tam, gdzie promień spotyka się ze ścianą, ustawiasz w tej pozycji światło punktowe (z marginesem od ściany), co da efekt latarki jak w niektórych starszych grach np. Unreal.

 

EDIT: Albo dodać możesz półprzezroczystą nakładkę na ekran i na środku tej bitmapy byłby bardziej przezroczysty okrąg, co z włączonym fogem też dałoby efekt latarki :v

 

Odnośnik do komentarza
Udostępnij na innych stronach

dobra może inaczej zacznijmy od podstaw.

mam dosyć spory room 10240/10240 jest w nim miasto(bloki,dzewa,krzaki,postacie)

bloki są oświetlone tylko z jednej strony(widać texture) z drugiej strony jest czarno

chciałbym aby byla widoczna każda strona bloku,ale ciemniej tzn.taki efekt jak by się chodziło w nocy

 

jest kwadratowy ksiezyc :P ,by było widać z kąd świeci światło:

oto moj kod:

 

d3d_draw_block(1000,1000,100,1100,1100,90,background_get_texture(bck_ksiezyc),1,1)
d3d_set_lighting(true);
d3d_light_define_direction(1,1000,1000,50, c_white);
d3d_light_enable(1, true);

 

co zrobić by było widać każdą strone obiektów,ale ciemniej

 

 

kolejna sprawa to interfejs na którym było widać zdrowie postaci,punkty itp. stał się cały czarny i nic nie widac ;/ dlaczego?

help!

Odnośnik do komentarza
Udostępnij na innych stronach

9 minut temu, Konrad-GM napisał:

W grafice 3D nazywa się to ambient light, w GM jest do tego funkcja d3d_light_define_ambient.

 

Interfejs też rysuje się z włączonymi światłami, przed rysowaniem interfejsu wyłącz światło d3d_set_lighting(false).

 

interfejs sie pojawił- dzięki :)

 

ale korzystam z gm.8 z racji tego iż gre od poczatku robie w nim i konwersja zajela by bardzo dużo czasu na gm studio.

a w 8 nie ma opcji d3d_light_define _ambient :(

 

czy jest na to inne rozwiązanie?,może 4 światła z każdej strony roomu,coś jakby oświetlenie stadionu?? próbowałeś takiego czegoś?,może inny pomysł?

Odnośnik do komentarza
Udostępnij na innych stronach

Przejrzałem dokumentację GM8.0 i niestety funkcja d3d_light_define_ambient jest od wersji GM8.1 :/

 

GM Studio 1.4 jest w dużej części kompatybilny ze starszymi GM, generalnie 3D w GMie to rzeźnia i szczerze nie polecam. Kiedyś też się bawiłem 3D w GMie, część nawet nadal dostępna jest na  uploaderze https://gmclan.org/up1717.html może coś Ci się przyda ;)

 

Jakiś czas temu były duże promocje na GM Studio, teraz ta wersja co wyjdzie jako stable będzie od tego czasu niewspierana przez yoyo, możliwe, że ponownie zagoszczą niezłe promocje.

Odnośnik do komentarza
Udostępnij na innych stronach

2 godziny temu, Konrad-GM napisał:

Przejrzałem dokumentację GM8.0 i niestety funkcja d3d_light_define_ambient jest od wersji GM8.1 :/

 

GM Studio 1.4 jest w dużej części kompatybilny ze starszymi GM, generalnie 3D w GMie to rzeźnia i szczerze nie polecam. Kiedyś też się bawiłem 3D w GMie, część nawet nadal dostępna jest na  uploaderze https://gmclan.org/up1717.html może coś Ci się przyda ;)

 

Jakiś czas temu były duże promocje na GM Studio, teraz ta wersja co wyjdzie jako stable będzie od tego czasu niewspierana przez yoyo, możliwe, że ponownie zagoszczą niezłe promocje.

Probowalem niedawno przekonwertowac cala gre,ale jest bardzo duzo bledow.

Gra juz praktycznie skonczona wiec na razie nie widze teraz sensu przesiadac sie na nowsza wersje,napewno jak wezme sie za nową gre.

 

Wracając do tematu,czy 4 swiatła z rogów roomu rozwiążą problem?

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

15 godzin temu, Konrad-GM napisał:

Ustawienie N świateł nie da tego samego efektu co ambient light (oświetlenie obiektu z każdej strony), ale możesz popróbować jaki setting będzie najkorzystniejszy, w GM8.0 niestety innej opcji nie widzę :/

ok bede próbować,wielkie dzięki :)

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dnia 19.10.2018 o 01:26, Konrad-GM napisał:

Cześć, do obsługi spotlightów potrzebować będziesz GMa z shaderami (studio), polecam ten tutorial https://learnopengl.com/Lighting/Light-casters Na tej stronie są opisane podstawy grafiki 3d, co prawda nie dot. GMa, ale tematy dot. shaderów są jak najbardziej użyteczne.

 

Dodatkowo polecam przejrzeć artykuły dot. shaderów od yoyo

https://www.yoyogames.com/blog/14/shaders-overview-part-1

 

Ew. jak koniecznie chcesz używać GMa bez shaderów, możesz spróbować kombinować z d3d_light_define_point i zrobić to na zasadzie promieni. Puszczając promień od kamery i tam, gdzie promień spotyka się ze ścianą, ustawiasz w tej pozycji światło punktowe (z marginesem od ściany), co da efekt latarki jak w niektórych starszych grach np. Unreal.

 

EDIT: Albo dodać możesz półprzezroczystą nakładkę na ekran i na środku tej bitmapy byłby bardziej przezroczysty okrąg, co z włączonym fogem też dałoby efekt latarki :v

 

możesz podać jakiś prosty przykład z d3d_light_define_point

oraz z półprzezroczystą nakładką i mgłą,bo to próbowałem zrobić i nie zabardzo daje mi jakiekolwiek efekty ;/

 

dzięki 

Odnośnik do komentarza
Udostępnij na innych stronach

Jasne, generalnie to chodzi mi o uzyskanie takiego efektu:


image.thumb.png.731271f2fbe7bfe932fa6d949e2aedec.png

Co prawda nie posiadam GM 8.0, ale w tym przykładzie nie używam żadnych świateł, jedynie funkcje dostępne w GM 8.0. Także metodę tę można bez problemu przenieść do GM 8.0.

Spotlight.gmz

 

Wrzuciłem ten przykład też na inny hosting:
https://www113.zippyshare.com/v/B7gz3Lvd/file.html

Odnośnik do komentarza
Udostępnij na innych stronach

3 godziny temu, Konrad-GM napisał:

Jasne, generalnie to chodzi mi o uzyskanie takiego efektu:


image.thumb.png.731271f2fbe7bfe932fa6d949e2aedec.png

Co prawda nie posiadam GM 8.0, ale w tym przykładzie nie używam żadnych świateł, jedynie funkcje dostępne w GM 8.0. Także metodę tę można bez problemu przenieść do GM 8.0.

Spotlight.gmz

 

Wrzuciłem ten przykład też na inny hosting:
https://www113.zippyshare.com/v/B7gz3Lvd/file.html

to mam otworzyc w gm8? ,bo nie chce załadować ;/

 

Odnośnik do komentarza
Udostępnij na innych stronach

Niestety nie posiadam GM 8.0, musiałbyś otworzyć projekt w GM Studio i skopiować kod który Cię interesuje.

 

EDIT: Możesz też zmienić nazwę pliku z .gmz na .zip i otworzyć archiwum. Pliki .gmx to XMLe, także jak otworzysz je edytorem tekstowym to możesz podejrzeć parametry obiektów i ich kod. Możesz w ten sposób skopiować kod obiektu objTorchLayer odpowiedzialny za fake-owe światło.

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