Accueil | Personnaliser | Blog | Extras | Log In | Information
Manuel | D&D icons | GML Parser | Archives | Ville Iso
Username: Password:  
à propos | Caractéristiques | Directory | Bannières | Contacter

Création de jeux avec Game Maker
Création de jeux avec Game Maker

Création de modèles

Lorsque vous avez besoin de dessiner de grands modèles, il est très coûteux d'invoquer sans cesse les différentes fonctions de dessin à chaque step. Afin d'éviter cela, vous avez la possibilité de créer des modèles. Un modèle est constitué d'un certain nombre de primitives de dessin et de formes. Dès qu'un modèle est créé, vous pouvez le dessiner à différents endroits en utilisant juste un seul appel de fonction. Un modèle peut également être chargé à partir d'un fichier ou sauvegardé dans un fichier.

Avant de décrire les différentes fonctions disponibles, il y a un chose importante à connaître : la gestion des textures. Comme décrit plus en avant, les textures sont créées à partir de sprites et d'arrière-plans. Les indices des textures peuvent être différents à certains moments. En conséquence, les modèles ne contiennent aucune information sur les textures. C'est seulement quand vous afficherez le modèle que vous indiquerez la texture. Aussi, vous ne pouvez utiliser qu'une texture par modèle. Si vous souhaitez disposer de plus de textures, vous devrez soit les combiner en une seule (et être très prudent avec les coordonnées de la texture) ou utiliser plusieurs modèles. L'avantage de ceci est que vous pourrez dessiner aisément le même modèle avec différentes textures.

Les fonctions suivantes existent et permettent la création, le chargement, la sauvegarde et l'affichage des modèles :

d3d_model_create() Créé un nouveau modèle puis retourne son index. Cet index sera à utiliser dans toutes les autres fonctions ayant trait aux modèles.
d3d_model_destroy(ind) Détruit le modèle d'index ind, libérant la mémoire occupée par ce dernier.
d3d_model_clear(ind) Efface le modèle d'index ind, supprimant ainsi toutes ses primitives.
d3d_model_save(ind, fname) Sauvegarde le modèle ind sous le nom de fichier fname.
d3d_model_load(ind, fname) Charge le modèle ind à partir du fichier de nom fname.
d3d_model_draw(ind, x, y, z, texid) Affiche le modèle à la position (x,y,z). texid correspond à la texture devant être utilisée. Utilisez la valeur -1 si vous ne souhaitez pas utiliser de texture. Si vous désirez effectuer une rotation ou mettre à l'échelle le modèle, vous pourrez utilisez les routines de transformation décrites précédemment.

Pour chaque fonction primitive, il existe une fonction équivalente pour l'ajouter à un modèle. Les fonctions possédent les mêmes arguments comme auparavant excepté que chacune a comme premier argument l'index du modèle et aucune information de texture n'est nécessaire.

d3d_model_primitive_begin(ind, kind) Ajoute une primitive 3D au modèle de type kind: pr_pointlist, pr_linelist, pr_linestrip,pr_trianglelist,pr_trianglestrip ou pr_trianglefan.
d3d_model_vertex(ind, x, y, z) Ajoute un sommet (x,y,z) au modèle.
d3d_model_vertex_color(ind, x, y, z, col, alpha) Ajoute un sommet (x,y,z) au modèle, avec sa propre couleur et valeur alpha.
d3d_model_vertex_texture(ind, x, y, z, xtex, ytex) Ajoute un sommet (x,y,z) au modèle à la position (xtex,ytex) de la texture.
d3d_model_vertex_texture_color(ind, x, y, z, xtex, ytex, col, alpha) Ajoute un sommet (x,y,z) au modèle avec des valeurs de texture et de couleur.
d3d_model_vertex_normal(ind, x, y, z, nx, ny, nz) Ajoute un sommet (x,y,z) au modèle, avec un vecteur normal (nx,ny,nz).
d3d_model_vertex_normal_color(ind, x, y, z, nx, ny, nz, col, alpha) Ajoute un sommet (x,y,z) au modèle, avec un vecteur normal (nx,ny,nz) et avec sa propre couleur et valeur alpha.
d3d_model_vertex_normal_texture(ind, x, y, z, nx, ny, nz, xtex, ytex) Ajoute un sommet (x,y,z) au modèle, avec un vecteur normal (nx,ny,nz), avec une position de texture.
d3d_model_vertex_normal_texture_color(ind, x, y, z, nx, ny, nz, xtex, ytex, col, alpha) Ajoute un sommet (x,y,z) au modèle, avec un vecteur normal (nx,ny,nz), avec des valeurs de texture et de couleur.
d3d_model_primitive_end(ind) Termine la description de la primitive du modèle.

En dehors des primitives, vous pouvez également ajouter des formes de base aux modèles. A nouveau, les fonctions sont presque les mêmes mais disposent d'un index de modèle et n'ont pas d'information de texture :

d3d_model_block(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Ajoute une forme bloc au modèle.
d3d_model_cylinder(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, closed, steps) Ajoute une forme cylindre au modèle.
d3d_model_cone(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, closed, steps) Ajoute une forme cône au modèle.
d3d_model_ellipsoid(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat, steps) Ajoute une forme ellipse au modèle.
d3d_model_wall(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Ajoute une forme mur au modèle.
d3d_model_floor(ind, x1, y1, z1, x2, y2, z2, hrepeat, vrepeat) Ajoute une forme plancher au modèle.

L'utilisation de modèles peut améliorer considérablement la vitesse d'affichage des graphiques dans vos jeux 3D et vous devriez les utiliser le plus souvent possible.










<< Traduction française par Philippe Ragni - (2005) >>

Search Search


Alternative versions Alternative versions

You can also read this manual on one single long page (± 1.5 mb)

Also available in: Dutch English German

ZIP Download helpfile

Annonces Annonces

GameMaker Manual