POUR LA VERSION 0.9.28
PARTIE 5 - SCENE3D ET OBJETS 3D
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 AY 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). |
Dernière mise à jour: 25 juin 2018