Treppen steigen
Übersicht

DödelBetreff: Treppen steigen |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi,
ich habe zwar einen Thread dazu gefunden, in dem hat sich allerdings keine Lösung ergeben. Ich möchte eine Treppe hochgehen, die Teil eines Turms ist. Hierbei ist zu beachten, dass ich ein Spielermesh habe, dass letztendlich nur dann nach oben bewegt werden darf, wenn die Stufe xx hoch ist. Wie kann ich das realisieren? Natürlich muss man irgendwie testen, wie hoch die nächste Stufe ist, aber wie mache ich das? Vielleicht nur gedankliche Blockade vom zu langen Coden... ![]() Naja, bin für jede Antwort dankbar, Dödel |
||
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
Schieb irgent ein mesh vor und mach collision. Wenn eine kollision erfolgt dann is die treppe zu hoch. | ||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ich vermute mal, ich habe wieder nur ein Brett vorm Kopf. Wie teste ich das Objekt denn dann auf Kollision? | ||
![]() |
wunderkind |
![]() Antworten mit Zitat ![]() |
---|---|---|
Alle Funktionen zu diesem Thema findest du hier:
http://www.blitzbase.de/menu/3h.htm Das sollte dir helfen. |
||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Nein, das tut es nicht, da so immer eine Reaktion stattfindet, ich allerdings nur auf Kollision PRÜFEN will (jaja, die alte Krux...)
Denn je nach Reaktion würde dann ja das Objekt verschoben und das will ich ja gerade nicht. |
||
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann mach stoppen und mach die collision weg man. Sag mal kannst du denn nichts selbst erarbeiten? Was meinste wie ich es gelernt hab ich hatte kein buch, keine tutorials. Natürlich habe ich hier gefragt aber ich habe so weit es ging mit der onlinehilfe selbst gelernt. Und wenn du so kleine fragen hast komm doch in den chat dafür isser da. | ||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Lord_Vader hat Folgendes geschrieben: Dann mach stoppen und mach die collision weg man. Sag mal kannst du denn nichts selbst erarbeiten? Was meinste wie ich es gelernt hab ich hatte kein buch, keine tutorials. Natürlich habe ich hier gefragt aber ich habe so weit es ging mit der onlinehilfe selbst gelernt. Und wenn du so kleine fragen hast komm doch in den chat dafür isser da.
1. Wie mache ich denn dann die Collision weg? Sorry, aber diesbezüglich habe ich echt keine Ahnung... 2. Was glaubst du denn, wozu das Forum da ist, doch auch, damit man Fragen stellt. Wenn das jetzt wieder zu anspruchslos ist, dann lass es einen Mod in die BC verschieben! |
||
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mhh ja eigentlich schon denn das ist anfänglich ohne collisions kannst du nicht viel in 3D machen.
RESETENTITY Entity Das brauchst du. |
||
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Wie gesagt zu lang gecodet, aber:
Wann schalte ich die Collisionsprüfung denn dann wieder ein? Denn z.B. nach einem Schleifendurchlauf oder nach einer Bewegung hieße ja, dass in einer Schleife wieder eine Kollision mit Reaktion stattfindet und somit würde das dann doch zumindest allmählich den gleichen effekt haben, oder? mfg Dödel |
||
![]() |
darthBetreff: if collisionentity(entity,index)=1 then man rauf-nach vorne |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich würds so machen:
wenn der spieler mit der treppe kollidiert, dann soll er nahc oben verschoben werden und nach vorne (oder dann lässt du ne animation ablaufen - kommt draufan) if collisionentity(entity,idex)=1 then moveentity,0,treppen_höhe,treppen_tiefe endif (oder: if collisionentity(entity,index)=1 then animatemd2 entity,3,startframe,stoppframe endif) |
||
Diese Signatur ist leer. |
![]() |
Lord_Vader |
![]() Antworten mit Zitat ![]() |
---|---|---|
genau. Er wird aber nicht nach vorne gesetzt bzw nur ein bisschen schliesslich läuft er ja schon dagegen. | ||
DödelBetreff: Re: if collisionentity(entity,index)=1 then man rauf-nach vo |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
darth gamer hat Folgendes geschrieben: ich würds so machen:
wenn der spieler mit der treppe kollidiert, dann soll er nahc oben verschoben werden und nach vorne (oder dann lässt du ne animation ablaufen - kommt draufan) if collisionentity(entity,idex)=1 then moveentity,0,treppen_höhe,treppen_tiefe endif (oder: if collisionentity(entity,index)=1 then animatemd2 entity,3,startframe,stoppframe endif) Lord_Vader hat Folgendes geschrieben: genau. Er wird aber nicht nach vorne gesetzt bzw nur ein bisschen schliesslich läuft er ja schon dagegen. Ok, jetzt habt ihr mich so weit... Ich verstehe nun nichts mehr ![]() Alsoooo, wie ich ihn bewege ist mir schon klar, bloß muss ich wissen, ob ich ihn bewegen darf. Die Treppe ist Teil eines Gebäude-Meshs und insofern nicht einzeln auf Kollision zu prüfen. Deshalb war ja Lord_Vaders Idee mit einem höher gelegenen, auf Kollision geprüftem Pivot nicht schlecht. Dann habe ich die Frage aufgeworfen, ob ich es schaffen kann, eine Kollision erfolgreich zu erkennen, OHNE dass mein Pivot durch eine reaktion verschoben oder gestoppt wird, wenn ich gegen eine Wand rennen. Die Antwort war, ich solle Collisions rückgängig machen. Versteh ich nicht: Pseudo: Collisions pivot, gebaeude,2,3 Collisions player, gebäude, 2,2 Wenn player berührt gebaeude und nicht pivot berührt gebäude Then Bewege player um "Treppenstufenwerte" So wird der pivot in seiner Bewegung aber gestoppt, wenn ich in eine Wand rennen. Wenn ich im Falle einer Kollision des Pivots die K-Erkennung zwischen Pivot und Gebäude abstelle, muss ich sie ja irgendwann auch wieder anstellen. Damit hätte ich dann bei jedem erneuten Wand berühren eine weitere Verschiebung meines Pivots und das ist ja schädlich für die weitere Kollisionserkennung... Ich hoffe, das war jetzt verständlich. Desweiteren möchte ich nochmal darauf hinweisen, dass ich kein absoluter Anfänger bin und man mich dementsprechend behandeln muss... mfg Dödel |
||
![]() |
darthBetreff: meshs trennen ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
hast du schon mal versucht die meshs zu trennen?
(kA welchen editor du hast...) ich hab das auch mal gemacht - da hab ich das haus (ganze) geladen - die teppen gelöscht, dann loadmesh(house.3ds) - und dann die treppen noch mals (sind ja an der richtigen position und alles) loadmesh(treppe.3ds) dann collision bei house = figur stoppen collision mit treppe = bewegung um treppenwerte @lord vader: ich dachte irgendwie an sowas wie - einmal dagegenlaufen, dann wird er automatisch die ganze treppe rauf"getragen" (weil er immer wieder mit der stufe kollidiert, wird er immer wieder ne stufe nach oben verschoben) - aber es geht auch dass er nur nach oben und auf die stufe verschoben wird, und dann gegen die nächste laufen kann... (^^ ansichtssache) |
||
Diese Signatur ist leer. |
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hmm, wäre ne Möglichkeit, aber gehts nicht auch anders? Denn bei komplexen Gebäuden alle Treppen und Schrägen einzeln? | ||
![]() |
darthBetreff: norm sache ^^ |
![]() Antworten mit Zitat ![]() |
---|---|---|
wenn die treppen alle die selben sind, dann kannst du sie auch alle als treppe.3ds (oder so) speichern, und bei allen die selbe reaktion auslösen - ansonsten kenn ich keinen anderen weg... | ||
Diese Signatur ist leer. |
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
1. Wird das nie der Fall sein
2. Müsste ich sie trotzdem alle einzeln laden und positionieren... |
||
![]() |
darthBetreff: hmmm... |
![]() Antworten mit Zitat ![]() |
---|---|---|
nun ja,
1. dann kenn ich leider auch keine andere möglichkeit, sry 2. nein, du könntest das ganze laden (mit dem editor) dann die mauern und den restlichen kram weglöschen und nur die treppen (jetzt aber alle zusammen) als neue mesh einbinden - dann hast du 2 meshs => 1 haus und 1man alle treppen |
||
Diese Signatur ist leer. |
Dödel |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Sprich du meinst alle Treppen in einer Map speichern und nochmal drüber legen? | ||
sen-me |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie wärs damit:
die höhe zwischen boden und entity berechnen (geht das bei blitzbasic überhaupt?) und dan dementsprechend verhöhen/tiefen |
||
Omenaton_2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Mit 3D habe ich nicht viel Erfahrung, aber ich habe schon mal ein kleines Programm gemacht, wo der Spieler aus first person view (eine echte Figur ist nicht da, nicht zu sehen) in Gebäude rein kann und Treppen hoch und runter laufen kann. Das hat bei mir vielleicht zufällig auf Anhieb gut geklappt.
Ich glaube ich hatte Kugel förmige Kollision Check mit dem Gebäude / Treppe und Sliding. In diesem Fall ist es so, daß kleine Höhenunterschiede automatisch durch sliding überwunden werden, was einen Treppenaufstieg ermöglicht. Spiele einfach mit der Kollisions Arten und der Größe der Kollisionskugel herum. |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group