Autor Wątek: chowanie się broni za ścianą :P  (Przeczytany 6685 razy)

Offline Wosq

  • Użytkownik

# Maj 29, 2007, 21:40:17
Podczas renderingu broni mam pewien problem, otóż (jak widać na screenie) broń chowa mi się za ścianą :P, nie chcę tego jednak, jest jakiś sposób żeby to ominąć?


Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Maj 29, 2007, 21:46:08
Podczas renderingu broni mam pewien problem, otóż (jak widać na screenie) broń chowa mi się za ścianą :P, nie chcę tego jednak, jest jakiś sposób żeby to ominąć?

Zakładając, że broń rysujesz jako ostatni obiekt w scenie (później ewentualnie rysujesz już tylko elementy HUD) mogę poradzić wyczyszczenie bufora głębokości przed rysowaniem obiektu broni. Na pewno pomoże. :)

Offline Wyszo

  • Użytkownik

# Maj 29, 2007, 21:54:19
A ja sugeruję przeskalowanie broni (na mniejszą) i prawidłowe ustawienie kolizji gracza z geometrią planszy. Na pewno pomoże. :)

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Maj 29, 2007, 21:58:18
A ja sugeruję przeskalowanie broni (na mniejszą) i prawidłowe ustawienie kolizji gracza z geometrią planszy. Na pewno pomoże. :)

Też bardzo słuszna koncepcja. To znaczy słuszna ze względu na badanie kolizji broni ze ścianą. :) Co do przeskalowania broni na mniejszą to się nie zgodzę, bo może autor chce żeby była taka duża jak jest. :)

Offline KrystianD

  • Użytkownik
    • http://krystiand.net

# Maj 29, 2007, 22:00:06
Zawsze może przybliżyć broń do postaci i dalej będzie duża ;)

Offline Charibo

  • Redaktor

# Maj 29, 2007, 22:12:17
Najlepiej licz kolizje dla kamery nie jako punktu, ale sfery. Wtedy nic nie bedzie ci w sciane wlatywac :)

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Maj 29, 2007, 22:22:01
Nie słuchaj ich. ;) ;) ;) Wyłącz z-bufor przed rysowaniem broni i będzie git. :D To tylko element grafiki, którego geometria zupełnie nie musi mieć wpływu na otoczenie. Gdybyś to robił 10-12 lat temu to pewnie ta broń byłaby płaską bitmapką. :)

Offline KrystianD

  • Użytkownik
    • http://krystiand.net

# Maj 29, 2007, 22:24:08
Nie słuchaj ich. ;) ;) ;) Wyłącz z-bufor przed rysowaniem broni i będzie git. :D To tylko element grafiki, którego geometria zupełnie nie musi mieć wpływu na otoczenie. Gdybyś to robił 10-12 lat temu to pewnie ta broń byłaby płaską bitmapką. :)

Nie będzie git, bo ta broń to najprawdopodobniej model 3D więc nie może być rysowana bez użycia Z-buffera :)
« Ostatnia zmiana: Maj 29, 2007, 22:25:46 wysłana przez Krystian D. »

Offline Charibo

  • Redaktor

# Maj 29, 2007, 22:28:27
MDW: chyba jednak bardziej uniwersalnie bedzie zrobic tak jak mowilem - zamiana sposobu detekcji kolizji (z punktu na sfere) to jest kilka minut pisania kodu, a nie bedziesz mial trudnosci z rysowaniem modelu 3D bez ZBuffera ;)

Offline Pockey

  • Użytkownik

# Maj 29, 2007, 22:46:40
Krystian D - MDW nie pisal o rysowaniu BEZ z-buf. tylko o wyczyszczeniu z-buf. i dopiero rysowanie - a to jest roznica :P

Offline KrystianD

  • Użytkownik
    • http://krystiand.net

# Maj 29, 2007, 22:50:31
Krystian D - MDW nie pisal o rysowaniu BEZ z-buf. tylko o wyczyszczeniu z-buf. i dopiero rysowanie - a to jest roznica :P

Za pierwszym razem - owszem, mówił o wyczyszczeniu Z-buffera

Ale za drugim:
Nie słuchaj ich. ;) ;) ;) Wyłącz z-bufor przed rysowaniem broni i będzie git. :D To tylko element grafiki, którego geometria zupełnie nie musi mieć wpływu na otoczenie. Gdybyś to robił 10-12 lat temu to pewnie ta broń byłaby płaską bitmapką. :)

 ;)
« Ostatnia zmiana: Maj 29, 2007, 22:52:44 wysłana przez Krystian D. »

Offline MDW

  • Użytkownik
    • www.encore-games.com

# Maj 29, 2007, 22:56:13
Cytuj
Za pierwszym razem - owszem, mówił o wyczyszczeniu Z-buffera

Rzeczywiście "przejęzyczyłem" się. :) Sorry za zamieszanie. :) Miałem na myśli wyczyszczenie z-bufora przed rysowaniem obiektu broni. No ale jak chcesz to możesz powiększyć obiekt kolizyjny postaci bohatera (jeżeli to nie jest punkt) o długośc broni i też będzie ok. Ale wyczyszczenie z-bufora też pomoże. :D

Offline Pockey

  • Użytkownik

# Maj 29, 2007, 22:57:05
no fakt, raz mowi tak a drugi raz inaczej :P

Offline SYSmen

  • Użytkownik

# Maj 30, 2007, 09:14:58
Ja również polecam metodę opartą na z-buforze.  Ja tak robie i działa bez zgrzytów.

Offline Wosq

  • Użytkownik

# Maj 30, 2007, 17:11:54
Próbowałem użyć glClear(GL_DEPTH_BUFFER_BIT); ale nie działa :/ (broń przypinam do kamery)