Ultimate 3D 2.1 Package d'extensions Game Maker

Le package d'extension pour Ultimate 3D, qui peut être obtenu depuis Ultimate3D.org (Ndt : http://u3d.gamemaker.fr/download/U3DGEX.zip), offre toutes les fonctionnalités requises pour utiliser Ultimate 3D avec Game Maker 7.0. Pour être plus précis il contient la dll Ultimate3D.dll, toutes les fonctions qui sont expliquées dans ce fichier d'aide et deux librairies d'actions. Son utilisation peut faciliter le travail avec Ultimate 3D et en rend l'utilisation plus confortable.

Avertissement: Le package d'extension est vraiment nouveau et, par conséquent, il n'a pas subi une longue phase de beta test, à l'instar de la version normale d'Ultimate 3D. Bein que j'ai testé tout les composants du package avec soin, il est probablement plus sûr d'utiliser la version normale. Vous devriez aussi noter que les gens qui n'ont pas installé l'extension ne seront pas à même de voir vos fichiers de projet correctement, si vous l'avez installée. 


Premier pas avec l'extension

Il y a de nombreuses choses dont Ultimate 3D a toujours besoin, qui ne peuvent êtres incluses dans le package d'extension. Pour cette raison le package d'extension est distribué avec un BasicGEX.gmk, qui contient ces choses. Il est évident que la première chose que vous devez faire pour être à même d'utiliser l'extension est de l'installer, au travers de l'extension package manager de Game Maker. Une fois que ce sera fait, le BasicGEX.gmk fonctionnera et affichera les mêmes choses que  BasicGM7.gmk du SDK. Vous devriez baser vos projets sur ce fichier. Si vous ne souhaitez pas faire ainsi, il vous faudra copier le script Ultimate3DOptions() depuis le fichier BasicGEX.gmk vers votre projet et vous devrez définir la première room correctement (comme expliqué dans Commençons par le début). 

 

Les librairies d'actions

Les librairies d'actions offrent un accès à la plupart des fonctionnalités basiques de la partie novice d'Ultimate 3D. Ne vous attendez pas à aller très loin avec elles. Utiliser ces librairies intuitives et ergonomiques ne compense pas une étude approfondie de ce fichier d'aide. Ne vous attendez pas à être à même d'utiliser Ultimate 3D sans être capable d'écrire du code en GML. Les librairies d'action peuvent vous économiser certains travaux qui sont requis vraiment souvent (comme Step() et Destroy()), mais elles ne sont pas pensées pour permettre l'accès à toutes les fonctionnalités d'Ultimate 3D et elles ne doivent pas le faire.

Il y a deux librairies, la première nommée U3D main, et la seconde nommée U3D misc. U3D main contient de nombreuses actions pour gérer les objets, les créer et changer l'environnement. U3D misc. contient des actions pour modifier et transformer les objets, pour dessiner des graphismes 2D et bien plus encore. Ce qui suit est une explication de chaque action.


U3D main

LoadTexture.png Load texture
Cette action charge une texture à partir d'un fichier donné et l'associe avec un indice de texture. Pour plus d'informations consulter la description de LoadTexture(...).

Step.png Step
Ultimate 3D associe des objets Ultimate 3D (ex: un seul mur, un seul panneau ou un seul modèle) avec les instances des objets Game Maker. Ces objets Game Maker ont de nombreux variables qui peuvent être utilisées pour modifier les objets Ultimate 3D. Cette action transmet les données de ces variables à Ultimate 3D. Elle devrait être placée dans l'évènement step pour chacun des objets Game Maker, qui sont associés avec un objet Ultimate 3D, à moins que ce ne soit une caméra. Cette action correspond à Step(). 

Destroy.png Destroy
Cela détruit l'objet Ultimate 3D qui est associé avec l'objet Game Maker. Afin que les objets Ultimate 3D soient supprimés lorsque les instances qui y sont associées le sont, vous devriez placer cela dans l'évènement destroy de chacun des objets Game Maker qui est associé avec un objet Ultimate 3D. Cette action correspond à Destroy().

Camera.png Associate with primary camera
Défini certaines variables et associe cet objet avec la caméra primaire (1ère). Pour être plus précis, cette action définie les variables height et view au valeurs données, les variables de viewport (portée de la vue) en correspondance avec celles de la vue primaire de Game Maker, min_range à 1, max_range à 100000 et number à 0 et fini par appeller MoveCamera(...).  

MoveCamera.png Camera step
Cette action est l'équivalent de step pour les caméras. Elle transmet toutes les données, qui sont sauvées dans des variables, de l'instance de Game Maker à l'objet de caméra d'Ultimate 3D. Elle doit être placée dans l'évènement step d'un objet caméra. Cette action correspond à MoveCamera().

CreateWall.png Create wall
Cette action crée un mur de la position x, y, z à la position x + x2, y + y2, z+height avec la texture portant l'indice donné et l'associe avec cette instance de Game Maker. Il fait cela en définissant les variables x2, y2, height et texture et en appellant CreateWall() pour finir.

CreateFloor.png Create floor
Cette action crée un mur depuis la position x, y, z à la position x+width, y+height, z avec la texture portant l'indice donné, et associe ce mur avec cette instance de Game Maker. Elle fait cela en définissant les variables width, height et texture puis en appellant CreateFloor().

CreateCube.png Create cube
Cette action crée un cube à partir de la position x, y, z jusqu'à la position x+width, y+height,  z+depth avec la texture définie à l'indice donné et associe ce cube, à cette instance de Game Maker. Elle fait cela en définissant les variables width, height, depth2 et texture, puis en finissant par appeller CreateCube().

CreateBillboard.png Create billboard
Cette action crée un panneau (billboard), avec x, y, z pour origine, avec la largeur et la hauteur donnée, l'origine relative donnée du panneau et la texture avec l'indice donné et l'associe avec cette instance de Game Maker. Elle le fait en définissant les variables width, height, originx, originy et texture et en finissant par appeler Create2D().

CreateModel.png Create model
Cette action crée un objet de modèle à l'aide du fichier *.3ds, *.an8, *.md2, *.ms3d, *.u3d ou *.x donné et l'associe avec cette instance de Game Maker. Elle fait cela en définissant la variable file et en appellant LoadMesh().

CreateLightDirectional.png Create light directional
Cette action crée une source de lumière directionnelle avec la direction d'éclairage et la couleur de lumière donnée et associe cette source de lumière avec cette instance de Game Maker. Elle le fait en définissant les variables r, g, b, rotx et roty et en appellant LightDirectional().

CreateLightPoint.png Create light point
Cette action crée un point lumineux avec la portée et la couleur donnée, puis l'associe avec cette instance de Game Maker. Elle le fait en définissant les variables r, g, b et range, puis en appellant LightPoint().

CreateLightSpot.png Create spot light
Cette action crée une spot light, avec les direction d'éclairage donnée, la portée, l'angle d'éclairage et la couleur de lumière donnée, et l'associe avec l'instance actuelle de Game Maker. Elle se charge de cela en définissant les variables r, g, b, range, rotx, roty ainsi que deg, et en finissant par appeller LightPoint().

SetAmbient.png Set ambient lighting
Cette action modifie l'intensité et la couleur de l'éclairage ambiant. L'éclairage ambiant affecte tous les objets avec la même force, indépendamment de leur position. Cette action correspond à SetAmbient(...).

SetFog.png Set fog properties
Cette action met en place un brouillard avec la couleur donnée, qui débute à la distance de départ donnée et fini à la distance de fin donnée. À la distance de fin, tout aura la couleur du brouillard. C'est action correspond à SetFog(...).

DisableFog.png Disable fog
Cette action désactive complètement le brouillard. Elle correspond à DisableFog().

SetBackgroundColor.png Set solid background color
Cette action définit une couleur de background solide et désactive le skysphere/skycube, dans la mesure où ils étaient utilisés avant cela.

LoadBackground.png Load sky sphere
Cette action charge un skysphere d'un fichier image donné et l'utilise comme background. Cela correspond à LoadBackground(...).


U3D misc

Create3D.png Create instance 3D
Cette action étent l'action de création d'instance de Game Maker avec un paramètre additionel vous permettant de spécifier la position z de l'objet. Si relative est coché, les coordonnées seront interprétées de manière relative aux coordonnées de l'instance, cela signifie qu'elles seront additionnées.

Move.png Move through 3D angles
Cette action déplace l'objet dans l'espace en 3D en utilisant les angles. Pour plus d'informations à ce propos, lisez la description de la fonction Move(...).

Translate.png Move through 3D coordinates
Cette action déplace l'objet dans l'espace en 3D en utilisant les trois coordonnées données. Si relative n'est pas coché l'objet sera défini à la position donnée, autrement les coordonnées données seront ajoutées aux coordonnées actuelles. Cette action n'affectera pas l'objet Ultimate 3D, à moins que l'action step soit placée dans l'évènement step.

Rotate.png Rotate using Euler angles
Cette action fait pivoter l'objet en utilisant les trois angles d'Euler donnés.  Si relative n'est pas coché les variables rotx, roty et rotz de l'objet sont définies au valeurs données, autrement les angles donnés sont additionnés à rotx, roty et rotz. Cette action n'affectera pas l'objet Ultimate 3D tant que l'action step ne sera pas placée dans l'évènement step.

Scale.png Scale object
Cette action met l'objet à l'échelle avec le facteur donné. Tant que relative n'est pas coché scalx, scaly et scalz seront définies à la valeur spécifiée, autrement scalx, scaly et scalz seront multipliées par les valeurs données. Cette action n'affectera pas l'objet Ultimate 3D tant que l'action step ne sera pas placée dans l'évènement step.

SetFrame.png Set animation speed and animation area
Cette action définit la vitesse de l'animation, ainsi que les frames de début et de fin du cycle d'animation. La frame de début et de fin sont optionnelles, vous pouvez donc avoir un 0 ici si vous souhaiter jouer l'animation en entier. Tant que relative n'est pas coché la variable frame est définie à la valeur négative de la vitesse d'animation donnée, autrement la variable frame est soustraite par la vitesse d'animation. Dans les deux cas les variables first_frame et last_frame sont définies aux valeurs données. Cette action n'affectera pas l'objet Ultimate 3D si l'action step n'est pas présente dans l'évènement step.

DrawTexture.png Draws a texture to the screen
Cette action dessine la texture avec l'indice donné à la position spécifiée et en utilisant l'échelle, la rotation et la transparence donnée. Pour plus d'informations référez vous à la description de DrawTex(...).

SetFont.png Load and prepare true type font
Cette action charge les polices true type avec le nom donné et les prépare pour le dessin rapide et efficace du texte. La police résultante sera associée avec l'indice donné et aura la taille de texte spécifiée, sera en gras ou en italique si cela est demandé et aura la couleur donnée. Pour plus d'information référez vous à la description de SetFont(...).

DrawText.png Use a prepared true type font to draw text
Utilise la police avec l'indice donné pour affiche le texte donné à la position spécifiée. Pour plus d'information jetez un oeil à la description de DrawText(...).

TakeSnapshot.png Take screenshot
Prend une capture d'écran de la vue d'Ultimate 3D et l'enregistre dans le fichier bitmap donné.



© Christoph Peters. Certains droits réservés. (Traduction FR 04/2008, Franck Vernel / Damien Buhl).

Creative Commons License XHTML 1.0 Transitional