website logo
Auteur
avatar
thellier

Forum » » Création-Développement » » Map 3D


Posté : 07-08-2012 11:03 icone du post

Hello

je dirai que le plus simple c'est de faire ça comme un jeu d'échec vu de coté=
Tu fais un tableau genre tab1[100][100]
Pour chaque case tu stocke un numéro d'objet 3D à afficher
Genre si c'est 1 t'affiche une porte,2 un mur etc...
tu fais un 2 éme tableau de même taille ou tu stocke les coordonnées x y z des cases de l'échiquier
for(m=0;m<100;m++)
for(n=0;n<100;n++)
{
tab2[m][n].x=(n-50)*20;
tab2[m][n].y=0;
tab2[m][n].z=(m-50)*20;
}
Note: je fais -50 pour que le tableau soit centré à 0 0
et je multiplie par 20 (par exemple) = dimension des cases de l'échiquier

Tu transforme ce tableau (les x y z) selon le point de vue de l'observateur (genre rotation en Y)
Ensuite tu affiche tout les objets dont les cases sont dans l'écran
cad 0<=x ,x<640 ,0<=y,y<480
en transformant ces objets de la même manière (genre rotation en Y)
à leur position x y z respectives

Voilà l'idée


Alain

Cet article provient de Le site des utilisateurs francophones actuels et futurs d'AmigaOS 4.x
https://amiga-ng.org/viewtopic.php?topic=1348&forum=14