Den gleichen Mesh einmal Laden und an bestimmten Koordinaten

Übersicht BlitzBasic Blitz3D

Neue Antwort erstellen

 

Chronicle

Betreff: Den gleichen Mesh einmal Laden und an bestimmten Koordinaten

BeitragSa, Okt 09, 2004 0:48
Antworten mit Zitat
Benutzer-Profile anzeigen
Hey leute!

Wollte mal folgendes fragen:
Bin immoment dabei ein 3D Strategie Game zu machen.
Nun aber folgendes Problem...
ich möchte einen Mesh(z.b. Baum) einmal laden und dann , ziemlich oft ^^ auf dem Bildschirm an verschiedenen Koordinaten ausgeben...
So richtig funktionieren tut das aber net... hier ist mal ein Code ( der cube soll der Baum sein)

Code: [AUSKLAPPEN]
Graphics3D 800,600,32
SetBuffer BackBuffer()

Global camera = CreateCamera()
Global cube   = CreateCube()

PositionEntity cube,0,0,10
PositionEntity camera,0,0,0

Global anzahl=0
Global info.wurfel

Type wurfel
Field Pos_x
Field Pos_y
Field Pos_z
End Type

Restore wurfel_level
Read anzahl   
For i = 1 To anzahl      
   info.wurfel = New wurfel   
   Read x, y, z         
   info\Pos_x = x      
   info\Pos_y = y
   info\Pos_z = z
Next

Repeat
SetBuffer BackBuffer()
Cls
If KeyDown(1) Then End

;For info.wurfel = Each wurfel
;   PositionEntity cube,info\pos_x,info\pos_y,info\pos_z
;Next
   
UpdateWorld
RenderWorld
Flip
Forever

.wurfel_level
Data 1
Data 0,0,10


nun... wenn ich die 3 ";" weglassen würde würde ich nich einen einzigen Cube sehen obwohl unten die Z Koordinate ja 10 is...

Ähhm wie mache ich das nun am besten?!

Ich möchte:
1. Den mesh einmal Laden
2. Dann an den angegebenen Data koordinaten ausgeben

Aber selbst wenn würde dieser code nicht dazu führen, das der mesh "Cube" nur verschoben wird und kein neuer erstellt wird?!

cih verstehs net... Crying or Very sad
 

furbolg

BeitragSa, Okt 09, 2004 1:19
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi !

Du verschiebst das Mesh nur, du musst eine Copy per CopyEntity erstellen damit du mehrere Rendern kannst. CopyEntity kopiert nich das ganze Mesh, es ist bloss eine weitere Instance mit Position und Farbe. Die Vertexdaten werden nur 1x geladen. (anders als bei CopyMesh)
 

Chronicle

BeitragSa, Okt 09, 2004 2:16
Antworten mit Zitat
Benutzer-Profile anzeigen
Gut gut nun folgendes:

Code: [AUSKLAPPEN]

Graphics3D 1024,768,32
SetBuffer BackBuffer()

Global camera = CreateCamera()
Global Mesh_Baum = LoadMesh("Baum.3ds")
Global Mesh_Boden = LoadMesh("boden.3ds")
Global baumemachen = False
Global grass_textur = LoadTexture("grass.bmp")
Global baum_textur  = LoadTexture("baum.bmp")
PositionEntity Mesh_Baum,20,0,20
EntityTexture Mesh_Boden,grass_textur
EntityTexture Mesh_Baum,baum_textur
PositionEntity Mesh_Boden,0,0,0
PositionEntity camera,0,70,0
ScaleEntity Mesh_Baum,0.02,0.02,0.02
TurnEntity camera,45,0,0
Global anzahl_baeume=0
Global info.baum

Type baum
   Field Pos_x
   Field Pos_y
   Field Pos_z
End Type

Restore baeume_karte
Read anzahl_baeume   
For i = 1 To anzahl_baeume   
   info.baum = New baum   
   Read x1, y1, z1         
   info\Pos_x = x1      
   info\Pos_y = y1
   info\Pos_z = z1
Next

Repeat
SetBuffer BackBuffer()
Cls
If KeyDown(1) Then End

   
If KeyDown(208) Then
MoveEntity camera,0,-3,-3
EndIf

If KeyDown(200) Then
MoveEntity camera,0,3,3
EndIf

If KeyDown(205) Then
MoveEntity camera,3,0,0
EndIf

If KeyDown(203) Then
MoveEntity camera,-3,0,0
EndIf

If baumemachen = False Then
For info.baum = Each baum
   CopyEntity (Mesh_Baum)
   PositionEntity Mesh_Baum,info\pos_x*10,info\pos_y*10,info\pos_z*10
   EntityTexture Mesh_Baum,baum_textur
Next
baumemachen = True
EndIf

UpdateWorld
RenderWorld
Text 0,0,"Fight of Reanimation"
Flip
Forever

.baeume_karte
Data 22
Data 0,0,0
Data 0,0,1
Data 1,0,0
Data 2,0,0
Data 3,0,0
Data 4,0,0
Data 5,0,0
Data 1,0,1
Data 2,0,1
Data 3,0,1
Data 4,0,1
Data 5,0,1
Data -1,0,0
Data -2,0,0
Data -3,0,0
Data -4,0,0
Data -5,0,0
Data -1,0,1
Data -2,0,1
Data -3,0,1
Data -4,0,1
Data -5,0,1


Ich bekomme keine Textur *heul* obwohl sich die Textur im Verzeichnis befindet und auch im 3D Programm dem Objekt zugefügt wurde...
 

furbolg

BeitragSa, Okt 09, 2004 3:38
Antworten mit Zitat
Benutzer-Profile anzeigen
Du nutzt den Befehl falsch ...

Link: http://www.blitzbase.de/befehle3d/copyentity.htm

Neue Antwort erstellen


Übersicht BlitzBasic Blitz3D

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group