collision zwischen bewegenden Körpern
Übersicht

FreizeitCoderBetreff: collision zwischen bewegenden Körpern |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo zusammen,
meine Frage war garantiert schon einmal dran, allerdings ergibt die Suche "Blitz3d" und "collision" knapp 500 Ergebnise, weshalb ich so dreist bin den 501 Eintrag zu starten. ![]() Es geht um ein Kugellabyrinth im Stil der Holzkugellabyrinthe welche vor zwei Jahrzehnt in jedem Kinderzimmer standen. Alle die sich gerade frage "oh gott, so lange ist das schon her!?!"... wissen bestimmt wovon ich rede. Mit einem Rädchen links und einem rechts konnte man die Neigung der Labyrinthplattform verändern, und mußte damit die Kugel in dem Labyrinth ans Ziel befördern. Mir macht die Problematik zwei sich bewegender Kollisionsobjekte zu schaffen. Blitz hat Probleme damit, und lässt die Kugel nach ein paar Steuerbewegungen durch die Labyrinthmauer rollen. Für den Boden habe ich eine handgeschriebene Sperre verwendet, aber für ein Labyrinth was in jedem Level unterschiedlich ist, ist das unmöglich! Wie kann ich es mit möglichst wenig Aufwand gestallten, daß die Kugel die Mauern korrekt als Hindernis erkennt? Meine Labyrinthplattform wird im gesammten, als Mesh gebaut und eingelesen. Gruß |
||
![]() |
Xaymarehemals "Cgamer" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Kugel-Wand Kollision auf 2D ebene übertragen. Da es ja nur ein Level gibt(denke Ich mal) sollte das ganz einfach gehen. | ||
Warbseite |
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Viertelstunde hingesetzt und folgendes zusammengetippt:
BlitzBasic: [AUSKLAPPEN] ; Kugeldemo von faeX Sollte alles erklären ![]() ![]() Mfg faeX [EDIT] Wer sich den Code durchliest, sollte feststellen, dass man mit Leertaste und den Cursortasten was ordentliches bewirken kann ![]() |
||
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
faeX hat Folgendes geschrieben: Viertelstunde hingesetzt und folgendes zusammengetippt
Erkenne ich da Verletintegration? ![]() Zum Topic: Das ist zum Glück relativ einfach zu beheben. Zuerst das Spielbrett bewegen (oder halt drehen, in diesem Fall), UpdateWorld ![]() ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Silver_Knee |
![]() Antworten mit Zitat ![]() |
---|---|---|
würde ich nicht machen... in dem fall blockiert die Kugel das spielfeld..
Ich würde: kugel als child des spielfelds, nur kollision kugel->spielfeld Spielfeld drehen Updateworld Kugel runter Updateworld So blockiert die kugel das spielfeld nicht und du kannst durch die drehung die kugel "mitnehmen" |
||
FreizeitCoder |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Prima. Hat funktioniert.
Ich muß jetzt zwar jeden Kollisionsteilnehmer über einen eigenen pivot drehen, aber die Kollision funktioniert dadurch 1A. Danke für den Tip Nobody. Das wird mir noch bei vielen Projekten hilfreich sein ![]() Gruß Edit: Zu langsam geschrieben ![]() @Silver_Knee: Gute Idee. Bisher habe ich Kugel und Spielfeld über je einen parent-pivot gedreht. Deshalb habe ich wohl auch keine Schwierigkeiten beim drehen. Ich könnte natürlich auch die Kugel gleich zum Child des Spielfeldes machen. Damit werde ich noch ein wenig rumprobieren. Danke euch. Gruß |
||
![]() |
faeX |
![]() Antworten mit Zitat ![]() |
---|---|---|
Zitat: Erkenne ich da Verletintegration? Wink
Verlet ![]() ![]() Alles in allem hat's trotzdem 'ne Viertelstunde gedauert ![]() |
||
FreizeitCoder |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Danke für die Arbeit die Du dir gemacht hast. Ist eine wahnsinns Leistung für 15min, allerdings komplizierter als ich es gebrauchen kann ![]() Gruß |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group