Buduję prostą grę Jump n 'Run w stylu Plattformer. Nie używam kafelków - zamiast tego mam geometryczne kształty dla moich jednostek poziomu (a gracz też jest jednym). Skończyłem kod wykrywania kolizji i do tej pory wszystko działa dobrze. Następnie chciałem zastosować skakanie. Tylko sprawdzam, czy gracz naciska odpowiedni klawisz i …
Rozważ grę, której domyślna rozdzielczość to 800 x 600. Obiekty z maskami kolizyjnymi są umieszczane w świecie gry o wymiarach 800 x 600. Maski kolizyjne mogą wykryć zderzenie myszy z nimi. Rozważmy teraz skalowanie gry do 1024 x 768 (załóżmy, że skalujemy grafikę, po prostu renderując wszystko na warstwę, a …
Mam obiekty statyczne i ruchome. Zderzenia są wykrywane za pomocą twierdzenia o osi oddzielającej. Na przykład w tej sytuacji mam dwa obiekty statyczne (na czerwono): i ruchomy obiekt między nimi: Mój algorytm jest w stanie obliczyć kolizję między dwoma z tych obiektów, a także wyrzuca wektor doskonałej rozdzielczości (co oznacza …
Czy silnik fizyki jest w stanie zmniejszyć tę złożoność, na przykład grupując obiekty znajdujące się blisko siebie i sprawdzając kolizje w tej grupie zamiast ze wszystkimi obiektami? (na przykład odległe obiekty można usunąć z grupy, patrząc na jej prędkość i odległość od innych obiektów). Jeśli nie, to czy kolizja jest …
W moim silniku fizyki 2D mogę wykryć zderzenia AABB vs. AABB i rozwiązać je, znajdując najkrótszy wektor penetracji i dodając go do pozycji AABB. W ten sposób „wypycha” pierwszy AABB poza drugi AABB, ale w ogóle nie radzi sobie ze zmianami prędkości / przyspieszenia. Jeśli dodam przyspieszenie grawitacyjne do mojej …
Jeśli po raz pierwszy zastanawiasz się nad tym pytaniem, sugeruję najpierw przeczytać część wstępnej aktualizacji poniżej, a następnie tę część. Oto synteza problemu: Zasadniczo mam silnik wykrywania i rozwiązywania kolizji z systemem podziału przestrzennego siatki, w którym ważna jest kolejność kolizji i grupy kolizji. Jedno ciało na raz musi się …
Robię grę wyścigową z samochodami w Unity. Samochód ma doładowanie / wzmocnienie nitro. Podczas wzmacniania nie chciałbym być zboczony podczas zderzenia z zombie, ale chcę być zboczony podczas zderzenia ze ścianami. Z drugiej strony nie chcę ignorować kolizji z zombie, ponieważ nadal chcę je uderzać przy uderzeniu. Jak mam sobie …
Tworzę strzelankę 2D z przewijaniem bocznym i mam mały problem z wykrywaniem kolizji pocisków. Wszystko, w tym pociski, to obiekty z własnymi wielokątami / metodami aktualizacji. Problem polega na tym, że pociski poruszają się szybko, a przy 60 klatkach na sekundę (w co gra) pocisk często przeskakuje przez ścianę - …
Chciałbym stworzyć platformówkę w stylu izometrycznym. Gracz powinien być w stanie wskoczyć na platformy nad podłogą, uderzyć w bok przedmiotów itp. Będę używać silnika do gier 2D, więc nie chciałbym emulować pełnej kolizji 3D dla wymiarów, których nie używam. Myślę, że obiekty w grze powinny być umieszczane przy użyciu: X, …
EDYCJA / AKTUALIZACJA: Moje największe pytanie w tej chwili dotyczy tego, czy równanie „t = ...” z kroku 3 jest dobrym pomysłem, czy jest lepszy sposób na zrobienie tego. Większość innych problemów została częściowo lub całkowicie rozwiązana, ale żadne komentarze ani odpowiedzi tak naprawdę nie dotyczyły tego problemu. Ponownie prawdopodobnie …
Mam następujący kod do obliczenia tłumaczenia wymaganego do przeniesienia obiektu gry w Unity, który jest wywoływany LateUpdate. Z tego, co rozumiem, moje użycie Time.deltaTimepowinno uniezależnić ostateczną liczbę klatek na sekundę tłumaczenia (pamiętaj, CollisionDetection.Move()że wykonuję raycasty). public IMovementModel Move(IMovementModel model) { this.model = model; targetSpeed = (model.HorizontalInput + model.VerticalInput) * model.Speed; …
Rozumiem, że każdy kształt może być utworzony (lub przybliżony) przez mniejsze trójkąty. Dowolny prostokąt można utworzyć za pomocą 2 mniejszych trójkątów. Dowolne koło można utworzyć za pomocą wielu cienkich trójkątów „plasterka pizzy”. Jak to się przekłada na wykrywanie kolizji? Rozumiem, jak obliczyć nachylenie prostokąta za pomocą wierzchołków. Rozumiem, jak obliczyć …
Ostatnio pracowałem nad szybką strzelanką 2D i natknąłem się na ogromny problem. Wykrywanie kolizji. Jasne, działa, ale działa bardzo wolno. Moim celem jest: mieć na ekranie wielu wrogów i nie dotykać się nawzajem. Wszyscy wrogowie ścigają gracza. Większość z nich ma tę samą prędkość, więc prędzej czy później wszyscy zajmują …
Piszę silnik fizyki 2d w javascript, abym mógł dowiedzieć się więcej o fizyce w grach wideo. Mam to działa poprawnie dla sztywnych zderzeń ciała, z wyjątkiem przypadków, gdy którekolwiek ciało koliduje z dwoma lub więcej innymi ciałami jednocześnie. Obecnie dla każdej pary zderzających się ciał (A, B) modyfikuję ich prędkości …
Jak wiele osób poleciło, używam edytora map Tiled do tworzenia mapy dla mojej gry i jest to świetne, szczególnie, że framework libgdx zapewnia również API dla map z Tiled. Rozumiem, że mogę zdefiniować kolidujące kafelki lub nie w edytorze map, więc mogę poradzić sobie z każdą kolizją w moim kodzie. …
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.