Mesh2BB Converter. von ShadowTurtle
Hallo.

Dieses kleine Programm Konvertiert einen Mesh zu einer BlitzBasic (also *.BB) Datei.

Man kann das Generierte Mesh dann mit [color=blue:a0422c9493]Mein_Mesh = [/color:a0422c9493][color=red:a0422c9493]CreateMesh_[/color:a0422c9493][color=blue:a0422c9493][Meshname][/color:a0422c9493][color=red:a0422c9493]()[/color:a0422c9493] generieren lassen.

Das nächste Feature das (vieleicht) folgen wird, dass bei [color=red:a0422c9493]CreateMesh_[/color:a0422c9493][color=blue:a0422c9493][Meshname][/color:a0422c9493] auch die passente Textur dazu generiert wird. Vieleicht sogar auch mit Animationen.

Hier ist nun der Code dazu:
[code:1:a0422c9493]Global ModelFile$ = "gluehbirne.3ds"
Global BlitzFile$ = "gluehbirne.bb"
Global FunctionN$ = "Light"

Graphics3D 800,600,16,2

Mesh = LoadMesh(ModelFile$) : If Not Mesh Then RuntimeError ModelFile$ + " not found."

MakeFile = WriteFile(BlitzFile$)
WriteLine MakeFile, "; Make with Mesh to BlitzBasic code Converter."
WriteLine MakeFile, "; Original File: " + ModelFile$
WriteLine MakeFile, ""
WriteLine MakeFile, "Function CreateMesh_"+FunctionN$+"()"
WriteLine MakeFile, " Mesh = CreateMesh()"
For S = 1 To CountSurfaces(Mesh)
WriteLine MakeFile, " SurfaceTemp = CreateSurface(Mesh)"
Surface = GetSurface(Mesh,S)
For KK = 0 To CountVertices(Surface) - 1
X$=Replace$(Str$(VertexX#(Surface,KK)),"e","")
Y$=Replace$(Str$(VertexY#(Surface,KK)),"e","")
Z$=Replace$(Str$(VertexZ#(Surface,KK)),"e","")
U$=Replace$(Str$(VertexU#(Surface,KK)),"e","")
V$=Replace$(Str$(VertexV#(Surface,KK)),"e","")
W$=Replace$(Str$(VertexW#(Surface,KK)),"e","")
NX$=Replace$(Str$(VertexNX#(Surface,KK)),"e","")
NY$=Replace$(Str$(VertexNY#(Surface,KK)),"e","")
NZ$=Replace$(Str$(VertexNZ#(Surface,KK)),"e","")
WriteLine MakeFile, " AddVertex SurfaceTemp,"+X$+","+Y$+","+Z$+","+U$+","+V$+","+W$+":VertexNormal SurfaceTemp,"+KK+","+NX$+","+NY$+","+NZ$
Next
UUK$="":LLA=0
For T = 0 To CountTriangles(Surface)-1
TV0$=Replace(Str$(TriangleVertex(Surface,T,0)),"e","")
TV1$=Replace(Str$(TriangleVertex(Surface,T,1)),"e","")
TV2$=Replace(Str$(TriangleVertex(Surface,T,2)),"e","")
UUK$=UUK$+"AddTriangle SurfaceTemp,"+TV0$+","+TV1$+","+TV2$+":"
If LLA>CountTriangles(Surface)/50 Then
WriteLine MakeFile, " "+UUK$:UUK$="":LLA=0
End If
LLA=LLA+1
Next
WriteLine MakeFile, " "+Mid$(UUK$,1,Len(UUK$)-1)
If Not S=CountSurfaces(Mesh) Then WriteLine MakeFile, ""
Next

WriteLine MakeFile, " Return Mesh"
WriteLine MakeFile, "End Function"
CloseFile(MakeFile)[/code:1:a0422c9493]

Viel Spaß noch.

MfG ShadowTurtle
===
von ???
aha, dass ist er also. schickes tool, könnt man für gewissen sachen gebrauchen. gut gemacht! :wink:

(hehe, du lädst ja mein glühbirnen model *gg)
===
von ???
Hi.

"Manche sachen braucht man einfach". :)

MfG ShadowTurtle



Suche:
(unterstützt mySQL Wildcards ala %)
Titel:
Text:
Autor: