2011-09-02 10 views
5

Chcę zaimplementować pewien rodzaj czasu na pocisk dla mojej aplikacji box2d, googling dookoła znalazłem post, który sugerował zmianę timestepu (coś jak od 1/30 do 1/60), ale szybko został oznaczony jako zła praktyka, wszystkie Potrzebuję podstawowego wyzwalacza włączania/wyłączania w zwolnionym tempie, wszelkich pomysłów?Jak zaimplementować czas wypunktowania w Box2d?

+0

Dlaczego jest to zła praktyka? – Andrew

+4

Symulacja jest mniej dokładna, myślę, że obliczenia aabb byłyby niewłaściwe przez kilka taktów i mogłyby pozwolić na tunelowanie nawet pocisków, a także, być może, rzeczy takie jak ciepły rozruch byłyby nieco pomieszane. Ale w przypadku Ricarda może to być po prostu w porządku, powiedziałbym, że powinienem spróbować i martwić się o wszelkie problemy, jeśli się pojawią. – iforce2d

+0

Fajnie, spróbuję i zobaczę, co się stanie, dzięki –

Odpowiedz

0

Od Box2D 2.0+ zmiana czasu nie ma negatywnego wpływu na symulację, więc po prostu użyj mniejszego kroku czasowego.

+0

Działa w szczyptę. Wyrzuca determinizm z okna i do dołu lawowego. –

0

Zostanie to wykonane poprzez zmianę czasu.

Zmiana czasu spowoduje nieznaczną zmianę symulacji i sprawi, że będzie mniej deterministyczny.

To, czy jest to dopuszczalne, zależy od tego, jak istotna jest symulacja fizyki.

Jeśli jest to gra dla jednego gracza, a nie gra hardcore, prawdopodobnie nie musisz się tym martwić.

Używam czasu postrzałowego w strzelance dla jednego gracza iOS i jest w porządku. Wszechświat się nie załamuje.