Skocz do zawartości

Kolizje 3d


Rekomendowane odpowiedzi

Hej korzystam z takiego fajnego prostego silnika 3d

 

 

i staram sie go rozkminić ile moge

 

ale mam problem z opanowaniem lepszej kolizji(bo ta z tego projektu jest daremna..)

 

tzn. w tym projekcie czy idziecie prosto,czy skrecacie na boki i jest kolizja ze sciana zawsze jest x=xprevious , y=yprevious

 

jak zrobić osobną kolizje na przód, tył

 

oraz osobno na lewo,prawo.

 

 

 

poruszanie sie przód,tył - speed+1 , speed -1

 

 

 

poruszanie sie na boki:

PRAWO

{

var xn,yn;

xn = x + sin(direction*pi/180);

yn = y + cos(direction*pi/180);

{ x = xn; y = yn; }

}

 

LEWO:

{

var xn,yn;

xn = x - sin(direction*pi/180);

yn = y - cos(direction*pi/180);

{ x = xn; y = yn; }

}

 

 

 

 

w grach 2d stosowalem if_place free.... i działało rewelacja ,ale tu nie ogarniam :( pomocy

 

 

 

 

 

 

 

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

o jeju nostalgia. Ten .gmk z poradnika był zawsze moim punktem wyjściowym gdy robiłem coś w 3D. Pytanie nieco dziwnie sformułowane, ale podejrzewam, że chodzi po prostu o takie coś w stepie:

 

GML
if keyboard_check(vk_up) or keyboard_check(vk_down) {

///kod na kolizje gdy idziesz do przodu lub tylu

}

 

if keyboard_check(vk_left) or keyboard_check(vk_right) {

///kod na kolizje gdy idziesz w lewo lub prawo

}

samą kolizję możesz oprzeć na funkcji place_meeting(x, y, ob). Dla mnie w 3D jest wygodniejsza

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...
Dnia 2.08.2017 o 23:42, Czołg Krymski napisał:

o jeju nostalgia. Ten .gmk z poradnika był zawsze moim punktem wyjściowym gdy robiłem coś w 3D. Pytanie nieco dziwnie sformułowane, ale podejrzewam, że chodzi po prostu o takie coś w stepie:

 

 

GML
if keyboard_check(vk_up) or keyboard_check(vk_down) {

///kod na kolizje gdy idziesz do przodu lub tylu

}

 

if keyboard_check(vk_left) or keyboard_check(vk_right) {

///kod na kolizje gdy idziesz w lewo lub prawo

}

samą kolizję możesz oprzeć na funkcji place_meeting(x, y, ob). Dla mnie w 3D jest wygodniejsza

no wlasnie chodzi mi o ten  kod na kolizje abyscie mi napisali ;)

 

bo mam tylko 

jezeli player ma kolizje ze sciana x=xprevious,y=yprevious

ale to jest klopotliwe czesto player "przykleja" sie do sciany

 

chodzi o to by uwzglednic direction(tak mi sie wydaje)

 

bo jezeli podchodze do sciany pod kątem i mam np. direction117 to powinienem isc dalej do przodu,ale lekko sie odbijac od sciany

a ja jak podchodze do sciany pod kątem,to poprostu player sie przykleja do niej i stoi w miejscu

muszy wtedy isc do tyłu lekko skrecic i znowu do przodu

 

HELP!

 

 

 

 

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

Nic za Ciebie nie napiszemy. Dostales ode mnie informacje jak dostac sie do obszernego artykulu ktory uczy krok po kroku jak to zrobic i olales to. Jak jestes tak leniwy moze to za wysokie progi na Twoje nogi? Sprobuj cos latwiejszego az ogarniesz lepiej gm'a.

Odnośnik do komentarza
Udostępnij na innych stronach

  • Filar Społeczności

Jezeli uzywasz tylko scian do siebie prostopadpych, to mozesz po prostu w kolizji ze scianą dlugą w Y zostawic samo x=xprevious i analogicznie dla sciany dlugiej w X

Odnośnik do komentarza
Udostępnij na innych stronach

  • 1 miesiąc temu...
Dnia 4.09.2017 o 20:15, I am vader napisał:

Nic za Ciebie nie napiszemy. Dostales ode mnie informacje jak dostac sie do obszernego artykulu ktory uczy krok po kroku jak to zrobic i olales to. Jak jestes tak leniwy moze to za wysokie progi na Twoje nogi? Sprobuj cos latwiejszego az ogarniesz lepiej gm'a.

I AM VADER dzieki za dobra podpowiedz i reprymende! :) walczylem z tym artykułem sporo czasu i ogarnalem :) działa!!

 

czekaj na moje kolejne trudne pytania :P 

 

:) Pozdro

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ę...