terrains ohne heightmap

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

rctuner

Betreff: terrains ohne heightmap

BeitragSa, März 03, 2007 23:29
Antworten mit Zitat
Benutzer-Profile anzeigen
hallo,

ich hab ein problem mit meiner heightmap und dem einsatz einer physik engine. (devilphysik engine)
Bei zu hohen bergen fliegen die physik-objekte einfach durch das terrain hindurch... weiss jemand woran das liegen könnte?

fals nein, gibt es noch andere möglichkeiten terrains zu erstellen?
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]
 

feider

ehemals "Decelion"

BeitragSo, März 04, 2007 0:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Andere Möglichkeit, Terrains zu erstellen:
1. Du schreibst dir selber Funktionen dazu
2. Du benutzt ein Static Mesh

Warum die Objekte durchfallen:
Sie werden in einem Schleifendurchlauf zu weit nach unten positioniert, somit findet keine Kollision statt.

Beispiel:


So sollte es sein:
o..|
.o.|
..o| <- Kollision
.o.|

So ist es:
....|
.o.|
....|o <- Keine Kollision
....|..o

cu
Decelion

rctuner

BeitragSo, März 04, 2007 11:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das denke ich auch, wüsste aber nicht wie ich das beheben könnte. Mit dieser Funktion wird das Terrain als Physik Mesh definiert:

Code: [AUSKLAPPEN]
Function SetPhysicTerrain(ent, lod = 8)
phLevelBuildBegin()
size = TerrainSize(ent) - lod
For xx = 0 To size / lod
   For zz = 0 To size / lod
      x = xx * lod
      z = zz * lod
      TFormPoint x + lod, TerrainHeight(ent, x + lod, z), z, ent, 0
      p1x# = TFormedX()
      p1y# = TFormedY()
      p1z# = TFormedZ()
      TFormPoint x, TerrainHeight(ent, x, z), z, ent, 0
      p2x# = TFormedX()
      p2y# = TFormedY()
      p2z# = TFormedZ()
      TFormPoint x, TerrainHeight(ent, x, z + lod), z + lod, ent, 0
      p3x# = TFormedX()
      p3y# = TFormedY()
      p3z# = TFormedZ()
      phLevelAddFace(p1x#, p1y#, p1z#, p2x#, p2y#, p2z#, p3x#, p3y#, p3z#)
      TFormPoint x + lod, TerrainHeight(ent, x + lod, z), z, ent, 0
      p1x# = TFormedX()
      p1y# = TFormedY()
      p1z# = TFormedZ()
      TFormPoint x, TerrainHeight(ent, x, z + lod), z + lod, ent, 0
      p2x# = TFormedX()
      p2y# = TFormedY()
      p2z# = TFormedZ()
      TFormPoint x + lod, TerrainHeight(ent, x + lod, z + lod), z + lod, ent, 0
      p3x# = TFormedX()
      p3y# = TFormedY()
      p3z# = TFormedZ()
      phLevelAddFace(p1x#, p1y#, p1z#, p2x#, p2y#, p2z#, p3x#, p3y#, p3z#)
   Next
Next
phLevelBuildEnd()
If PushCamCollisions Then EntityType ent, COLLI_PHYSIC
End Function
[Y[our Film, Game ]M[akers and more [F]un!
www.Master-Entertainment.de.vu

[AMD 6000+ X2 @ 6400+][2GB RAM][NVidia 8800GT 512 MB]

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group