Skocz do zawartości

Ustalenie kierunku bezkolizyjnego


Rekomendowane odpowiedzi

Cześć,

jeśli zwierzę uderzy w jakiś obiekt ma zmienić kierunek na losowy, ale taki który nie spowoduje ponownej kolizji z żadną przeszkodą.

Jak to wyliczyć skutecznie i w miarę optymalnie?

Zwykłe colisson_line nie zadziała ze względu na to, że obiekt nie jest punktem i to że w linii prostej od x i y obiektu nic nie ma nie znaczy, że np nie zawadzimy bokiem.

 

@edit gra top down, z góry centralnie widok, brak fizyki tylko speed i direction

Odnośnik do komentarza
Udostępnij na innych stronach

5c0d05db14b9b_Beztytuu.png.9a4fa955a599cb23ab79b443967c32fe.png

 

Ustal sobie jakąś promień twojego obiektu i na jego podstawie wystrzelisz 2 linie kolizji i sprawdzaj czy którakolwiek się z czymś zderzy. 

punkt ABCD obliczysz tak:

ax = x+lengthdir_x(radius, dir-90)
ay = y+lengthdir_y(radius, dir-90)

bx = x+lengthdir_x(radius, dir+90)
by = y+lengthdir_y(radius, dir+90)

cx = ax + lengthdir_x(dystans, dir)
cy = ay + lengthdir_y(dystans, dir)

dx = bx + lengthdir_x(dystans, dir)
dy = by + lengthdir_y(dystans, dir)
  

Mogłem się pomylić bo nie przetestowałem

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...