Autor Wątek: Mordobicie z fizyka :D czyli...  (Przeczytany 5768 razy)

Offline siwy

  • Użytkownik

# Sierpień 02, 2006, 15:37:18
to co na moj gust by bylo fajna sprawa :) Zaczolem pisac prosty silnik fizyczny, jest na etapie strzatkowym wiec jeszcze nic nie moge pokazac :/
Ale zastanawialem sie co by bylo gdyby...    dodac do zwyklej bijatyki fizyke. 
Przez to gra bylaby ciekawsza..  Myslalem jeszcze nad czyms takim, ze wysokosc ciosow byla by losowa (tzn ze low kick by mogl mogl trafic w kostke kolano piszczel az do pasa :)).. Co myslicie o czyms takim czy wogole jest sens cos takiego robic..

PS. Postacie na poczatku chcialem zrobic jak w symulatorze spadania ze schodow :PP

Offline Mr. Spam

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

Offline Kot

  • Użytkownik

# Sierpień 02, 2006, 15:57:15
Może być ciekawe, zobacz Rag Doll Kung Fu, tam już poszli na maxa :)

http://www.ragdollkungfu.com

Offline nilphilus

  • Użytkownik
    • wordpress

# Sierpień 02, 2006, 15:57:36
sens jest zawsze, chyba że liczysz na zyski, wtedy może tego sensu nie być ;-)
ale tu przecież chodzi o satysfakcje i praktyke, prawda? ;-]

ale ten symulator spadania ze schodów to kiepski pomysł chyba, znajdź sobie manekina i kop gdzie popadnie, potem postaraj się to odwzorować [chyba że masz młodsze rodzeństwo, będzie bardziej realistycznie ;d]

Offline siwy

  • Użytkownik

# Sierpień 02, 2006, 17:55:17
Mam starsze i tez gdzie popadnie kopie :D.. No to nic zabieram sie do dziala juz otwieram moj nowy zeszycik i zaczne sobie rozpisywac co i jak i... ehh dam rade :D

Offline fofoo

  • Użytkownik
    • WebLog

# Sierpień 02, 2006, 18:21:11

Offline Spider100

  • Użytkownik
    • Strona domowa

# Sierpień 02, 2006, 20:57:29
Witam!

Zachowanie odpowiedniej stabilności pomiędzy fizyką postaci, a animacją może być nie lada wyczynem jeśli chcesz żeby gra wyglądała w miarę realistycznie :).

Jest podstawowy problem bo potrzebujesz rag-dolla co wcale nie jest łatwe do stworzenia. Masz dwa sposoby na rozwiązanie tego problemu od strony fizycznej którego byś nie wybrał nie będzie to proste:

1. Rigid Body
Na początek polecam zapoznać się z ogólną fizyką ciał sztywnych, a później myśleć o połączeniach stawowych jak opanujesz ball jointy to powinno wystarczyć

2. Soft Body
Trochę łatwiejsze podejście do rag-dolla bo wymaga tylko znajomości fizyki punktu materialnego co jest na poziomie gimnazjum/szkołą średnia :D Punkty łączysz za pomocą sprężyn i masz postać. Problem jednak pojawi się w ograniczeniach i podłączeniu takiej postaci do szkieletu

Pozdrawiam!
Spider^*^

Offline gryzoń

  • Użytkownik

# Sierpień 03, 2006, 00:06:02
2. Soft Body
Trochę łatwiejsze podejście do rag-dolla bo wymaga tylko znajomości fizyki punktu materialnego co jest na poziomie gimnazjum/szkołą średnia :D Punkty łączysz za pomocą sprężyn i masz postać. Problem jednak pojawi się w ograniczeniach i podłączeniu takiej postaci do szkieletu

Może jest to łatwiejsze podejście, ale możliwości ma sporo większe. Przede wszystkim trzeba jeszcze dodać do tego jakiś algorytm tłumienia żeby nasze ciało miękkie nie było galaretką. Poza tym przy odpowiednim doborze sprężystości/tłumienia ciało nie musi być wcale miękkie. Może zachowywać się zupełnie jak wykonane ze stali. W łatwy sposób da sie zaimplementować też tarcie. Moim zdaniem taka fizyka zachowuje się bardzo realistycznie. Jedyną wadą jest spora żarłoczność na procka, można pomyśleć o przeniesieniu obliczeń do gpu. Tak sie składa że kiedyś bawiłem sie troche sprężynkami. Oto małe demko:

http://adam5.xcx.pl/Demo3d.zip

trzeba poszukać takiego czerwonego spadającego klocka

Sory za wage pliku ale jest tam masa niepotrzebnych śmieci. Nie śmiejcie się z terenu, to poligon do ćwiczeń.

Offline Spider100

  • Użytkownik
    • Strona domowa

# Sierpień 03, 2006, 12:19:18
Cytuj
Może jest to łatwiejsze podejście, ale możliwości ma sporo większe.
Jeśli nie zastosujesz dużej ilości powtórzeń model będzie się rozciągał albo jego punkty zaczną ‘wariować’. Podejście nie jest najlepsze ze względu na dużą elastyczność w momencie uderzenia co nie zawsze jest porządne :D.

Cytuj
Może zachowywać się zupełnie jak wykonane ze stali.
Próbowałem i nie osiągnąłem takiego efektu w sumie trudno się dziwić bo jak sama definicja ciała miękkiego wskazuje nie zachowuje ono równej odległości miedzy punktami.

Offline siwy

  • Użytkownik

# Sierpień 03, 2006, 12:25:11
Ja raczej bede sposob stawowy robil bo jednak ludzie maja stawy pomiedzy koscmi a nie gumki :P

Offline gryzoń

  • Użytkownik

# Sierpień 03, 2006, 13:50:12
Cytuj
Może jest to łatwiejsze podejście, ale możliwości ma sporo większe.
Jeśli nie zastosujesz dużej ilości powtórzeń model będzie się rozciągał albo jego punkty zaczną ‘wariować’. Podejście nie jest najlepsze ze względu na dużą elastyczność w momencie uderzenia co nie zawsze jest porządne :D.

Cytuj
Może zachowywać się zupełnie jak wykonane ze stali.
Próbowałem i nie osiągnąłem takiego efektu w sumie trudno się dziwić bo jak sama definicja ciała miękkiego wskazuje nie zachowuje ono równej odległości miedzy punktami.

Przekompilowałem execa, zmieniłem troche współczynniki i oto co mi wyszło:

http://adam5.xcx.pl/Engine.zip

wystarczy wkleić w miejsce starego. Obliczenia są wykonywane 1000x na sekundę, to chyba nie jest aż tak dużo. Dodałem też na szybko możliwość wprowadzenia współczynników sprężystości i tłumienia w lini poleceń więc można sobie pokombinować, wystarczy podać 2 liczby. Domyślnie są to wartości 1500 i 3000. Przy tłumieniu mniejszym niż spręzystość mogą pojawić sie kłopoty.

Ja raczej bede sposob stawowy robil bo jednak ludzie maja stawy pomiedzy koscmi a nie gumki :P

cała materia jest oparta na sprężynkach o różnych parametrach, tylko że obliczenia się troche częściej wykonują

//EDIT

Oczywiście że te punkty cały czas drgają, ale można np. je zamrozić kiedy przesunięcia zmniejszą się do jakiegoś tam poziomu. Kiedy na ciało zadziała siła, punkty wybudzamy
« Ostatnia zmiana: Sierpień 03, 2006, 13:56:03 wysłana przez gryzoń »

maxest

  • Gość
# Sierpień 03, 2006, 14:12:46
nie odpala sie - pojawia sie to windows'owe okienko gdzie zawsze wybieram "nie wysylaj" :)

Offline gryzoń

  • Użytkownik

# Sierpień 03, 2006, 14:19:16
a zassałeś całość razem z teksturami, modelami? (pierwszy mój post), bo tutaj jest tylko sam exe, musisz go wkleić w miejsce poprzedniego

Offline Spider100

  • Użytkownik
    • Strona domowa

# Sierpień 03, 2006, 14:22:23

Cytuj
Obliczenia są wykonywane 1000x na sekundę, to chyba nie jest aż tak dużo.
To dość dużo w porównaniu z ciałami sztywnymi gdzie obliczenia wykonywane są 60x na sekundę :D.

Nie neguje tego rozwiązania próbuje tylko wytłumaczyć z nie ma techniki mającej same zalety, a ta szczególnie wymaga sprawdzenia bo choć jest prosta w użyciu ma poważna wadę sprężystych odbić które nie zawsze są mile widziane :)



Offline gryzoń

  • Użytkownik

# Sierpień 03, 2006, 14:23:48
Nie neguje tego rozwiązania próbuje tylko wytłumaczyć z nie ma techniki mającej same zalety, a ta szczególnie wymaga sprawdzenia bo choć jest prosta w użyciu ma poważna wadę sprężystych odbić które nie zawsze są mile widziane :)

zgadza się, najlepiej byłoby połączyć obie techniki

maxest

  • Gość
# Sierpień 03, 2006, 14:29:06
Cytuj
a zassałeś całość razem z teksturami, modelami? (pierwszy mój post), bo tutaj jest tylko sam exe, musisz go wkleić w miejsce poprzedniego
racja, juz dziala :)