BSP-Loader + Physik

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

TerrorMachine

Betreff: BSP-Loader + Physik

BeitragMo, Feb 23, 2009 12:03
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
gibts ne Möglichkeit Physik auf eine mit dem BSP-Loader-Skript (von marcelkroener) anzuwenden?
Warscheinlich nicht...
Und warum werden bei LoadBSP() keine Texturen angezeigt? Mit welchen Befehlen muss man die nachladen?

Danke

coolo

BeitragMo, Feb 23, 2009 12:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Du könntest dir Devil Physik Engine oder Tokamak Engine anschauen, vermutlich musst du vorher die Map in ein normales Modell umwandel, kenn mich da mit den einzelnen Engines nicht so aus.

Aber Prinzipiell ohne umwandeln glaube ich wäre das nicht möglich.
http://programming-with-design.at/ <-- Der Preis ist heiß!
That's no bug, that's my project!
"Eigenzitate sind nur was für Deppen" -Eigenzitat
 

TerrorMachine

BeitragMo, Feb 23, 2009 12:26
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich arbeite z.Z. mit der Devil Engine. Habs mir fast gedacht, dass ich die Map umwandeln muss, nur wie mach ich das?
Gibts da irgendeinen speziellen Compiler für?

The_Nici

BeitragMo, Feb 23, 2009 17:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Devil Engines ist shit. Alles was es macht ist ein Wrapper wrappen, welches garnicht nötig sein würde. Es Wrappt nur BlitzODE.
Tokamak ist etwas komplizierter, jedoch sollte es damit funktionieren.
Auszug aus dem bbcar-Code (Mit Tokamak):
Code: [AUSKLAPPEN]

Function MakeTokCollider(mesh)
   scount=CountSurfaces(mesh)
   For ind=1 To scount
      surface=GetSurface(mesh,ind)
      ttltris=ttltris+CountTriangles(surface)
      ttlvert=ttlvert+CountVertices(surface)
   Next
   vertices=CreateBank(16*ttlvert)
   triangles=CreateBank(24*ttltris)
   offsetv=0
   offsett=0
   For ind=1 To scount
      surface = GetSurface(mesh,ind)
      ctr=CountTriangles(surface)
      tric=tric+cvt
      cvt=CountVertices(surface)
  ;fill bank with vertices
      For v=0 To cvt-1
         PokeFloat vertices,offsetv,VertexX#(surface,v)
         PokeFloat vertices,offsetv+4,VertexY#(surface,v)
         PokeFloat vertices,offsetv+8,VertexZ#(surface,v)
         PokeFloat vertices,offsetv+12,0.0
         offsetv=offsetv+16
      Next
  ;fill bank with triangles
      For v=0 To ctr-1
         PokeInt triangles,offsett,tric+TriangleVertex(surface,v,0)
         PokeInt triangles,offsett+4,tric+TriangleVertex(surface,v,1)
         PokeInt triangles,offsett+8,tric+TriangleVertex(surface,v,2)
         PokeInt triangles,offsett+12,2   ; Material ID
         PokeInt triangles,offsett+16,0
         PokeInt triangles,offsett+20,0
         offsett=offsett+24
      Next
   Next
   
 ;Hand over the terrain data to Tokamak
   TOKSIM_SetStaticMesh vertices,ttlvert,triangles,ttltris
 ; Now we can free the banks as Tokamak has copied all data
   FreeBank vertices
   FreeBank triangles
End Function


MfG
 

TerrorMachine

BeitragDi, Feb 24, 2009 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Sry, aber ich versteh den Code nicht so ganz. Hab mich noch nie eingehend mit Sufaces, Triangles und Vertices beschäftigt. Kann mir aber schon einigermaßen Vorstellen, was das alles ist.
Die Funktion übergibt die ganzen Daten (Triangles etc.) an die Engine und erstellt damit ein Physikobjekt, oder?
Wie soll ich damit die BSP ansprechen? Dazu müsste ich ja die ganze Lade-Engine zerpfücken und die einzeln erstellten Objekte raussuchen und dann mit der Funktion in ein Physikobjekt umwandeln. Das könnte ich mit der Devil auch machen.
Oder versteh ich jetz was ganz falsch??

Hab hier ein Konverter-Tool von BSP nach OBJ gefunden. Funktioniert bei mir nicht so ganz. Evtl steigt von euch ja jemand durch:

Thread: http://mapping-tutorials.de/fo...hp?t=17218 (Neueste Version wird auf Seite 3 vorgestellt)
Download: http://www.vnix.info/mog.zip

The_Nici

BeitragDi, Feb 24, 2009 18:13
Antworten mit Zitat
Benutzer-Profile anzeigen
Der BSP-Maploader von marcelkroener speichert das BSP zeugs in ein Mesh, d.h. die Funktion erstellt nur eine Bank mit Verticesdaten, speichert die Vertexinformationen des Meshs (Deines Levels) in die Bank und reicht das ganze an Tokamak rüber, welches sich ein Physik-Objekt drausmacht.

MfG
 

TerrorMachine

BeitragDo, März 26, 2009 14:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich hab jetzt endlich die Funktionsweise dieser Funtion verstanden.
So wie ich das sehe, heißt das Mesh, in das gespeichert wird im BSP-Loader, "map". Das wird am Anfang mit CreateMesh erstellt.

Das übergebe ich dann an die Funktion, leider bringt er mir einen MAV, in der ersten Zeile der Funktion. Teilweise ging es, aber dann war da von Physik auch nix zu sehen. Ein erstellter Würfel fiel einfach durch.

Bin für Hilfe oder andere Lösungsvorschläge (evtl durch ein Physikmodell für die Map) dankbar.

MfG
TerrorMachine

marcelkroener

BeitragSo, Apr 19, 2009 14:27
Antworten mit Zitat
Benutzer-Profile anzeigen
https://www.blitzforum.de/foru...hp?t=30890

TerrorMachine hat Folgendes geschrieben:
Ich hab jetzt endlich die Funktionsweise dieser Funtion verstanden.
So wie ich das sehe, heißt das Mesh, in das gespeichert wird im BSP-Loader, "map". Das wird am Anfang mit CreateMesh erstellt.

Das übergebe ich dann an die Funktion, leider bringt er mir einen MAV, in der ersten Zeile der Funktion. Teilweise ging es, aber dann war da von Physik auch nix zu sehen. Ein erstellter Würfel fiel einfach durch.

Bin für Hilfe oder andere Lösungsvorschläge (evtl durch ein Physikmodell für die Map) dankbar.

MfG
TerrorMachine


der post is schon etwas älter sorry, aber schick ma die map ich könnts testen
lads irgendwo hoch oder schicks an (ICQ: 327-329-933) oder w.w.kroener@t-online.de
mfg mk

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group