Tokamak - Beliebiges Mesh statt Primitives benutzen?
Übersicht

MauBetreff: Tokamak - Beliebiges Mesh statt Primitives benutzen? |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hätte mal eben eine Frage zu Tokamak bzw. dem Wrapper. Ich lasse einige Objekte von oben auf ein Mesh fallen. Diese sollen von dem Mesh abprallen. Wie kann ich Tokamak klar machen, das er das Mesh mit in die Physik einbeziehen soll? Die Objekte müssen nur vom Mesh abprallen, sonst muss das Mesh keine Funktion haben. Wie geht das am einfachsten? Alle Tutorials, die ich zum Thema finden konnte, behandeln nur Primitives, erklären aber nicht, wie ich ein komplexeres Mesh einbinden kann. | ||
Alles muss, nichts kann! |
![]() |
Blackside |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo,
Ich habe mal in meinen alten Projekten gekramt und habe diese Funktion gefunden. Damit sollte es klappen. Code: [AUSKLAPPEN] Function BT_StaticMesh(entity,trisbank=0,vertbank=0,rec=False)
If EntityClass(entity) = "Mesh" If rec = False vertbank = CreateBank(0) trisbank = CreateBank(0) f_vert = 0 f_tris = 0 Else f_vert = BankSize(vertbank)/16 f_tris = BankSize(trisbank)/24 End If n_surf = CountSurfaces(entity) For s = 1 To n_surf surf = GetSurface(entity,s) n_vert = CountVertices(surf) n_tris = CountTriangles(surf) ResizeBank vertbank,(n_vert+f_vert)*16 ResizeBank trisbank,(n_tris+f_tris)*24 For v = 0 To n_vert-1 bankoffset = (f_vert+v)*16 TFormPoint VertexX#(surf,v),VertexY#(surf,v),VertexZ#(surf,v),entity,0 PokeFloat vertbank,bankoffset ,TFormedX() PokeFloat vertbank,bankoffset+4 ,TFormedY() PokeFloat vertbank,bankoffset+8 ,TFormedZ() PokeFloat vertbank,bankoffset+12,0.0 Next For t = 0 To n_tris-1 bankoffset = (f_tris+t)*24 PokeInt trisbank,bankoffset ,f_vert+TriangleVertex(surf,t,0) PokeInt trisbank,bankoffset+4 ,f_vert+TriangleVertex(surf,t,1) PokeInt trisbank,bankoffset+8 ,f_vert+TriangleVertex(surf,t,2) PokeInt trisbank,bankoffset+12,0 PokeInt trisbank,bankoffset+16,0 PokeInt trisbank,bankoffset+20,0 Next f_vert = f_vert + n_vert f_tris = f_tris + n_tris Next End If n_child = CountChildren(entity) For c = 1 To n_child BT_StaticMesh(GetChild(entity,c),trisbank,vertbank,True) Next If rec = False If vertbank<>0 And trisbank<>0 f_vert = BankSize(vertbank)/16 f_tris = BankSize(trisbank)/24 TOKSIM_SetStaticMesh vertbank,f_vert,trisbank,f_tris FreeBank vertbank FreeBank trisbank End If End If End Function |
||
Hier sollte eigentlich eine Signatur stehen! |
Mau |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ja, das haut recht gut hin, soweit ich das testen konnte -danke dir vielmals! ![]() |
||
Alles muss, nichts kann! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group