Den gleichen Mesh einmal Laden und an bestimmten Koordinaten
Übersicht

ChronicleBetreff: Den gleichen Mesh einmal Laden und an bestimmten Koordinaten |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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... ![]() |
||
furbolg |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Du nutzt den Befehl falsch ...
Link: http://www.blitzbase.de/befehle3d/copyentity.htm |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group