Zu steile Wände wieder runterrutschen?
Übersicht

![]() |
derAtomkeksehemals "Sethus"Betreff: Zu steile Wände wieder runterrutschen? |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 ![]() |
||
[size=9]Pro|gram|mier|er: Ein Organismus, der Koffein in Software umwandelt.
Geben Sie eine beliebige 11-stellige Primzahl ein, um fortzusetzen... |
feiderehemals "Decelion" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
||
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
erstmal danke für die schnellen antworten! und wie überprüft man den winkel von triangles? ich hab damit noch nie gearbeitet... | ||
feiderehemals "Decelion" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 . |
||
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@timsko: Eigentlich eine pfiffige Lösung ![]() |
||
• BLITZ SHOWCASE:
PARTICLE CANDY • PARTICLE CANDY FOR iPHONE • SPRITE CANDY • DON'T GET ANGRY! 2-3 • CLICK CLACK XL |
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sorry das ich erst jetzt schreibe, hatte iene kurze Pause ![]() 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 ![]() Und das was ihr mir dazu geschrieben habt versteh ich kaum ![]() |
||
![]() |
Markus2 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@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 . |
||
![]() |
derAtomkeksehemals "Sethus" |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist gut, das versuche ich mal. Danke! | ||
![]() |
x-pressive |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group