3d tiles - wie ?
Übersicht

![]() |
BlitzproggerBetreff: 3d tiles - wie ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich programmiere ein kleines Spiel für das ich 3d-Tiles habe (32 x 16 x 32 Tiles). Diese haben eine ID 1 bis x, wobei 0 für "Kein Modell an dieser Stelle steht". Die IDs werden in eine Datei mittels:
Code: [AUSKLAPPEN] file = WriteFile ("Data\Maps\"+dat$+".txt")
gespeichert.
For x = 0 To 31 : For y = 0 To 15 : For z = 0 To 31 WriteInt file,map (x,y,z) Next : Next : Next Später werden die IDs wieder eingelesen. Doch wie kriege ich die Map nun hin das alle Tilemeshes nun an den richtigen Stellen stehen? (alle 10 x 10 x 10 Felder) Alle meine Versuche haben nicht funktioniert? mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wie hast du es denn versucht? PositionEntity![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe zwei Dim Felder: tile und map.
tile (64) ist ein Feld in das die Tilemeshes geladen werden. In einem Ordner habe ich die Meshes (mit Namen 1 - x). Geladen wird wie folgt: Code: [AUSKLAPPEN] Function loadtiles ()
file = ReadDir ("Data\Gfx\Tiles") Repeat dat$ = NextFile (file) If Right (dat$,4) = ".b3d" Then dat$ = Replace (dat$,".b3d","") tile (Int(dat$)) = LoadMesh ("Data\Gfx\Tiles\"+dat$+".b3d") EndIf Until dat$ = "" CloseDir file tile (0) = 0 ;sollte bedeuten: hat kein Mesh (hoffe es ist richtig) End Function map steht für die ID des Meshes an der Position x*10,y*10,z*10. mapmesh ist ein Mesh, das mittels Createmesh () erstellt wurde. Dieses Mesh wird zusammengesetzt wie folgt: Code: [AUSKLAPPEN] Function redomap ()
If mapmesh <> 0 Then FreeEntity mapmesh mapmesh = CreateMesh () For x = 0 To 31 : For y = 0 To 15 : For z = 0 To 31 If map (x,y,z) > 0 Then PositionEntity tile (map (x,y,z)),x*10,y*10,z*10 AddMesh tile (map (x,y,z)),mapmesh EndIf Next : Next : Next End Function Resultat im Spiel: Alle Tilemeshes an der gleichen Position, abseits davon nichts. mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich glaube, du musst die Geometrie des Objekts verschieben; Benutze mal PositionMesh![]() ![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Geht leider immernoch nicht. ![]() neuer Code: [AUSKLAPPEN] Function redomap ()
If mapmesh <> 0 Then FreeEntity mapmesh mapmesh = CreateMesh () For x = 0 To 31 For y = 0 To 15 For z = 0 To 31 If map (x,y,z) > 0 Then newmesh = CopyMesh (tile (map (x,y,z))) PositionMesh newmesh,x*10,y*10,z*10 AddMesh newmesh,mapmesh EndIf Next Next Next End Function Edit: Falls es euch hilft: Mit 3D Tiles meine ich ein Baukastensystem ähnlich wie in den TrackMania Spielen. |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Puhh...
Habe es geschafft ![]() Es ging als ich ein Dim Feld erstellte das die Meshes an der gegebenen Positon speichert. Anstatt vorhandene Meshes zu kopieren wird jetzt halt ein paar mal das Mesh aus dem Ordner geladen. Nicht optimal wie ich finde, aber es funktioniert. Danke für die Hilfe. mfg |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group