Zu steile Wände wieder runterrutschen?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

derAtomkeks

ehemals "Sethus"

Betreff: Zu steile Wände wieder runterrutschen?

BeitragDo, Jun 15, 2006 11:33
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo, ich versuche mich grade an einem einfachen 3D-Programm, man läuft einfach über ein Terrain. Jetzt möchte ich, dass wenn man eine zu steile Wand hochlaufen möchte einfach wieder runterrutscht. Wie macht man das?

Lunatix

BeitragDo, Jun 15, 2006 12:34
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

Global y_vel#

;[...]

if not countcollisions(player_Type)
   y_vel = y_vel - .6
else
  y_vel = -.4
endif

TranslateEntity Player,0,y_vel,0

;[...]




So in etwa Very Happy
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen...
 

feider

ehemals "Decelion"

BeitragDo, Jun 15, 2006 12:58
Antworten mit Zitat
Benutzer-Profile anzeigen
hi
Überprüfe, mit welchem Triangle dein Spielerentity als letztes beim "auf den Boden bewegen" berührt hat.
Dann überprüfst du die Winkel dieses Triangles und schaust ob er über soundsoviel Grad geneigt ist. wenn ja, dann lässt du deinen Spieler hinunterrutschen, wenn nicht dann nicht.

cu
wammerl

derAtomkeks

ehemals "Sethus"

BeitragDo, Jun 15, 2006 13:03
Antworten mit Zitat
Benutzer-Profile anzeigen
erstmal danke für die schnellen antworten! und wie überprüft man den winkel von triangles? ich hab damit noch nie gearbeitet...
 

feider

ehemals "Decelion"

BeitragDo, Jun 15, 2006 13:32
Antworten mit Zitat
Benutzer-Profile anzeigen
so:
1.
2.
3.
4.
5.
Mit 1. wählst du das Mesh aus.
Mit 2. wählst du das Triangle aus
Mit 3. - 5. Überprüfst du die Koordinaten und errechnest daraus die Neigung des Triangles.

cu
wammerl

Markus2

BeitragDo, Jun 15, 2006 14:36
Antworten mit Zitat
Benutzer-Profile anzeigen
timsko hat Folgendes geschrieben:
erstmal danke für die schnellen antworten! und wie überprüft man den winkel von triangles? ich hab damit noch nie gearbeitet...


Fürs Terrain und wenn du die Steigung meinst kannst du an
zwei Stellen die höhe messen mit TerrainY und damit den Winkel ausrechnen .

derAtomkeks

ehemals "Sethus"

BeitragDo, Jun 15, 2006 14:46
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist gut! Ich speichere die y position vom vorherigen "Schritt" und vergleiche sie mit der jetztigen. Wenn der unterschied zu groß ist rutscht man wieder runter. Danke

x-pressive

BeitragMi, Jun 21, 2006 8:45
Antworten mit Zitat
Benutzer-Profile anzeigen
@timsko: Eigentlich eine pfiffige Lösung Wink So braucht man nur die Position der Spielfigur abfragen. Funktioniert das bei dir in der Praxis?
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

derAtomkeks

ehemals "Sethus"

BeitragDo, Jun 22, 2006 18:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Sorry das ich erst jetzt schreibe, hatte iene kurze Pause Wink
Nein, ich habe es grade ausprobiert, es funktioniert doch nicht so wie ich es mir dachte.
Jetzt muss ich das doch mit Triangles überprüfen machen. Aber ich kenn mich damit nicht aus Sad
Und das was ihr mir dazu geschrieben habt versteh ich kaum Embarassed

Markus2

BeitragDo, Jun 22, 2006 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Vieleicht hilft dir das ein bischen
Code: [AUSKLAPPEN]

Function Steigung#(eback,efront)

 ; - Berg Hoch
 ; + Berg Runter

 Local winkel# ;in Grad

 Local dx#,dy#,dz# ;delta

 dx#=EntityX(efront)-EntityX(eback)
 dy#=EntityY(efront)-EntityY(eback)
 dz#=EntityZ(efront)-EntityZ(eback)

 Local xz#

 xz#=Sqr(dx*dx+dz*dz)

 winkel#=ATan2(dy#,Abs(xz#))

 Return winkel#

End Function

x-pressive

BeitragFr, Jun 23, 2006 8:54
Antworten mit Zitat
Benutzer-Profile anzeigen
@Markus2: Was sind "eback" und "efront" in deinem Beispiel? Zwei Pivots die immer auf TerrainY gesetzt werden oder so? Könnte mir vorstellen, daß das dann eher mit einem Fahrzeug funktioniert. Mit einer Figur ist das aber schwieriger, da man ja auch seitlich oder rückwärts einen Hang hinauflaufen -oder sogar springen- kann. Bin aber gerade bei meiner ersten Tasse Kaffee, vielleicht mindert das meine mentalen Prozesse...
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Markus2

BeitragFr, Jun 23, 2006 19:26
Antworten mit Zitat
Benutzer-Profile anzeigen
@x-pressive
ja ist von nem Auto Spiel .

Also tatsache ist das du dich in eine richtung bewegen möchtest .
Man nimmt einen Pivot und setzt ihn dahin wo der Spieler ist (Pos. & Rot.)
und bewegt ihn mit Move , also dahin wo der Spieler hin will .
Und jetzt setzt man ihn auf Y=TerrainY
Ist die Steigung zu Steil (nach oben) setzt man den Move kürzer bis man
nicht mehr hoch laufen kann .

Zum automatischen rutschen würde ich rundherum mal die höhe messen
z.B. alle 45 Grad und bei dem tiefsten Punkt den Spieler hin bewegen
je nach Gefälle .

derAtomkeks

ehemals "Sethus"

BeitragFr, Jun 23, 2006 19:37
Antworten mit Zitat
Benutzer-Profile anzeigen
das ist gut, das versuche ich mal. Danke!

x-pressive

BeitragSa, Jun 24, 2006 8:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja stimmt, so müsste das funktionieren.
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group