Skocz do zawartości

Rekomendowane odpowiedzi

Opublikowano

to mój pierwszy post więc witam wszystkich!

od ok. 2 miesięcy bawie sie GM'em. forum obserwuje od dawna a teraz jestem z wami.

 

zabrałem sie za 3D. ale nie wiem jak zrobić z kolizje z modelem. ;/ używałem opcji SZUKAJ.

prosze was o pomoc. pozdro

Opublikowano

GML
//dałem to w collision z modelem czołgu:

if place_meeting(x,y,czolg)

 

{

 

speed = 0

 

}

 

nie działa ;/

 

sprawdzałem też po prostu kolizja i speed = 0.

 

ale nie działa

Opublikowano

coś tam ciekawego jest... ale ja nie potrafie za bardzo rozszyfrować... no wiem, za kolizje odpowiada DLL. ale gdzie on tam jest?

 

dzięki za ciekawe linki 

 

 

 

popróbowałem coś tam ale nic nie działa

Opublikowano

z jakąś nadzieją zobaczyłem pasek wczytywania i przebiłem czołg na wylot... dupa... dałem sprajta :D i kolizje playera z czołgem i speed = 0...

już kilka dni temu sprawdziłem wszystkie opcje jakie przyszły mi na myśl :crying: a ten DLL to bardziej PRO :sp_ike:

Opublikowano

Możesz też zrobić coś w rodzaju BBox* każdego z obiektów. Przykładowo:

*Bounding Box - prostopadłościan, którego ściany dotykają krańcowych części obiektu (patrz: właściwości sprite'a)

 

GML (create)
bbox_xmin=-10;

bbox_xmax=10;

bbox_ymin=-10;

bbox_ymax=10;

bbox_zmin=-10;

bbox_zmax=10;

// mówimy tutaj o sześcianie 20x20x20

// te zmienne muszą być w każdym sprawdzanym obiekcie

// PS: zakładam, że posiadasz zmienną "z".</span>

 

A potem: (obj2 to obiekt, z którym sprawdzamy kolizję)

GML (step)
if ((x+bbox_xmin<obj2.x+obj2.bbox_xmax

|| x+bbox_xmax>obj2.x+obj2.bbox_xmin)

&& (y+bbox_ymin<obj2.y+obj2.bbox_ymax

|| y+bbox_ymax>obj2.y+obj2.bbox_ymin)

&& (z+bbox_zmin<obj2.z+obj2.bbox_zmax

|| z+bbox_zmax>obj2.z+obj2.bbox_zmin))

{

... // akcja kolizji

}

 

Jedyny problem w tym, że kolizje będą odbywały się, gdy nie obiekty, ich "prostopadłościany" będą się dobijać. Kolizji kul na przykład tak nie zrobisz. :)

Opublikowano

ten kod załapałem. ktoś powiedział ze kolizja z 3D to nie taki "orzeszek"... czyli nie za łatwe ;/

ale jakoś ten kod nie zadziałał... właściwie to ja gówno wiem na temat tej kolizji a że kombinuje tydzień to piszę do was :D

zrobiłem tak jak kazałeś :( nic tu kurde nie działa!

 

// PS: zakładam, że posiadasz zmienną "z".

posiadam, z = 0 czyli "czołg" stoi na ziemi...

PS. nie wiem co z tym x min 10 x max 10... nie pasuje ale nie wiem co... a nieważne... :D

 

E@E: powiedzcie mi teraz czemu chodze tylko na boki a nie w przód i w tył!! kurde..................

Opublikowano

GML
if z<=modelik.zz+277{

x = xprevious;

y = yprevious;

if (abs(hspeed) >= abs(vspeed) && not place_meeting(x+hspeed,y,modelik))

{

x += hspeed; exit;

}

if (abs(vspeed) >= abs(hspeed) && not place_meeting(x,y+vspeed,modelik))

{

y += vspeed;

exit;

}

speed = 0;

}

ja mam to tak zrobione, znalazłem to w jednym przykładzie bo też sobie nie mogłem poradzić :)

aha musisz mieć sprite wielkości modelu a w obiekcie musisz mieć zaznaczone solid

ta liczba 277 to wysokość modelu, a zz to to samo co z

EDIT: modelik to oczywiście nazwa obiektu z którym kolidujesz, a kod dajesz w evencie colission

Opublikowano

jak mam zmieżyć? na oko bedzie dobrze?

 

E@E yeaaaaa udało sie!! dzięki wam wszystkim! to było trudne zagadnienie a odpowiedź banalna :D dzieki dzięki dzięki!

nareszcie Wojna O Sprawiedliwość ruszyła!! dodam 1% więcej....

mały krok dla GM'a, wielki krok dla WOS'u!

|L

|O

|O

|K

v

Opublikowano

ja modele robie w sketchupie i sobie w nim miarką mierzę. Ale jeśli nie przewidujesz że player w grze będzie mógł latać (albo być nad modelami) to możesz usunąć pierwszą linijkę i ostatnią klamrę.

Opublikowano

ja mam model creator i w tym siedze bo łatwe :D tylko tyle co x -x y -y z -z :D

to jest cały model creator xD

a lepszy ten twój?

Opublikowano

nie wiem czy dobry, ale bardzo prosty ;) gdzieś na forum jest skrypt wavefront autorstwa psichixa, który może wczytywać do gry modele wyeksportowane ze sketchupa razem z teksturami :)

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