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

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Maj 30, 2007, 17:25:39
Polecam pobawić się z glDepthRange. :)

Offline Mr. Spam

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

Offline voytech

  • Użytkownik

# Czerwiec 01, 2007, 10:20:45
A mnie nurtuje taki problem. Czasami w grach FPP dostajemy kulke, która nas powala i umieramy. Z punktu widzenia tego, który nas ustrzelił widzimy animację postaci, która upada na ziemie, a z naszych oczu też widzimy animację kamery w ten sposób, że świat zaczyna nam wirować i ostanie co widzimy to niebo, a później ciemność. Ciekawi mnie jak to jest zrealizowane, czy to jest osobna animacja kamery, czy może ta kamera jest doczepiona do systemu kości i jest ona odgrywana (no może z pominięciem kości ramion i np. paluszków bo są mało potrzebne, tylko te kości od oczu w górę hierachi na przykład)?

W takim Oblivionie mamy ten miecz w garści i jakoś on integruje się z innymi postaciami. W Call of Duty możemy ździelić kolbą szkopa, a co w przypadku gdybyśmy chcieli zrobić coś takiego: podlatuje jakaś postać znienacka i nam tą broń wyszarpuje.

Offline SYSmen

  • Użytkownik

# Czerwiec 01, 2007, 11:20:27
A mnie nurtuje taki problem. Czasami w grach FPP dostajemy kulke, która nas powala i umieramy. Z punktu widzenia tego, który nas ustrzelił widzimy animację postaci, która upada na ziemie, a z naszych oczu też widzimy animację kamery w ten sposób, że świat zaczyna nam wirować i ostanie co widzimy to niebo, a później ciemność. Ciekawi mnie jak to jest zrealizowane, czy to jest osobna animacja kamery, czy może ta kamera jest doczepiona do systemu kości i jest ona odgrywana (no może z pominięciem kości ramion i np. paluszków bo są mało potrzebne, tylko te kości od oczu w górę hierachi na przykład)?

W takim Oblivionie mamy ten miecz w garści i jakoś on integruje się z innymi postaciami. W Call of Duty możemy ździelić kolbą szkopa, a co w przypadku gdybyśmy chcieli zrobić coś takiego: podlatuje jakaś postać znienacka i nam tą broń wyszarpuje.

Co do animacji śmierci..  No myślę, że jednak jest to animacja kamery, aczkolwiek ten element zależy od upodobań twórcy gry.

Jeżeli chodzi o FPS-y to postać gracza nie jest renderowana tylko specjalnie przygotowany model broni (czasem z rękoma, czasem bez ;)), który "podąża" za kamerą i jest skierowany zawsze w tą stronę gdzie gracz patrzy.

Tak więc np. w jakiejś gierce multi gracz nie widzi modelu swojej postaci ale widzi model broni, a przeciwnik na odwrót (nie widzi Twojego modelu broni z HUD-a tylko model Twojej postaci). Czyli jak np. oddajesz strzał to ty widzisz animację broni w HUD-zie, a przeciwnik odpowiednią animację Twojej postaci.

Ufff...  Tak ja to widzę. pzdr ;D
« Ostatnia zmiana: Czerwiec 01, 2007, 11:22:11 wysłana przez SYSmen »

Offline MDW

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

# Czerwiec 01, 2007, 11:28:35
Próbowałem użyć glClear(GL_DEPTH_BUFFER_BIT); ale nie działa :/ (broń przypinam do kamery)

Nie wierzę. :) Jeżeli wyczyścisz bufor głębokości PO narysowaniu sceny i PRZED narysowaniem obiektu broni to nie może ona się wchrzaniać w ścianę. W z-buforze nie będzie zupełnie informacji o trójkątach ściany. Obiekt broni nie będzie miał z czym "kolidować". Upewnij się proszę, że tak to robisz. :) Sposób jest prostacki i dlatego jestem pewien, że powinien działać. :)

Można jeszcze się bawić włączaniem, wyłączaniem zapisaywania do z-bufora albo czytania z z-bufora ale nie ma tu takiej potrzeby. Wyczyszczenie w zupełności by wystarczyło. No chyba, że chcesz się bawić w jakieś bardziej skomplikowane kolizje broni z otoczeniem. Nie widzę jednak sensu, bo broń to tylko element "dekoracyjny". Coś co bardziej zalicza się do HUD niż do samej sceny gry. Interakcja tego typu broni z otoczeniem nie jest potrzebna zupełnie. Według mnie to tak jakby w grze samochodowej robić działający obiekt kompletnego silnika, który i tak będzie schowany pod maską samochodu i nie będzie to wnosiło zupełnie nic do gry. :)

Offline Hadrian W.

  • Użytkownik
    • Homepage

# Czerwiec 01, 2007, 12:52:34
MDW: no chyba, że właśnie to odróżnia grę od innych. Czemu kompletny silnik ma być schowany tylko pod maską? Rozbijasz samochód, maska odlatuje i widać silnik. Ktoś strzela w silnik samochodu i trafił powiedzmy w rozrusznik (to czysto wirtualny przykład) ;) i jeżeli wyłączysz silnik to samochodu normalnie nie ruszysz. Wyszarpywanie broni to fajna rzecz. Zawsze mnie denerwowało, że w grze widzę tylko broń i jak spojrzę sobie pionowo w dół to widzę tylko cień stóp ale samych stóp już nie ;)
np. w takiej Red Orchestrze animacja śmierci to ragdoll z oczu bohatera
w Operation Flashpoint była cała postać widziana - jak się spojrzało w bok to można było zobaczyć ramiona
w F.E.A.R. dało się kopać przeciwników po mordach ;)

Offline voytech

  • Użytkownik

# Czerwiec 01, 2007, 12:54:52
...

Co do animacji śmierci..  No myślę, że jednak jest to animacja kamery, aczkolwiek ten element zależy od upodobań twórcy gry.

Jeżeli chodzi o FPS-y to postać gracza nie jest renderowana tylko specjalnie przygotowany model broni (czasem z rękoma, czasem bez ;)), który "podąża" za kamerą i jest skierowany zawsze w tą stronę gdzie gracz patrzy.
Tak, wiem o tym. Widziałem nawet taki model kości z Doom3 do animacji dwoje rączek i giwery :)

Tak więc np. w jakiejś gierce multi gracz nie widzi modelu swojej postaci ale widzi model broni, a przeciwnik na odwrót (nie widzi Twojego modelu broni z HUD-a tylko model Twojej postaci). Czyli jak np. oddajesz strzał to ty widzisz animację broni w HUD-zie, a przeciwnik odpowiednią animację Twojej postaci.

Ufff...  Tak ja to widzę. pzdr ;D

Zgadza się. Mi chodzi po głowie takie coś, że powiedzmy widzimy oczami bohatera, trzymamy giwere, stoimy blisko jakiegoś słupka w ten sposób, że obracając się wokół własnej osi możemy zawadzić lufą o ten słupek. Taka interakcja rzeczy które trzymamy w rączkach z otoczeniem. Na przykład gwałtowny obrót powoduje, że lufa zawadzi i nam wyleci z rączek, albo na chwilę zejdzie z widoku, itp. Przy takim czymś zabawa w czyszczenie z-bufora nie ma sensu. Szkielet rączek i broni powinien chyba być jakoś wkomponowany w scenę.

A swoją drogą w przypadku gdy takie animacje przeładowania broni są robione np. motion cap i później tylko górna partia ciała jest obrabiana to gdzie jest umieszczana kamera? Czy między oczami, w którymś oku, na czubku nosa,w zębach :), a może niżej w ten sposób, żeby broń była w pewnym stopniu pokazana na ekranie i go również zbytnio nie zasłaniała? Orientuje się może ktoś?

Wszyscy wiemy jak to było zrobione w quaku 1, no ale teraz to technika poszła do przodu i może być innaczej. Niestety nie mam modelu człowieka, który trzyma broń i celuje, żeby sobie załadować np. do Blendera, umieścić kamerę np. w prawym oku i sprawdzić co on wogóle widzi i czy to odpowiada temu co widzimy w większości shooterów.

Offline Gloggie

  • Użytkownik

# Czerwiec 01, 2007, 13:17:43
Zgadza się. Mi chodzi po głowie takie coś, że powiedzmy widzimy oczami bohatera, trzymamy giwere, stoimy blisko jakiegoś słupka w ten sposób, że obracając się wokół własnej osi możemy zawadzić lufą o ten słupek. Taka interakcja rzeczy które trzymamy w rączkach z otoczeniem. Na przykład gwałtowny obrót powoduje, że lufa zawadzi i nam wyleci z rączek, albo na chwilę zejdzie z widoku, itp.

Broń Panie Boże!
Nie ty wpadłeś pierwszy na taki pomysł. Juz w 97/98 powstała gra Trespasser, w której
1) Model gracza był renderowany w całości i jak się popatrzyło w dół to było widać bohatera. A głównie jego piersi (sterowało się kobietą).
2) Broń wchodziła w interakcję z otoczeniem, z pełnymi tego konsekwencjami. Można było walić po dinozaurach pistoletem jak maczugą podczas przxeładowywania, ale również można było idąc przez dżunglę zawadzić niechcący o paproć i wypadała ci giwera. Jakie to miało konsekwencję w ogniu walki nie muszę chyba mówić. Zamiast na wrogie dinozaury uważało się na ciągle gubioną broń.

Może jakby poprawić ten system to prawdopodobnie coś grywalnego by powstało. Ja jednak jestem sceptyczny :) Gracze nie pragną mega-realizmu w grach. Chcą lekkiej i wciągającej rozrywki.

Offline Krzysiek K.

  • Redaktor
    • DevKK.net

# Czerwiec 01, 2007, 16:18:56
voytech et. al.: Proszę nie offtopować, bo się z jednego tematu dwa różne robią. Trzeba było założyć nowy wątek. :)

Offline Spider100

  • Użytkownik
    • Strona domowa

# Czerwiec 01, 2007, 18:44:53
Witam!

Moim zdaniem wystarczy dobre IK + stawy + ciała sztywne + kolizje i mamy interakcje jak sie należy bez niepotrzebnego wypadania broni, a raczej z utrudnieniem celowania przy
ścianie :) ale co ja tam wiem...

Pozdrawiam!
« Ostatnia zmiana: Czerwiec 01, 2007, 18:53:27 wysłana przez Spider100 »

Offline voytech

  • Użytkownik

# Czerwiec 02, 2007, 07:05:30
voytech et. al.: Proszę nie offtopować, bo się z jednego tematu dwa różne robią. Trzeba było założyć nowy wątek. :)

ok. postaram się tego już więcej nie robić :)

Offline Wosq

  • Użytkownik

# Czerwiec 02, 2007, 10:59:33
Problem dawno rozwiązany :P
wystarczyło WeaponNode->setMaterialFlag(EMF_ZBUFFER, false);