Hallo

mein Kollege hat mich gestern auf seiner X-box 360
das Spiel "Minecraft" zocken lassen ...

ich war begeistert von der umsetzung und habe immer gedacht, dass es ein ganz einfaches Kinderspiel were
__________________________

nun möchte ich diese Technick gerne ins 3D gamestudio
umsetzen , nach langen googlen bin ich auf folgede große
Namen gestoßen:

CUBE_X und VOXEL

nach weiterem googlen hab ich das jetzt so verstanden:

ein Voxel ist ein Pixel mit Volumen welches in die
3te dimension positioniert und gezeichnet wird..

beim CubeX handelt es sich anscheind um ein Sammel-begrif
und ist ein bereits umgesetztes projeckt fürs 3d-GS

über edliche links bin ich dann auf ein Download gestoßen
und habe mir das project mal angeuckt ...

im verzeichnis "Code/cubeX.c" habe ich dann folgendes gefunden:

Code:
BLOCK* block_create(VECTOR* pos, BLOCK_MATERIAL* material)
{
 ...
 // GANZ VIEL CODE !!!! 
 ...
}



und dann plötzlich:

weiter unten die zusammensetzung:
Code:
function block_createTop(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->top)
		return;
	block->top = ent_create(material->top,vector(pos->x,pos->y,pos->z + BLOCK_SIZE_HALF),NULL);
	set(block->top,DECAL | NOFILTER);
	reset(block->top,DYNAMIC);
	block->top->tilt = 90;
	block->top->skill[0] = block;
}

function block_createBottom(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->bottom)
		return;
	block->bottom = ent_create(material->bottom,vector(pos->x,pos->y,pos->z - BLOCK_SIZE_HALF),NULL);
	set(block->bottom,DECAL | NOFILTER);
	reset(block->bottom,DYNAMIC);
	block->bottom->tilt = -90;
	block->bottom->skill[0] = block;
}

function block_createRight(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->right)
		return;
	block->right = ent_create(material->right,vector(pos->x,pos->y - BLOCK_SIZE_HALF,pos->z),NULL);
	set(block->right,DECAL | NOFILTER);
	reset(block->right,DYNAMIC);
	block->right->pan = -90;
	block->right->skill[0] = block;
}

function block_createLeft(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->left)
		return;
	block->left = ent_create(material->left,vector(pos->x,pos->y + BLOCK_SIZE_HALF,pos->z),NULL);
	set(block->left,DECAL | NOFILTER);
	reset(block->left,DYNAMIC);
	block->left->pan = 90;
	block->left->skill[0] = block;
}

function block_createFront(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->front)
		return;
	block->front = ent_create(material->front,vector(pos->x + BLOCK_SIZE_HALF,pos->y,pos->z),NULL);
	set(block->front,DECAL | NOFILTER);
	reset(block->front,DYNAMIC);
	block->front->skill[0] = block;
}

function block_createBack(BLOCK* block,BLOCK_MATERIAL* material,VECTOR* pos)
{
	if(block->back)
		return;
	block->back = ent_create(material->back,vector(pos->x - BLOCK_SIZE_HALF,pos->y,pos->z),NULL);
	set(block->back,DECAL | NOFILTER);
	reset(block->back,DYNAMIC);
	block->back->pan = 180;
	block->back->skill[0] = block;
}



usw ... usw ... usw...


FRAGE:

wie bekomme ich das ganze denn jetzt in die 3te
Dimension ????????

immer wieder erscheint der befehl:
Code:
"ent_create"



- ent_create lässt aber eigendlich nur 1000 entits zu
(ich benutze die A8 Gratis version)

ich möchte gerne wissen wie man das ganze
ohne den ganzen material-kram verwirklicht

so das einfach nur weisse blöcke zu sehn sind ...

Warum das ganze ???

-> erstelle ich 3 Cubes (.mdl) die nebeneinander
liegen hat jeder Cube schatten , licht ect.

Sprich: Man sieht einfach das, das erstellte
object aus 3 cubes gemacht worden ist

hier:





sind also in 3d-gs erstelle voxels auch nur Entitys ??

ich will das wissen weil ich da was bestimmtes vor habe wink
...