X_collision

Previous topic - Next topic

WPShadow

Hi!

Gibt es einen Weg eine Linie, in dem Fall eine Normale zu erstellen, die einfach oben und Unten bzw. einfach nur bei einer Kollision reagiert???

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

:/ Ich kapier die Frage leider nicht :)

WPShadow

Hier meine Idee:

Der Boden wird als Fläche angegeben, dessen Ränder auf einer gewissen Höhe gehalten werden:

Mit X_OBJ...

y1 = 0
y2 = 0
y3 = 0

Nun kommt mein "Bodenfahrzeug" ins Spiel. Mein Bodenfahrzeug bewegt sich z.B. in der Höhe "yFahr = 50" darüber. Ich möchte das Gelände so gestalten, daß sich das Schiff über den Boden bewegt und dabei das Gelände leicht absinkt.

y1 = -5
y2 = 0
y3 = 0

Dadurch kann man immer wieder seine Wege nachvollziehen und den selben Weg nachfahren bzw. fliegen, den man vorher gekommen ist.

Und hier kommt mein Problem. Wie mache ich das mit dem Absinken? Ich dachte an eine Kollision. Nur frage ich mich, ob das die beste Methode ist. Ich möchte nämlich das Fahrzeug bzw. die Fahrbedingungen vom Untergrund abhängig zu machen.

Damit meine ich, daß das Fahrzeug zwar beim einmaligen drüberfahren das Gelände beeinflußt, aber beim durchfahren der "Spurrinne" selbst absackt.

Deshalb auch meine Idee mit der Linie. Eine Normale zum unteren, glatten Bereich des "Gleiters", der bei Berührung das Gelände absinken läßt und so auch die Höhe hält.

Falls du eine bessere Idee hast, dann schlag sie mir um die Ohren.

GLG

W.
AMD X2 4600, 2 GB Ram, ATI X1950 XTX, XP PRO SP2: GLB Premium 10.beta_dingsi, <(´.´<) Kirby Dance (>`.`)>
http://lostrevenant.blogspot.com
alea iacta est

Kitty Hello

Nochmal: Du willst, dass ein Fahrzeug so schwer ist, dass es beim ersten Überfahren den Boden komprimiert, bei weiteren Überfahrten der Boden aber nicht weiter nachgibt, ja? Und das in Echtzeit, oder? :o
2 Methoden:
Einfach
Mach ein weisses rechteck, 256x256 und ein weiteres 512x512.
Auf das große packst Du alle Boden-Texturen (das ganze Land von oben).
Auf das kleine ein paar graue Punkterl
Wenn jetzt die Autos gefahren sind (neuer SHOWSCREEN) zeichnest Du das kleine Sprite und machst da, wo die Fahrzeuge sind einen dunklen Punkt.
Dann GRABSRITE, SAVESPRITE, LOADBUMPSPRITE.
Nun die große (bunte) als Textureinheit 0 und die kleine als Bump-Einheit setzen.
Damit schaffst Du ca 20FPS nicht mehr. (geschätzt)
Vorteil: sieht super aus (Reifenspuren usw...)
Nachteil: Spiel wird zum Dias-Abend

Exakt
Dein Terrain musst Du (wie auch oben) in einer map[100][100] oder so speichern - siehe Islands Demo. Jetzt kopierst Du diese: heightmap[] = map[]; und arbeitest von nun an mit der heightmap[][].
Du skaierst die echten Koordinaten vom Fahrzeug einfach zurück auf die Feld-Indizies und drückst die Werte runter - aber (Trick) nicht kleiner werden als map
  • [y] - max_eindrueck_tiefe.

Vorteil: Schnell
Nachteil: relativ ungenau, Reifenspuren kannst' vergessen

Verstehst Du, was ich meine?