Skocz do zawartości

Pole widzenia


Rekomendowane odpowiedzi

Pamiętam, że był kiedyś przykład pola widzenia, tzn. coś takiego że w grze w której widać wszystko od góry i tak widzimy tylko to co widziałby naprawdę bohater, czyli jeżeli stoi przed nim skrzynia to za skrzynią widzimy już czarne pole bo przecież bohater nie może patrzeć "sru" skrzynię.

sp.jpg

 

Chciałbym zrobić coś takiego w swojej grze, lecz nie mam pomysłu. Zaraz pewnie ktoś wyleci mi z tym przykładem - owszem chcę go, ale chcę też aby mi ktoś wyjaśnił jak to działa.

Odnośnik do komentarza
Udostępnij na innych stronach

dokładnie tak jak zelman powiedział

 

edit: cholera no, nikt nie wie? chyba dawidds nawet ten przykład robił ale nie jestem pewien..

 

e: nie to nie dawidds.. hmm...

 

https://gmclan.org/index.php?sciagnijplik=114

chodzi mi dokładnie o coś takiego, ale nie ma być takie kwadraciane tylko płynne

Odnośnik do komentarza
Udostępnij na innych stronach

Na przyszłość staraj się rozrysowywać takie rzeczy :)

hfghfghydshdh.png

 

1. Wszystkie grafiki w grze obudowywujesz sobie liniami (wielokątami)

2. Na podstawie kątu do gracza (czy jak tam chcesz) stwierdzasz, które linie są "widoczne" a które nie. Te widoczne są zaznaczone na rysunku pogrubionym czerwonym, interesują cię te, które widzisz od ich wewnętrznej strony.

3. Dalej chyba wszystko widać, wypełniasz obszar za każdym widocznym odcinkiem (mogą być prymitywy ale równie dobrze możesz walnąć dwa razy draw_triangle, jak tam chcesz).

 

Tyle, że taki systemik sprawia w praktyce więcej problemów niż mogło by się wydawać - gdy chcemy coś okrągłego to aby to jakoś wyglądało musimy użyć dość dużej liczby wielokątów co przełoży się nam na bidną wydajność, a gdy chcemy dodać do gry jakieś budynki to dopiero pojawia się rzeźnia, bo musisz sobie napisać algorytm który będzie łączył bloki budynków w jedne wielkie wielokąty (nie możesz cieniować każdego osobno, bo nie dość, że byś dostał po wydajności to jeszcze wyglądało by tragicznie gdy każdy bloczek z którego składa się ściana (które w zamierzeniu się ładnie łączą ze sobą) rzucają na siebie wzajemnie cień.

I innym problemem którego się już wręcz nie da rozwiązać są drzewa - nie możesz cieniować samego pieńka bo wyglądało by to głupio gdyby połowa korony była przykryta cieniem, a całej korony zacieniować też nie możesz bo jest raczej zbyt szczegółowa na wydajność gma (a i tak wyglądało by to głupio).

Nie da też rady cieniować (no da radę, ale wygląda to troszkę niefajnie) obiektów, które mają w sobie dziury.

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