Obecnie piszę symulację AI 2D, ale nie jestem całkowicie pewien, jak sprawdzić, czy pozycja agenta znajduje się w polu widzenia innego. Obecnie moje partycjonowanie świata to proste partycjonowanie komórki-przestrzeni (siatka). Chcę użyć trójkąta do przedstawienia pola widzenia, ale jak mogę obliczyć komórki, które przecinają się z trójkątem? Podobne do tego …
W silniku fizyki rozwijam (do nauki) za pomocą love-2d zaimplementowałem rozwiązania kolizji w następujący sposób: FixedUpdate(dt) // I use fixed timestep foreach collide c1 in allNotStaticColliders c1.integartePhysic // i.e. apply gravitational force.. foreach collider c2 "near" c1 // "near"= I use spatial hashing if collide(c1,c2) resolve collision (c1,c2) // the …
W poniższym kodzie umieściłem przykład czegoś, co chcę zrobić. Mam aparat i chcę, aby przestał się poruszać, gdy trafi w jedno z pudeł, jak to zrobić? public class Main extends ApplicationAdapter { private final ModelBuilder builder = new ModelBuilder(); private final Environment environment = new Environment(); private ModelBatch modelBatch; private …
Próbuję zaimplementować twierdzenie o osi oddzielającej w języku C #. Mam funkcję, która może obliczyć minimalny wektor translacji między dwoma wielokątami. Nie mogę jednak stworzyć funkcji, która oblicza minimalny wektor translacji między jednym wielokątem a wieloma innymi wielokątami. Szczerze mówiąc, pracuję nad tym od miesięcy i nie jestem bliżej rozwiązania …
Mam grę Breakout, w której w pewnym momencie wykrywam kolizję między piłką a wiosłem za pomocą czegoś takiego: // Ball class rectangle.Intersects(paddle.Rectangle); Czy jest jakiś sposób na uzyskanie dokładnych współrzędnych kolizji lub jakichkolwiek szczegółów na jej temat z prądem XNA API? Myślałem o przeprowadzeniu podstawowych obliczeń, takich jak porównanie dokładnych …
Do tej pory w poprzednich grach korzystałem z prostej kolizji 2D z polami, a następnie sprawdzałem kolizję na poziomie pikseli. Jeśli gra w pinball w prawie wielu klatkach, piłka będzie w kontakcie ze ścianą lub inną powierzchnią, to czy istnieje inne podejście?
Mam 2 wielokąty. Znam współrzędne wierzchołków obu wielokątów. Jaki jest najlepszy sposób, aby sprawdzić, czy jedno jest całkowicie wewnątrz drugiego? Na przykład algorytm powinien rozpoznać tylko czarny trapez poniżej jako zawarty:
Obecnie mam platformówkę z kafelkami terenu (grafika zapożyczona z Cave Story). Gra została napisana od podstaw za pomocą XNA, więc nie używam istniejącego silnika ani silnika fizyki. Zderzenia kafelków są opisane dokładnie tak, jak opisano w tej odpowiedzi (z prostym SAT dla prostokątów i kół) i wszystko działa dobrze. Z …
W jednym z moich projektów mam obszar gry w kształcie koła. Wewnątrz tego koła porusza się kolejny mały okrąg. Chcę, aby małe kółko nie poruszało się poza większym. Poniżej widać, że w ramce 2 małe kółko jest częściowo na zewnątrz, potrzebuję sposobu, aby przenieść je z powrotem tuż przed tym, …
Zastanawiałem się, jak dochodzi do kolizji w niektórych prostych grach wyścigowych 3D (szczególnie w grach takich jak Outrun 2 / Motoracer). W klasycznych grach wyścigowych ze złożonym środowiskiem (otwarty świat), wydaje mi się, że odbywa się to za pomocą podstawowego pudełka (dla samochodu) do zderzenia samolotu (na tor, budynki i …
Tworzę grę, która składa się z wielu obiektów na ekranie, z których jednym jest gracz. Muszę wiedzieć, które obiekty kolidują podczas każdej iteracji. Zrobiłem coś takiego: for (o in objects) { o.stuff(); for (other in objects) if (collision(o, other)) doStuff(); bla.draw(); } Ma O (n ^ 2), co, jak mi …
Próbuję stworzyć prostą grę 3D i muszę ograniczyć gracza w granicach świata gry. Kiedy gracz uderza w boki świata, chcę, żeby statek gracza lekko się odbił. W efekcie próbuję uwięzić gracza w polu i powstrzymać go przed ucieczką przez boki ... Zdołałem zdefiniować granice świata gry jako zbiór samolotów, z …
obecnie pracuję nad własną wersją gry opartej na kafelkach (pomyśl Terraria, ale mniej fantastycznie (myślę, że to słowo? Przepraszam, jeśli nie jest)). Tak czy inaczej, obecnie działam wykrywanie kolizji (nawet w przypadkach narożnych!), Co było dla mnie dużym krokiem. Jest coś niezwykle satysfakcjonującego w widzeniu, że duszek nie biegnie przez …
Najpierw zobacz diagram: Kiedy mój silnik fizyki AABB rozwiązuje przecięcie, robi to, znajdując oś, na której penetracja jest mniejsza, a następnie „wypycha” byt na tej osi. Biorąc pod uwagę przykład „skaczący w lewo”: Jeśli prędkość X jest większa niż prędkość Y, AABB wypycha byt na oś Y, skutecznie zatrzymując skok …
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.