2 registered members (Akow, tomaslolo),
1,536
guests, and 12
spiders. |
Key:
Admin,
Global Mod,
Mod
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: Kartoffel]
#429222
09/10/13 11:36
09/10/13 11:36
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
boa !!:D da were ich nie im leben drauf gekommen , ersteinmal 1000 dank dafür ich zerflück den voxel / die Struckt jetzt solange bist ich ihn genau versehe danke dir mal wieder
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: ratz]
#429223
09/10/13 11:40
09/10/13 11:40
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
noch als erklärung
mit dem VOXEL * VoxelStructure[16][16]; wird eine liste aus 16x16 pointern erstellt.
das problem war, dass die pointer noch leer waren. man musste erst für jeden pointer speicher allokieren (<pointer> = sys_malloc()), und zwar mit der größe, die der struct (VOXEL) umfasst (sizeof(VOXEL))
...pointer können ziemlich nervern und sind auch nicht so leicht zu verstehen.
POTATO-MAN saves the day! - Random
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: Kartoffel]
#429224
09/10/13 11:46
09/10/13 11:46
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
eins hab ich auch noch ... ich glaub ich bekomm alles kaputt ich wollte gerade nur die richtigen texturen test.1.bmp mit anderen ersetzen und wieder ausführen .... jetzt geht garnichts mehr es kommt: not enought entites reservet (2000) dann habe ich auf 4000 gesetzt und die gleiche meldung kommt: not enought entites reservet (4000) ich hab nur auf for(x = 0; x < 32; x++) { for(y = 0; y < 32; y++) { gesetzt -> auf 16 tuts es
Last edited by ratz; 09/10/13 11:49.
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: ratz]
#429227
09/10/13 11:48
09/10/13 11:48
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
den speicher darfst du erst wieder freigeben wenn du die pointerstruktur leeren willst. ...und wenn, dann mit sys_free poste mal deinen code.
POTATO-MAN saves the day! - Random
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: Kartoffel]
#429229
09/10/13 11:51
09/10/13 11:51
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
ja es lag an der 32 habs
Last edited by ratz; 09/10/13 12:51.
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: Kartoffel]
#429233
09/10/13 12:04
09/10/13 12:04
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
ja weil meine texturen 32x32 sind , hab ich da versucht was zu ändern ... ich hab jetzt 16x16 gemacht und trotzdem kommt das ergebniss raus wenn ich die alten werte eintrage im vector dann sind die gannnz weit auseinander mit unregelmäßigen abstand am code habe ich jetzt nichts verändert
Last edited by ratz; 09/10/13 12:05.
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: ratz]
#429236
09/10/13 12:10
09/10/13 12:10
|
Joined: Jun 2009
Posts: 2,210 Bavaria, Germany
Kartoffel
Expert
|
Expert
Joined: Jun 2009
Posts: 2,210
Bavaria, Germany
|
ändere die voxel_size, dafür ist die ja extra da hab jetzt mal die standartgröße von 16 genommen (CUBEL_MDL ist genauso groß) wenn deine sprites größer sind, muss du das natürlich anpassen. edit: außerdem seh ich, dass du keine offsets hast, die müssen auf die position draufgerechnet werden.
Last edited by Kartoffel; 09/10/13 12:15.
POTATO-MAN saves the day! - Random
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: Kartoffel]
#429246
09/10/13 12:38
09/10/13 12:38
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
ja ... ich hab alle offsets beachtet und verändert endlich ... und nochmals danke voxel_size hab ich auf 35 gestellt , da es sonst stark flackert wenn man sich dich dn boden bewegt und so sieht man mehr ^^
Last edited by ratz; 09/10/13 12:39.
|
|
|
Re: Voxel fürs 3d Gamestudio
[Re: ratz]
#429250
09/10/13 12:49
09/10/13 12:49
|
Joined: Oct 2008
Posts: 341
ratz
OP
Senior Member
|
OP
Senior Member
Joined: Oct 2008
Posts: 341
|
achja ... hier der code
#include <acknex.h>
#include <default.c>
//
var voxel_size = 32; // hier 35 für den abstand ;)
typedef struct VOXEL
{
ENTITY * front; // x-
ENTITY * back; // x+
ENTITY * left; // y+
ENTITY * right; // y-
ENTITY * top; // z+
ENTITY * bottom; // z-
} VOXEL;
VOXEL * VoxelStructure[16][16]; // 2D array
void create_voxels()
{
int x, y;
for(x = 0; x < 18; x++)
{
for(y = 0; y < 18; y++)
{
VoxelStructure[x][y] = sys_malloc(sizeof(VOXEL));
VoxelStructure[x][y].front = ent_create("test1.bmp" , vector(voxel_size * x+42, voxel_size * y, 0), NULL); // seite erstellen
VoxelStructure[x][y].front.pan = 180;// winkel setzen
VoxelStructure[x][y].back = ent_create("test2.bmp" , vector(voxel_size * x+10, voxel_size * y, 0), NULL); // seite erstellen
VoxelStructure[x][y].back.pan = -180; // winkel setzen
VoxelStructure[x][y].left = ent_create( "test3.bmp" , vector(voxel_size * x+26, voxel_size * y+16, 0), NULL); // seite erstellen
VoxelStructure[x][y].left.pan = 90; // winkel setzen
VoxelStructure[x][y].right = ent_create( "test3.bmp", vector(voxel_size * x+26, voxel_size * y-16, 0), NULL); // seite erstellen
VoxelStructure[x][y].right.pan = -90; // winkel setzen
VoxelStructure[x][y].top = ent_create( "test1.bmp", vector(voxel_size * x +26, voxel_size * y, 16), NULL); // seite erstellen
VoxelStructure[x][y].top.tilt = 90; // winkel setzen
//VoxelStructure[x][y].bottom = ent_create( "test1.bmp" , vector(voxel_size * x, voxel_size * y, 0), NULL); // seite erstellen
//VoxelStructure[x][y].bottom.xxx = ; // winkel setzen
}
}
}
void main()
{
wait(1);
video_set(sys_metrics(0) * 0.75, sys_metrics(1) * 0.75, 0, 2);
fps_max = 60;
max_entities = 4000;
level_load("test.WMB");
wait(1); // warten bis der level geladen ist, kann sonst probleme auf langsamen rechnern / großen leveln geben
create_voxels();
}
die textren sind 32x32 Bilder
Last edited by ratz; 09/10/13 12:50.
|
|
|
|