Hilfe

MeshesIntersect

B3D

Aufruf

wert% = MeshesIntersect (mesh1%, mesh2%)

Parameter

mesh1% Identität des ersten Gitterobjekts
mesh2% Identität des zweiten Gitterobjekts


Rückgabewert

0=keine Kollision
1=Kollision


Beschreibung

Der Befehl MeshesIntersect prüft, ob zwei Gitterobjekte (mesh) sich gerade kreuzen. Falls dies der Fall ist, dann wird der Wert 1 zurückgeliefert. Andernfalls wird nur 0 zurückgeliefert.

Dies ist die einzige Kollisionsroutine, die Polygon/Polygon-Kollision zwischen zwei Objekten feststellen kann. Allerdings ist der Rechenaufwand dafür so hoch, dass es zu langsam sein kann. Darum benutze es mit Vorsicht.


Beispiel

Standardbeispiel:

Graphics3D 640, 480
SetBuffer BackBuffer()
camera = CreateCamera()
light = CreateLight()
RotateEntity light, 90, 0, 0
drum = LoadMesh("media/oil-drum/oildrum.3ds")
PositionEntity drum, - 20, 0, 100
crate = LoadMesh("media/wood-crate/wcrate1.3ds")
PositionEntity crate, 20, 0, 100

While Not KeyHit(1)
   TurnEntity drum, 1, 1, 1
   TurnEntity crate, - 1, - 1, - 1
   RenderWorld
   If MeshesIntersect(drum, crate) = 1 Then Text 0, 0, "Kollision"
   Flip
Wend
End


Siehe auch

Collisions, EntityCollided

Übersicht 3D Grafik Kollision