Konstruując elementy silnika, które rozwijam wraz z przyjacielem (w celach edukacyjnych), doszedłem do tej wątpliwości. Początkowo mieliśmy konstruktora Point, jak poniżej: var Point = function( x, y ) { this.x = x; this.y = y; }; Ale zaczęliśmy dodawać do niej trochę matematyki Vector i postanowili zmienić jej nazwę na …
Właściwie to jeszcze nie zacząłem programować dla tego, ale chciałem zobaczyć, jak bym to zrobił. Powiedzmy, że mam siatkę płytek, wszystkie tego samego rozmiaru, niektóre przechodzące, a niektóre nie. Jak miałbym zacząć tworzyć siatkę nawigacyjną wielokątów z tej siatki? Moim pomysłem było wyciągnięcie nieobrotowych płytek i przedłużenie linii stamtąd krawędzi, …
Mam ścieżkę, która jest zdefiniowana przez połączenie splajnów Catmull-Rom. Używam statycznej metody Vector2.CatmullRom w XNA, która pozwala na interpolację między punktami o wartości od 0 do 1. Nie każdy splajn na tej ścieżce ma tę samą długość. Powoduje to różnice prędkości, jeśli pozwolę, aby ciężar poruszał się ze stałą prędkością …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą specjalistyczną, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
W obecnej formie to pytanie nie pasuje do naszego formatu pytań i odpowiedzi. Oczekujemy, że odpowiedzi poparte będą faktami, referencjami lub wiedzą fachową, ale to pytanie prawdopodobnie będzie wymagało debaty, argumentów, ankiet lub rozszerzonej dyskusji. Jeśli uważasz, że to pytanie można poprawić i ewentualnie ponownie otworzyć, odwiedź centrum pomocy w …
Uczę się korzystać ze znormalizowanych wektorów w moich grach. Nauczyłem się, że aby poznać kąt między dwoma wektorami, mogę użyć iloczynu. Daje mi to wartość od -1 do 1, gdzie 1 oznacza, że wektory są równoległe i skierowane w tym samym kierunku (kąt wynosi 180 stopni). -1 oznacza, że są …
Tło: Mam problem z poprawieniem krzywej skoku dla mojego projektu remake'u retro platformówki. Oryginalna gra przeznaczona jest dla NES, a prędkość gracza jest przechowywana w dwóch oddzielnych częściach: jeden bajt dla liczby całkowitej i drugi dla części ułamkowej. Grawitację dodaje się do prędkości Y gracza z szybkością 0,25 / klatkę. …
Jak można zaprogramować symulację boidów 2D w taki sposób, aby mogła ona wykorzystywać moc obliczeniową z różnych źródeł (klastry, GPU). W powyższym przykładzie bezbarwne cząstki poruszają się, aż skupią się (żółte) i przestaną się poruszać. Problem polega na tym, że wszystkie byty mogłyby potencjalnie oddziaływać na siebie, chociaż jest mało …
Czy istnieje taki algorytm do sortowania tablicy punktów 2D w kolejności zgodnej z ruchem wskazówek zegara? W moim przypadku mam do czynienia z trójkątem prostokątnym, więc tylko 3 punkty. Chciałbym jednak wiedzieć, czy taki algorytm istnieje, a jeśli nie, to w jaki sposób można zwrócić 3 punkty mojego trójkąta w …
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 …
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 …
Zamknięte. To pytanie jest nie na temat . Obecnie nie przyjmuje odpowiedzi. Chcesz poprawić to pytanie? Zaktualizuj pytanie, aby było tematem dotyczącym wymiany stosów opracowywania gier. Zamknięte 4 lata temu . Mam kilka klas wektorowych, w których funkcje arytmetyczne wyglądają tak: template<typename T, typename U> auto operator*(const Vector3<T>& lhs, const …
Mam Vector3, który ma kąt eulera dla każdej osi. Zwykle, gdy chcę utworzyć macierz obrotu, skorzystam z funkcji takich jak D3DXMatrixRotationX przekazując odpowiedni kąt z mojego wektora obrotu powyżej i pomnożę macierze (ZXY), aby utworzyć ogólną macierz obrotu, która jest używana do utworzenia kompletnej macierzy transformacji obiektu. Jednak ta metoda …
Na ścieżkę lasera wpływ mają dane wprowadzane przez użytkownika oraz wrogowie obecni na ekranie. Oto wideo, o godzinie 5:00 pokazany jest dany laser: Raiden II (PS) - 1 Loop Clear - Part 2 AKTUALIZACJA Oto test z użyciem Inkscape, statek znajduje się na dole, pierwszych 4 wrogów jest atakowanych przez …
Od jakiegoś czasu używam ich jako czarnych skrzynek, dopiero uczę się matematyki, ale chciałbym uzyskać ostateczne odpowiedzi na to pytanie. Jak dotąd jedyną korzyścią, na którą natknąłem się osobiście, jest możliwość SLERP między dwoma kątami - aby osiągnąć ten sam efekt z wektorem, którego potrzebujesz dość brzydka praca (wewnętrzne połączenie …
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.