W mojej grze jest teren podobny do Minecrafta wykonany z kostek. Generuję bufor wierzchołków na podstawie danych wokseli i używam atlasu tekstur dla wyglądu różnych bloków: Problem polega na tym, że tekstura odległych kostek interpoluje z sąsiadującymi płytkami w atlasie tekstur. Powoduje to powstawanie linii niewłaściwych kolorów między sześcianami (może …
Jaki jest najlepszy wzorzec do stworzenia systemu, w którym wszystkie obiekty będą interpolowane między dwoma stanami aktualizacji? Aktualizacja zawsze będzie przebiegać z tą samą częstotliwością, ale chcę mieć możliwość renderowania z dowolnym FPS. Renderowanie będzie więc tak płynne, jak to możliwe, bez względu na liczbę klatek na sekundę, niezależnie od …
To trochę otwarte pytanie, ale chciałbym, aby ktoś wniósł dobre uzasadnienie dla obu. Szybki przykład obu: Model interpolacji Pomyśl o modelu Valve, w którym klient często otrzymuje aktualizacje pozycji, a piloty aktualizują swoje pozycje za pomocą interpolacji tych danych. Znalezienie drogi W tym modelu pomyśl, że użytkownik wysyła miejsce docelowe …
Renderuję duszki z dokładnymi współrzędnymi pikseli, aby uniknąć efektu rozmycia spowodowanego wygładzaniem krawędzi (duszki są pikselami i wyglądałyby okropnie, gdyby były filtrowane). Ponieważ jednak ruch obiektów obejmuje zmienną prędkość, grawitację i interakcje fizyczne, trajektoria jest obliczana z precyzją subpikseli. Przy wystarczająco dużych prędkościach przestrzeni ekranu (vΔt większych niż 2 lub …
Ostatnio miałem do czynienia z niektórymi problemami z drganiami dotyczącymi liczby klatek na sekundę w mojej grze i wydaje się, że najlepszym rozwiązaniem byłoby to zaproponowane przez Glenna Fiedlera (Gaffer o grach) w klasycznej wersji Napraw swój timestep! artykuł. Teraz - używam już ustalonego przedziału czasu dla mojej aktualizacji. Problem …
Mam problem ze zrozumieniem, kiedy należy ekstrapolować, a kiedy interpolować. Mówiąc o grach, powiedział interpolować, ale w innym artykule zalecił ekstrapolację gracza. Moje pytanie brzmi: kiedy lepiej ekstrapolować, a kiedy lepiej interpolować?
Mam wektor prędkości, w którym znajduje się mój klient i dokąd zmierza, i mam ten sam wektor, który pochodzi z serwera, informując, gdzie powinien być klient. Czasami jest trochę inaczej, więc chcę interpolować moją aktualną pozycję do prawidłowej pozycji serwera. Czarna strzałka to wektor prędkości klienta, czerwona strzałka to wektor …
Aby zaoszczędzić przepustowość w mojej grze wieloosobowej , nie aktualizuję każdego obiektu co tik serwera, zamiast tego każdy obiekt ma updateRate, który informuje grę, że ten obiekt ma być aktualizowany co tik X serwera. Kiedy otrzymuję komunikat o aktualizacji dla obiektu, obliczam czas, kiedy spodziewam się następnej aktualizacji: origin = …
Próbuję połączyć dwie rzeczy. Piszę grę i muszę określić kwadraty siatki leżące na linii z zmiennoprzecinkowymi punktami końcowymi. Ponadto muszę uwzględnić wszystkie kwadraty siatki, których dotyka (tj. Nie tylko linię Bresenhama, ale niebieską): Czy ktoś może zaoferować mi jakiś wgląd w to, jak to zrobić? Oczywistym rozwiązaniem jest użycie naiwnego …
W moim rozumieniu funkcja Lerp interpoluje dwie wartości ( ai b) przy użyciu trzeciej wartości ( t) pomiędzy 0i 1. At t = 0zwracana jest wartość a t = 1, zwracana bjest wartość . Przy 0,5 zwracana jest wartość w połowie między ai b. (Poniższy obrazek przedstawia płynny krok, zwykle …
Chcę zrobić fantazyjną animację, w której punkt przemieszcza się wokół prostokąta. Chcę znaleźć pozycję punktu na raz t. Prostokąt jest przez X, Y, Widthi Height. Czy jest na to algorytm? Użyłem sin/ cosdo kręgów. Jakie jest równoważne podejście do prostokątów?
SmoothVideo Project wykorzystuje interpolację klatek, aby zwiększyć liczbę klatek na sekundę z 24 do 60. Wyniki są imponujące . Zastanawiałem się, czy można to zastosować i czy dobrze by to wyglądało w grach wideo? Zużywa znacznie mniej zasobów niż renderowanie wszystkich ramek, więc pozwoliłby renderować urządzenia z niższej półki w …
Mam wiele bytów po stronie klienta, które są symulowane (ich prędkości są dodawane do ich pozycji na podstawie ramki) i pozwalam im umrzeć. Wysyłają informacje o tym, gdzie ostatnio byli widziani oraz o zmianach prędkości. Działa to świetnie, a inni gracze widzą tę pracę. Jednak po pewnym czasie gracze ci …
Tworzę grę wieloosobową w czasie rzeczywistym, która działa na tej samej pętli „fizyki” na kliencie i serwerze. Używam zachowania „kierowania”, które jest niezbędnym przypadkowym ruchem. Klient i serwer generują różne liczby losowe podczas uruchamiania algorytmów wędrówki. Zastanawiam się, jak mogę zachować naturalnie losowy ruch, ale używam stałej, która zapewni klientowi …
Zadałem kilka podobnych pytań w ciągu ostatnich 8 miesięcy bez żadnej prawdziwej radości, więc sprawię, że pytanie będzie bardziej ogólne. Mam grę na Androida, która jest OpenGL ES 2.0. w nim mam następującą pętlę gry: Moja pętla działa na zasadzie stałego kroku czasowego (dt = 1 / ticksPerSecond ) loops=0; …
Używamy plików cookie i innych technologii śledzenia w celu poprawy komfortu przeglądania naszej witryny, aby wyświetlać spersonalizowane treści i ukierunkowane reklamy, analizować ruch w naszej witrynie, i zrozumieć, skąd pochodzą nasi goście.
Kontynuując, wyrażasz zgodę na korzystanie z plików cookie i innych technologii śledzenia oraz potwierdzasz, że masz co najmniej 16 lat lub zgodę rodzica lub opiekuna.