in ms3d exportieren!

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

blink-182

Betreff: in ms3d exportieren!

BeitragDo, Dez 22, 2005 19:48
Antworten mit Zitat
Benutzer-Profile anzeigen
hi,
ich möchte gerne ein 3D Modell, dessen Vertex-Punkte und Dreiecke ich berechnet habe in ein einfaches 3D- Format exportieren. Da ich gehört habe, dass ms3d ein simples Format ist würde ich es gerne damit versuchen. Nur leider konnte ich noch nichts genaues über den Aufbau des Formats finden. könnte mir vlt jemand kurz sagen wie es Aufgebaut ist und zur jeweiligen INformation den Korrekten SChreibbegriff nennen (z.B. Writebyte etc.)?
Danke!

Frohe Weihnachten Wink
Kostenloser IPOD!!! http://ipods.freepay.com/?r=24919444

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragFr, Dez 23, 2005 1:25
Antworten mit Zitat
Benutzer-Profile anzeigen
is zwar nich ms3d aber vielleicht willste es in x-Format versuchen:

Habe den Code grad da:
BlitzBasic: [AUSKLAPPEN]

Function SaveMeshX(mesh,file$)
;single surface at the moment
cnt=CountSurfaces(mesh)
If cnt=0 Then Return

;TODO Multi surface support
surf=GetSurface(mesh,1)

out=WriteFile(file$)
WriteLine out,\"xof 0302txt 0064\"
WriteLine out,\"\"
WriteLine out,\"Header {\"
WriteLine out,\" 1;\"
WriteLine out,\" 0;\"
WriteLine out,\" 1;\"
WriteLine out,\"}\"
WriteLine out,\"\"
WriteLine out,\"Frame frm_Scene_Root {\"
WriteLine out,\" FrameTransformMatrix {\"
WriteLine out,\" 1.000000,0.000000,0.000000,0.000000,\"
WriteLine out,\" 0.000000,1.000000,0.000000,0.000000,\"
WriteLine out,\" 0.000000,0.000000,1.000000,0.000000,\"
WriteLine out,\" 0.000000,0.000000,0.000000,1.000000;\"
WriteLine out,\"}\"
WriteLine out,\"\"
name$=EntityName$(mesh)
If name$=\"\" Then name$=\"Unknown\"
WriteLine out,\"Frame frm_\"+name$+\" {\"
WriteLine out,\" FrameTransformMatrix {\"
WriteLine out,\" 1.000000,0.000000,0.000000,0.000000,\"
WriteLine out,\" 0.000000,1.000000,0.000000,0.000000,\"
WriteLine out,\" 0.000000,0.000000,1.000000,0.000000,\"
WriteLine out,\" 0.000000,0.000000,0.000000,1.000000;\"
WriteLine out,\"}\"
WriteLine out,\"\"
WriteLine out,\" Mesh frm_\"+name$+\" {\"
WriteLine out,CountVertices(surf)+\";\"
For a=0 To CountVertices(surf)-1
WriteLine out,VertexX(surf,a)+\";\"+VertexY(surf,a)+\";\"+VertexZ(surf,a)+\";,\"
Next
WriteLine out,\"\"
WriteLine out,\" \"+CountTriangles(surf)+\";\"
For a=0 To CountTriangles(surf)-1
in1=TriangleVertex(surf,a,0)
in2=TriangleVertex(surf,a,1)
in3=TriangleVertex(surf,a,2)
ln$=\" 3;\"+in1+\",\"+in2+\",\"+in3+\";\"
If a=CountTriangles(surf)-1 Then ln$=ln$+\";\" Else ln$=ln$+\",\"
WriteLine out,ln$
Next
WriteLine out,\"\"

WriteLine out,\"MeshMaterialList {\"
WriteLine out,\"1;\"
WriteLine out,\"1;\"
WriteLine out,\"0;;\"
WriteLine out,\"\"
WriteLine out,\"Material {\"

WriteLine out,\" 1.000000,1.000000,1.000000,1.000000;;\";rgba
WriteLine out,\" 1.000000;\"
WriteLine out,\" 0.500000,0.500000,0.500000;;\"
WriteLine out,\" 0.000000,0.000000,0.000000;;\"
WriteLine out,\"}\"
WriteLine out,\"}\"
WriteLine out,\"\"
WriteLine out,\"MeshNormals {\"
WriteLine out,CountVertices(surf)+\";\"
For a=0 To CountVertices(surf)-1
WriteLine out,VertexNX(surf,a)+\";\"+VertexNY(surf,a)+\";\"+VertexNZ(surf,a)+\";,\"
Next
WriteLine out,\" \"+CountTriangles(surf)+\";\"
For a=0 To CountTriangles(surf)-1
in1=TriangleVertex(surf,a,0)
in2=TriangleVertex(surf,a,1)
in3=TriangleVertex(surf,a,2)
ln$=\" 3;\"+in1+\",\"+in2+\",\"+in3+\";\"
If a=CountTriangles(surf)-1 Then ln$=ln$+\";\" Else ln$=ln$+\",\"
WriteLine out,ln$
Next
WriteLine out,\"}\"
WriteLine out,\"\"

WriteLine out,\"MeshTextureCoords {\"
WriteLine out,CountVertices(surf)+\";\"
For a=0 To CountVertices(surf)-1
ln$=VertexU(surf,a)+\";\"+VertexV(surf,a)+\";\"
If a=CountVertices(surf)-1 Then ln$=ln$+\";\" Else ln$=ln$+\",\"
WriteLine out,ln$
Next
WriteLine out,\" }\"
WriteLine out,\" }\"
WriteLine out,\" }\"
WriteLine out,\"}\"
CloseFile out
End Function
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

blink-182

BeitragSo, Feb 05, 2006 18:40
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Danke für die Antwort!
Jetzt habe ich nur das Problem, dass ich eigentlcih gerkeine 3D-Modelle habe, sondern eher nur eine Punktewolke. Das Theoretische zusammenfügen zu Dreiecken geht auch ncoh, also weiß ich schon wie ich die Funktion umschreiben muss, sodass ich bis zum Punkt "WriteLine out,"MeshMaterialList {""

Jetzt ist meine Frage, was ich bei der MeshMaterialList , den MeshNormals (was sind Normals) und Mesh Texturcoords angeben muss.

Könnte man bei diesen 3 Punkten auch mehr oder minder zunächst mal nen Standardtext übergeben, sodass man schonmal ein 3D-Modell sieht?

Ist es möglich einzelnen Vertexs Farben zuzuweisen und diese im .x Format zu speichern?

DANKE!!!

ciao
Kostenloser IPOD!!! http://ipods.freepay.com/?r=24919444

Ironstorm

Erstklassiger Contest-Veranstalter

BeitragSo, Feb 05, 2006 20:18
Antworten mit Zitat
Benutzer-Profile anzeigen
meintest du das hier:

Klick mich
..:: blackbird design : blackbird photography : Futuro Verde : X-Commander ::..
MacBook | Intel Core 2 Duo 2,1 GHz | 2048 MB RAM | 80 GB HDD | Mac OS X 10.6.2 (Snow Leopard) | Adobe CS4 Design Premium
 

blink-182

BeitragMo, Feb 06, 2006 13:10
Antworten mit Zitat
Benutzer-Profile anzeigen
Ja Very Happy ganz genau so Very Happy werden diese Farbwerte bei der vorliegenden Exportfunktion auch mitgespeichert? Wenn nciht wäre dies irgendwie möglich?

Und falls ja wo werden Sie gespeichert?

THX Smile
Kostenloser IPOD!!! http://ipods.freepay.com/?r=24919444

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group