SCENE3D et objets 3D
1 – Monde 3D (objets : SCENE3D)
1.1 – Traitement de la caméra dans un SCENE3D
1.1.1 – Position de la caméra 3D
1.1.2 – Rotation de la caméra 3D
1.1.3 – Position du point visé
1.2 – Traitement de la lumière 3D dans un SCENE3D
1.2.1 – Position de la lumière 3D
1.3 – Créer un objet 3D dans un SCENE3D
1.4 – Commandes sur un objet 3D (dans un SCENE3D)
1.4.1 – Supprimer
1.4.2 – Visualiser ou cacher
1.4.3 – Positionner
1.4.4 – Rotation
1.4.5 – Redimensionner
1.4.6 – Couleur
1.4.7 – Texture
1.4.8 – Charger une structure
1.4.9 – Changer le texte
1.4.10 – Changer l’épaisseur
1.4.11 – Chaîner
1.4.12 – Transparence
1.4.13 – Mouvement
1.4.14 – Pointer un objet 3D
1.4.15 – Nombre d’objets 3D
1.4.16 – Types de collision
1.4.17 – Tuiles
1.5 – Fonctions d’un objet 3D (dans un SCENED3D)
1.5.1 – Position
1.5.2 – Angles de rotation
1.5.3 – Coefficients d’échelle
1.5.4 – Collision
1.5.5 – Divers
1 – Monde 3D (objet : SCENE3D)
1.1 – Traitement de la caméra 3D dans un SCENE3D
Aussitôt qu’un SCENE3D est créé, il possède une caméra 3D placée en (0,0,5) et visant l’origine (0,0,0).
La caméra 3D d’un SCENE3D est « l’oeil » de l’utilisateur observant le monde 3D.
Il est possible de déplacer la caméra 3D et le point visé par cette caméra 3D.
1.1.1 – Position de la caméra 3D
CAM_X_POSITION X Positionne la caméra 3D en X. CAM_Y_POSITION Y Positionne la caméra 3D en Y. CAM_Z_POSITION Z Positionne la caméra 3D en Z. CAM_POSITION X, Y, Z Positionne la caméra 3D en X, Y, Z. Par défaut, la caméra 3D est en position (0,0,5)
1.1.2 – Rotation de la caméra 3D
CAM_PITCH A Tourne la caméra 3D autour de son axe X de l’angle A. CAM_ROLL A Tourne la caméra 3D autour de son axe Y de l’angle A. CAM_ROLL Z Tourne la caméra 3D autour de son axe Z de l’angle A. Par défaut, la caméra 3D est orientée suivant le vecteur (0,0,1)
1.1.3 – Position du point visé
POINT_X_POSITION X Positionne en X le point visé par la caméra 3D. POINT_Y_POSITION Y Positionne en Y le point visé par la caméra 3D. POINT_Z_POSITION Z Positionne en Z le point visé par la caméra 3D. POINT_POSITION X, Y, Z Positionne en X, Y, Z le point visé par la caméra 3D. POINT_OBJECT N La caméra 3D pointe l’objet 3D numéro N. Par défaut, la caméra 3D vise le point en (0,0,0)
1.2 – Traitement de la lumière 3D dans un SCENE3D
Aussitôt qu’un SCENE3D est créé, il possède une lumière 3D placée en (0,0,5).
Il est possible de déplacer la lumière 3D.
1.2.1 – position de la lumière 3D
LIGHT_X_POSITION X Positionne la lumière 3D en X. LIGHT_Y_POSITION Y Positionne la lumière 3D en Y. LIGHT_Z_POSITION Z Positionne la lumière 3D en Z. LIGHT_POSITION X, Y, Z Positionne la lumière 3D en X, Y, Z. Par défaut, la lumière 3D est à la même position que la caméra 3D : (0,0,5)
1.3 – Créer un objet 3D dans un SCENE3D
À chaque objet 3D, un nombre N est associé.
L’objet 3D est créé en (0,0,0) et sa couleur est grise.
3D_ACTOR N Crée un acteur (objet MD2). 3D_BOX N, Largeur, Hauteur, Profondeur Crée une boîte. 3D_CONE N,Hauteur, Rayon Crée un cône. 3D_CUBE N, Côté Crée un cube. 3D_CYLINDER N, Hauteur, Rayon_Haut, Rayon_Bas Crée un cylindre. 3D_DODECAHEDRON N Crée un dodécaèdre. 3D_LINE N Crée une ligne 3D. 3D_MESH N Créez un objet maillé (objet 3DS). 3D_SPHERE N, Rayon Crée une sphère. 3D_TEAPOT N Crée une théière. 3D_TEXT N, String$ Crée un texte 3D. 3D_TORUS N, Rayon_Externe, Rayon_Interne Crée un tore. 3D_SKYBOX N Crée un skybox. 3D_PLANE N Crée un plan. N = numéro d’objet 3D créé
1.4 – Commandes sur un objet 3D (dans un SCENE3D)
Pour toutes les commandes, N est le numéro de l’objet 3D.
3D_DELETE N Supprime l’objet 3D numéro N. 3D_DELETE_ALL Supprime tous les objets 3D.
3D_SHOW N Visualise l’objet 3D numéro N. 3D_HIDE N Cache l’objet 3D numéro N.
3D_X_POSITION N, X Positionne en X l’objet 3D numéro N. 3D_Y_POSITION N, Y Positionne en Y l’objet 3D numéro N. 3D_Z_POSITION N, Z Positionne en Z l’objet 3D numéro N. 3D_POSITION N, X, Y, Z Positionne en (X,Y,Z) l’objet 3D numéro N.
3D_X_ROTATE N, AX Fait tourner l’objet 3D numéro N d’un angle de AX degrés autour de son propre axe des X. 3D_Y_ROTATE N, AY Fait tourner l’objet 3D numéro N d’un angle de AY degrés autour de son propre axe des Y. 3D_Z_ROTATE N, AZ Fait tourner l’objet 3D numéro N d’un angle de AZ degrés autour de son propre axe des Z. 3D_ROTATE N, AX, AY, AZ Fait tourner l’objet 3D numéro N d’un angle de AX degrés autour de son propre axe des X, puis d’un angle de Y degrés autour de son propre axe des Y, puis d’un angle de AZ degrés autour de son propre axe des Z. Les angles AX, AY, AZ sont en degrés.
3D_X_SCALE N, CX Redimensionne l’objet 3D numéro N sur son propre axe des X d’un coefficient CX. 3D_Y_SCALE N, CY Redimensionne l’objet 3D numéro N sur son propre axe des Y d’un coefficient CY. 3D_Z_SCALE N, CZ Redimensionne l’objet 3D numéro N sur son propre axe des Z d’un coefficient CZ. 3D_SCALE N, CX, CY, CZ Redimensionne l’objet 3D numéro N sur son propre axe des X d’un coefficient CX, puis sur son propre axe des Y d’un coefficient CY, puis sur son propre axe des Z d’un coefficient CZ. Dilatation si Cn > 1, contraction si Cn < 1
3D_COLOR N, R, G, B L’objet 3D numéro N prend la couleur définie par les couleurs de base R, G, B. 0 <= R <= 255 (rouge)
0 <= G <= 255 (vert)
0 <= B <= 255 (bleu)
3D_LOAD_TEXTURE N, F L’objet 3D numéro N prend la texture « BMP » du fichier F. 3D_IMAGE_TEXTURE N1, N2 L’objet 3D numéro N1 prend la texture de l’objet système numéro N2. 3D_LOAD_TEXTURE_BOTTOM N, F La face basse du 3D_SKYBOX numéro N prend la texture dans le fichier F. 3D_LOAD_TEXTURE_FRONT N, F La face avant du 3D_SKYBOX numéro N prend la texture dans le fichier F. 3D_LOAD_TEXTURE_RIGHT N, F La face droite du 3D_SKYBOX numéro N prend la texture dans le fichier F. 3D_LOAD_TEXTURE_BACK N, F La face arrière du 3D_SKYBOX numéro N prend la texture dans le fichier F. 3D_LOAD_TEXTURE_LEFT N, F La face gauche du 3D_SKYBOX numéro N prend la texture dans le fichier F. 3D_LOAD_TEXTURE_TOP N, F La face haute du 3D_SKYBOX numéro N prend la texture dans le fichier F.
3D_LOAD_OBJECT N, F Une structure « MD2 » ou « 3DS » du fichier F est chargée dans l’objet 3D numéro N (3D_ACTOR ou 3D_MESH).
Pour changer le texte visualisé dans l’objet 3D.
3D_TEXT_CHANGE N, A$ Le 3D_TEXT numéro N visualise maintenant A$.
Pour modifier l’épaisseur d’une ligne 3D.
3D_LINE_WIDTH N, W Définit l’épaisseur W en pixels du 3D_LINE numéro N.
Pour lier les mouvements d’un objet 3D à un autre objet 3D.
3D_CHAIN N, P Chaîne l’objet 3D numéro N à l’objet 3D numéro P : les mouvements de l’objet numéro P sont liés à ceux de l’objet numéro N. 3D_CHAIN_BREAK N, P Rompt le chaînage entre les objets 3D numéro N et numéro P.
Pour rendre un objet 3D plus ou moins transparent.
3D_TRANSPARENT N, T Modifie la transparence de l’objet 3D numéro N.
T va de 0 à 255.
Si T=0, l’objet 3D est totalement opaque.
Si T=255, l’objet 3D est totalement transparent.
Pour bouger un objet 3D dans sa direction de pointage.
3D_MOVE N, D Bouge l’objet 3D numéro N de la distance D dans sa direction de pointage.
Si D>0, l’objet 3D avance.
Si D<0, l’objet 3D recule.
Pour pointer un objet 3D.
3D_POINT N, P Pointe l’objet 3D numéro N vers l’objet 3D numéro P.
NUMBER_3D_OBJECTS Retourne le nombre d’objet 3D.
3D_COLLISION_AS_SPHERE N L’objet 3D numéro N se comporte comme sa sphère englobante. 3D_COLLISION_AS_CUBE N L’objet 3D numéro N se comporte comme son cube englobant. 3D_COLLISION_AS_ELLIPSOID N L’objet 3D numéro N se comporte comme son ellipsoïde englobant. 3D_COLLISION_AS_POINT N L’objet 3D numéro N entre en collision comme s’il était un point. 3D_COLLISION_AS_FACES N L’objet 3D numéro N utilise ses faces.
3D_U_TILE N, T Modifie le nombre de tuiles sur U du 3D_PLANE numéro N. 3D_V_TILE N, T Modifie le nombre de tuiles sur V du 3D_PLANE numéro N.
1.5 – Fonctions d’un objet 3D (dans un SCENE3D)
Pour toutes les fonctions, N est le numéro de l’objet 3D.
O3D_X_POSITION(N) Retourne la position en X de l’objet 3D numéro N. O3D_Y_POSITION(N) Retourne la position en Y de l’objet 3D numéro N. O3D_Z_POSITION(N) Retourne la position en Z de l’objet 3D numéro N.
O3D_X_ROTATE(N) Retourne (en degrés) l’angle de rotation de l’objet 3D numéro N autour de son propre axe des X. O3D_Y_ROTATE(N) Retourne (en degrés) l’angle de rotation de l’objet 3D numéro N autour de son propre axe des Y. O3D_Z_ROTATE(N) Retourne (en degrés) l’angle de rotation de l’objet 3D numéro N autour de son propre axe des Z. Les angles retournés par les fonctions sont exprimés en degrés.
1.5.3 – Coefficients d’échelle
O3D_X_SCALE(N) Retourne le coefficient d’échelle de l’objet 3D numéro N sur son propre axe des X. O3D_Y_SCALE(N) Retourne le coefficient d’échelle de l’objet 3D numéro N sur son propre axe des Y. O3D_Z_SCALE(N) Retourne le coefficient d’échelle de l’objet 3D numéro N sur son propre axe des Z. Si la valeur retournée est > 1, il y a eu dilatation
Si la valeur retournée est < 1, il y a eu contraction
Si la valeur retournée est = 1, il n’y a eu aucune modification
O3D_COLLISION(N1, N2) Retourne 1 si les objets 3D de numéro N1 et N2 sont en collision, 0 sinon.
O3D_OBJECT_EXISTS(N) Retourne 1 si l’objet 3D numéro N existe, 0 sinon. O3D_OBJECT_TYPE(N) Retourne le type de l’objet 3D numéro N.
Le type d’un objet 3D est codé comme suit :
1 = 3D_CUBE
2 = 3D_BOX
3 = 3D_SPHERE
4 = 3D_CONE
5 = 3D_TORUS
6 = 3D_CYLINDER
7 = 3D_DODECAHEDRON
8 = 3D_TEAPOT
9 = 3D_TEXT
10 = 3D_LINE
11 = 3D_MESH
12 = 3D_ACTOR
14 = 3D_SKYBOX
15 = 3D_TERRAIN
16 = 3D_PLANE
1.6 – BROUILLARD (DANS UN SCENE3D)
FOG_ON Démarre l’effet de brouillard dans l’objet cible 3D (SCENE3D). FOG_OFF Arrête l’effet de brouillard dans l’objet cible 3D (SCENE3D). FOG_COLOR R, G, B Modifie la couleur du brouillard dans l’objet cible 3D (SCENE3D). FOG_DISTANCE_MIN D Modifie la distance minimale du brouillard dans l’objet cible 3D (SCENE3D). FOG_DISTANCE_MAX D Modifie la distance maximale du brouillard dans l’objet cible 3D (SCENE3D).
Contenu créé par Jack. Mise à jour le 01 mars 2025
