Mesh speichern aber wie?

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

DoomMaster

Betreff: Mesh speichern aber wie?

BeitragSo, Feb 29, 2004 11:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo

ich erstelle meine lvl`s mit nem in blitz selbstgeschriebenen editor aber wie soll ich sie jetzt abspeichern? gibt es da schon eine function oder einen Beispielcode?

schon mal thx für eure Hilfe

Wild-Storm

BeitragSo, Feb 29, 2004 11:07
Antworten mit Zitat
Benutzer-Profile anzeigen
schau bei den codearchives auf www.blitzbasic.com
Visit http://www.next-dimension.org
-------------------------------------------------
Freeware Modelle, Texturen & Sounds:
http://www.blitzforum.de/forum...hp?t=12875
 

lettorTrepuS

BeitragSo, Feb 29, 2004 13:59
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.
 

DoomMaster

BeitragSo, Feb 29, 2004 14:06
Antworten mit Zitat
Benutzer-Profile anzeigen
ja das ist ja alles schön und gut aber da hab ich noch das prob das nie die textur und farbe mit gespeichert wird
 

lettorTrepuS

BeitragSo, Feb 29, 2004 14:15
Antworten mit Zitat
Benutzer-Profile anzeigen
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger.

Markus2

BeitragSo, Feb 29, 2004 18:06
Antworten mit Zitat
Benutzer-Profile anzeigen
Könnte so aussehen ...
ist mein eigenes Format ...

Code: [AUSKLAPPEN]

Function B3DEntityWrite(B3DE.B3DEntityTYPE,fh)

 ;MR 08.01.2003

 ;Private Sub for B3DSaveEntityV13

  Local mesh=B3DE\Entity

  If mesh=0 Then Return 0

  Local s,c0,c1,c2,c3

   ;---------------------------------------------------
 
   WriteString fh,"NAME"             ;NAME is the Start of a new Entity !
   WriteString fh,EntityName(mesh)

   DebugLog "SURFACES"
   WriteString fh,"SURFACES"
   DebugLog "CountSurfaces INT "+CountSurfaces (mesh)
   WriteInt fh,CountSurfaces (mesh)
   If CountSurfaces (mesh)=>1 Then
   For c1=1 To CountSurfaces(mesh)
    s=GetSurface (mesh,c1)       

    If CountVertices(s)=0 Then
     DebugLog "SURFACEDELETED"
     WriteString fh,"SURFACEDELETED"  ;Keine Vertices dann SurfaceDeleted schreiben weil Count immer noch alle zeigt !?
    EndIf   

    If CountVertices(s)=>1 Then   

    DebugLog "SURFACE"
    WriteString fh,"SURFACE"  ;Surface nur schreiben wenn auch Vertices da sind !!!
    DebugLog "Vertices INT "+CountVertices(s)
    WriteInt fh,CountVertices(s)

    DebugLog "BRUSH"
    WriteString fh,"BRUSH"

    B3DFindBrushByNr B3DE\Surface[c1]

    DebugLog "Brushname "+B3DBrush\Name$
    WriteString fh,B3DBrush\Name$
    DebugLog "Path  "+B3DBrush\Path$
    WriteString fh,B3DBrush\Path$
    DebugLog "File  "+B3DBrush\FileName$
    WriteString fh,B3DBrush\FileName$

    For c2=0 To CountVertices(s)-1
     DebugLog "VERTEX"
     WriteString fh,"VERTEX"
     WriteFloat fh,VertexX(s,c2) ;Position
     WriteFloat fh,VertexY(s,c2)
     WriteFloat fh,VertexZ(s,c2)
     WriteFloat fh,VertexNX(s,c2) ;Normal
     WriteFloat fh,VertexNY(s,c2)
     WriteFloat fh,VertexNZ(s,c2)
     WriteFloat fh,VertexU(s,c2) ;Texture     
     WriteFloat fh,VertexV(s,c2)
     WriteFloat fh,VertexW(s,c2)
     WriteFloat fh,VertexRed  (s,c2) ;Farbe
     WriteFloat fh,VertexGreen(s,c2)
     WriteFloat fh,VertexBlue (s,c2)
    Next

    DebugLog "Triangles INT "+CountTriangles(s)
    WriteInt fh,CountTriangles(s)

    If CountTriangles(s)=>1 Then   
     For c3=0 To CountTriangles(s)-1
      DebugLog "TRIANGLE"
      WriteString fh,"TRIANGLE"
      WriteInt fh,TriangleVertex(s,c3,0)
      WriteInt fh,TriangleVertex(s,c3,1)
      WriteInt fh,TriangleVertex(s,c3,2)
     Next
    EndIf ;CountTriangles=>1

    EndIf ;CountVertices=>1

   Next
   EndIf ;CountSurfaces=>1
 
   ;>--------------------------------------------------------------------> ADDON

   WriteString fh,"ADDON"
    WriteInt fh,12

   WriteString fh,"POSITION"
     WriteFloat fh,EntityX(mesh,True)
     WriteFloat fh,EntityY(mesh,True)
     WriteFloat fh,EntityZ(mesh,True)

   WriteString fh,"PYR"
     WriteFloat fh,EntityPitch(mesh,True)
     WriteFloat fh,EntityYaw(mesh,True)
     WriteFloat fh,EntityRoll(mesh,True)
 
   WriteString fh,"FX"
     WriteInt fh,B3DEntityFxGet(B3DE)

   WriteString fh,"MESHFLIP"
     If B3DE\MeshFlip Then WriteInt fh,1 Else WriteInt fh,0

   WriteString fh,"COLOR"
     WriteInt(fh),B3DE\ColRed
     WriteInt(fh),B3DE\ColGreen
     WriteInt(fh),B3DE\ColBlue

   WriteString fh,"BLEND"
     WriteInt(fh),B3DE\Blend ;0-3

   WriteString fh,"SHININESS"
     WriteFloat(fh),B3DE\Shininess# ;0-1

   WriteString fh,"ALPHA"
     WriteFloat(fh),B3DE\Alpha# ;0-1

   WriteString fh,"AUTOFADE"
     WriteInt(fh),B3DE\AutoFade
     WriteFloat(fh),B3DE\AutoFadeNear#
     WriteFloat(fh),B3DE\AutoFadeFar#

   WriteString fh,"ORDER"
     WriteInt(fh),B3DE\Order ;0 = Normal

   WriteString fh,"TAG"
    WriteString fh,B3DE\Tag$

   WriteString fh,"TYP"
    WriteString fh,B3DE\Typ$

   WriteString fh,"ADDONEND"

   ;<--------------------------------------------------------------------<

   Return True

End Function

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group