Terrain - Kollision - Bewegung

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

V0oD0o

Betreff: Terrain - Kollision - Bewegung

BeitragFr, Feb 08, 2008 22:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo!
Man könnte sagen, ich habe ein Problem^^
Und zwar folgendes:
Ich habe
- mir eine Mesh gebaut (ein süßer kleiner Panzer^^)
- mit Pivot-Punkten dafür gesorgt, dass sich dessen Einzelteile realistisch zueinander bewegen
- mit Heightmap und Textur ein hübschen kleines Terrain entworfen und das ordentlich dimensioniert...

Zum Problem:
Ich habe mit Collisions den EntityRadius des Panzers mit den Polygonen des Terrains kollidieren lassen und eine schwache Schwerkraft installiert. Soweit so gut, der Panzer bleibt am Terrain hängen. Zumindest solange er nicht fährt ..
Sobald er ein Stück in das wie gesagt etwas unebene Terrain hinein fährt sinkt er langsam aber sicher durch selbiges. Solange ich bergab fahre ist alles ok, aber bergauf endet mit einem Fall in die Unendlichkeit Sad

Ich habe auch schon mal testweise probiert, die Vorwärtsbewegung auf minimale Geschwindigkeit zu reduzieren, um die Kollisionspunkt nicht zu verpassen, aber zwecklos..

Außerdem hab ich auf verschiedenste Weise probiert die Kollisionsabfrage zu umgehen, aber nie eine Möglichkeit gefunden, die annähernd so praktisch wäre wie eine funktionierende Kollision ..

Hat also jemand vielleicht eine Idee was ich falsch mache??
Danke schonmal..

Grüße
V0oD0o
 

Tpro

BeitragSa, Feb 09, 2008 18:47
Antworten mit Zitat
Benutzer-Profile anzeigen
wie realisierst du deine Schwerkraft?!

Ich verwende immer diese Function:

Code: [AUSKLAPPEN]


Global entity_col=1
Global obstacle=2
Collisions entity_col,obstacle,2,3
Collisions obstacle,entity_col,3,3

EntityType entity,entity_col
EntityType Terrain,obstacle


Function grav(entity)
  If Not EntityCollided(entity,obstacle)Then
     TranslateEntity entity,0,-5,0
  Endif    
End Function






Die musst du allerdings anwenden bevor du deine Bewegung durchführst da du ansonsten erst das Terrain durchstöst (-> keine Kollision mehr) und dan überprüfst ob eine Kollision stat findet...
Der Optimist: "Das Glas ist halb voll"
Der Pessimist: "Das Glas ist halb leer"
Der Ingenieur: "Das Glas ist doppelt so groß wie es sein müsste"
 

Dreamora

BeitragSa, Feb 09, 2008 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
alternativ kannst du an den 4 eckpunkten die höhe des terrains ermitteln und den panzer entsprechend drehen lassen, das er sauber auf / über dem terrain bleibt
Ihr findet die aktuellen Projekte unter Gayasoft und könnt mich unter @gayasoft auf Twitter erreichen.
 

Tpro

BeitragSa, Feb 09, 2008 19:05
Antworten mit Zitat
Benutzer-Profile anzeigen
das wäre natürlich die Profiemethode...

Sähe aber warscheinlich auch am besten aus da sich der Panzer dann immer richtig tangentsial zum Terrain neigt!
Der Optimist: "Das Glas ist halb voll"
Der Pessimist: "Das Glas ist halb leer"
Der Ingenieur: "Das Glas ist doppelt so groß wie es sein müsste"
 

V0oD0o

BeitragSa, Feb 09, 2008 21:40
Antworten mit Zitat
Benutzer-Profile anzeigen
ah, vielen Dank Smile
das probier ich gleich mal aus ..

ich bin begeistert Smile
Tpros Code funzt super Smile

um den ultimativen Panzerbewegenden Ansatz,der letztendlich sowieso nötig ist, kümmer ich mich dann morgen mal ^^

Grüße
V0oD0o

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group