CTRL Opublikowano 13 Grudnia 2009 Udostępnij Opublikowano 13 Grudnia 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 13 Grudnia 2009 Udostępnij Opublikowano 13 Grudnia 2009 nie jestem dobry w 3D, ale spróbuj kodem na GML if place_meeting(x,y,o_model) { // akcja } gdzie x i y to widok z góry... Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 13 Grudnia 2009 Autor Udostępnij Opublikowano 13 Grudnia 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 13 Grudnia 2009 Udostępnij Opublikowano 13 Grudnia 2009 Samym gmem kolizji pomiędzy modelami nie posprawdzasz. http://gmc.yoyogames.com/index.php?showtopic=329495 http://gmc.yoyogames.com/index.php?showtopic=449508 http://www.google.com/search?hl=en&saf...mp;oq=&aqi= Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 13 Grudnia 2009 Autor Udostępnij Opublikowano 13 Grudnia 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Makary155 Opublikowano 13 Grudnia 2009 Udostępnij Opublikowano 13 Grudnia 2009 Jeżeli w roomie obiekty mają sprity to po aktywacji trybu 3d kolizje powinny działać. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 13 Grudnia 2009 Autor Udostępnij Opublikowano 13 Grudnia 2009 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: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
MagnusArias Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 No fucktycznie.. Zapomniałem że tyczy sie tylko 2D :jezor: może w O_Player w evencie kolizji o o_czołg te funkcje, które maja być wykonane to może zadziała? :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rudy Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 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. :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Dawidds Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 Akurat kolizja kul jest banalna - sprawdzamy, czy dystans pomiędzy środkami kul jest mniejszy niż suma ich promieni :P Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 14 Grudnia 2009 Autor Udostępnij Opublikowano 14 Grudnia 2009 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.................. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bartas Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 14 Grudnia 2009 Autor Udostępnij Opublikowano 14 Grudnia 2009 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 Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bartas Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 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ę. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
CTRL Opublikowano 14 Grudnia 2009 Autor Udostępnij Opublikowano 14 Grudnia 2009 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? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
bartas Opublikowano 14 Grudnia 2009 Udostępnij Opublikowano 14 Grudnia 2009 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 :) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
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ę