Kollisionen
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aber ich finde den fehler ja nicht!
Darum wnede ich mich ja an euch! |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Setz mal den Bus zu Beginn des Spiel deutlich ( so 1 Einheit in Y-Richtung) über die Straße und berichte, was passiert. | ||
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
PhillipB hat Folgendes geschrieben: Aber ich finde den fehler ja nicht!
Darum wnede ich mich ja an euch! Das Problem ist ja dass Dir die Grundlagen fehlen um dich um diese Fehler zu kümmern. Was wir dir schon wiederholt gesagt haben ist: Lern erst mal gehen bevor Du zu rennen versuchst. Vergiss dein Busspiel. Lern die Basics. Lerne den Debugger für Dich zu nutzen. Dann werden sich viele Deiner Probleme in Luft auflösen. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also der Bus rutscht herunter aber auf den Straße bleibt er nicht hängen zu begin habe ich noch
Code: [AUSKLAPPEN] PositionEntity O405, 0,0.1,0 gemacht aber der Bus rutscht einfach durch!
|
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hast du MSN? Ich würde dir gerne weiterhelfen (bin heute und morgen krank und hab deswegen eh nichts zu tun). | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
also PhillipB....
Du kannst das Programmieren auch in einem Bus-Spiel erlernen. Allerdings musst Du Dir eine Strategie überlegen, wie Du auf unerwartete Ereignisse reagierst. z.B. das Ding mit dem Bus der durch die Straße rutscht..... Das kann mehrere Ursachen haben: Das Model könnte die Ursache sein, oder die Straße, oder die Collision oder ein anderer Programmierfehler. Oder die 0.1-Höhe reicht doch noch nicht (Nebenbei: warum hast du esnicht mit 1 probiert, wie ich es dir geraten habe?). Wichtig für Dich ist nun, dass Du nicht nur an dem Einen, Deinen Code grübelst, sondern parallell in einem zweiten Editor-Fenster Grundlagenforschung machst. In diesem zweiten Code-Fenster könntest Du mal einen Code erstellen, wo ein Cube durch eine Fläche durchfällt. Und dort kannst Du dann mit den Collisions experimentieren. Hält er dort an? Warum nicht? Warum hier doch? Hol Dir auch die Code-Beispiele aus der BlitzBasic Anleitung zu Collision in ein drittes Editor-Fenster. Funktioniert es dort? Warum? Was ist anders? Dann ersetzt Du in Deinem Original-Code mal das Gitermodell durch einen einfachen Cube (Zeile ausmaskieren, dafür darunter eine Zeile... BlitzBasic: [AUSKLAPPEN] O405=CreateCube() Wie verhält sich das Programm jetzt? Verstehst Du, was ich sagen will? Durch Reduzieren von mögl. Fehlerquellen kannst Du die Fehlerursache einkreisen. Und uns hier im Forum dann schon genauer mitteilen, z.B. dass "...es mit einem Cube klappt, aber mit dem Modell nicht..." oder so... Wir reden uns hier alle leicht, weil wir das schon seit Jahren machen, aber am Anfang sind da so viele Widrigkeiten. Lass Dich nicht abschrecken...Du schaffst das schon! |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
So mit Code: [AUSKLAPPEN] O405=CreateCube() habe cih jetzt gearbeitet doch der cube fällt auch durch die Straße!
|
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Dann probier' die Dinge aus, die Midimaster noch in seinem Post geraten hat. | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sieh mal an....da sind wir schon etwas schlauer...
Leider bist Du ein wenig beratungsresistend. Und schreibst auch nur das Nötigste, gell? Was ich nämlich gleichzeitig dabei wissen müsste: Haste den cube jetzt von y=1 fallen lassen? Oder mal von Y=10? Wie sieht'n das aus, wenn Du das Beispiel aus der BB-Help in einem zweiten Fenster ausprobierst? hier mal die Minimal-Version davon: BlitzBasic: [AUSKLAPPEN] ; Collisions Example Witzigerweise fällt auch hier die Kugel durch den Boden. Erst Werte über Y=12 als Startposition verhindern das! BlitzBasic: [AUSKLAPPEN] ;********************************************* |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
LOL naja ich hab jetzt den Y wert auf 12 gestellt aber jetzt geht der Bus nicht ganz auf den boden aber wenn ein untersichied da ist geht er auch runter aber halt nicht ganz auf den Boden | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
ah! applaus!
das heißt: der bus geht jetzt nicht mehr durc hdie Straße. Und wenn die Straße ins Tal geht, dann geht auch der Bus mit? Toll! Das hättest du schon vor Stunden haben können. Bitte immer schön die Tipps lesen und darüber nachdenken. Der Tipp mit dem Fallenlassen kam von mehreren Leuten, aber keiner kann natürlich wissen, wie dein Koordinatensystem sclaiert ist. Bei dem Einem funktioniert es schon bei 0.1 Höhe, ein anderer braucht 1, Du brauchst scheinbar 12. Weil eben bei dir alles so groß ist. Nun zum schwebenden Buss.... Da ist eine Art 'Aura' um so ein Model. Und wenn diese Aura die Straße berührt, dann findet die Kollision statt und das Model ist 'unten angekommen'. Das hat dann ganz oft nix damit zu tun, das das optische Bild des Busses jetzt noch schwebt. Abhilfe schafft hier ein Container, der den Bus aufnimmt. (Stichworte: CreatePivot(), EntityParent()). Der Bus kann dann so im Container nach unten verschoben werden, bis es auch optisch passt. |
||
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Das wusste ich noch nicht, das mit der "Aura"! Wie entsteht die denn, bzw. wie berechnet Blitz3D denn die "umgebende Wand" des Modells? | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vermutlich ist damit der mit EntityBox![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
PacMani |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Achso. Ich war jetzt von Polygon-Zu-Kugel-Kollisionen ausgegangen. Und da müsste es Blitz ja vernünftig berechnen können. | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
![]() Aber mal im Ernst... wie ist das bei 3D-Objekten mit herausragenden "Extremitäten". Erkennt die Blitzkollision wirklich die "Objekt-Wand" oder gilt auch hier nur eine Art "Radius"? Wie ist das, wenn das Objekt beweglich ist, oder z.b. ein Loch hat? Für PhillipB wäre ja für den Bus ein rechteckiger EntitBox wahrscheinlich das bester, oder? Und was natürlich auch problematisch sein kann. Wo ist denn der "Nullpunkt" eines 3D-Objektes?. Sein Bus kommt ja nun nicht auf die Straße. Ich denke ein Pivot() würde seine Probleme lösen. |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Pivot ist ja nur ein unsichtbares objekt in dem sinne wie soll das denn in meinen code passen? | ||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dein Bus wird Child des Pivot.
Das Pivot wird das Collisions-Objekt und sinkt zu Boden. Der Bus sinkt mit. Nun kannst du in Versuchen die optimale Position des Busses im Pivot herausfinden. So steht vor dem Spiel jetzt: BlitzBasic: [AUSKLAPPEN] O405=CreatePivot() Im Spiel arbeitest Du weiterhin immer mit der Variablen O405 |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Also der Bus ist direckt ganz tief unten in der map aber er kollidiert auch nicht also er fällt und fällt! |
||
![]() |
Midimaster |
![]() Antworten mit Zitat ![]() |
---|---|---|
also in dem Komplett-Beispiel, dass ich dir gestern (18:45 Uhr) gegeben habe, klappt es.
Folgende Änderungen mussten da rein: BlitzBasic: [AUSKLAPPEN] ; Create sphere 'character' Da siehst du, dass man z.b. ein Objekt auf diese Art beliebig tief in den Boden eintauchen lassen kann, und trotzdem wird es angehalten. Vielleicht liegt es ja wieder an der 12? Sei mal ein bißchen kreativ! |
||
![]() |
PhillipB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ja vorher ging es ich habe ja mit deinem Beispiel von 20:04 gearbeitet doch der bus fällt auch bei höheren variablen immer herunter
Edit:// Ahh ich habe mal das niedriger gestellt Code: [AUSKLAPPEN] MoveEntity RealBus,0,-0.5,0 ; Bus innerhalb des Pivot verschieben
Aber der Bus stoppt trotzdem erst ganz spät und alle objekte am Bus die einzeld geladen werden schweben jetzt in der Luft aber sinken mit |
||
- Zuletzt bearbeitet von PhillipB am Mi, März 02, 2011 19:03, insgesamt einmal bearbeitet
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group