[3DS] Algo d'un fichier ASE

Algo d'un fichier ASE [3DS] - Programmation

Marsh Posté le 10-05-2001 à 13:06:11    

Voila l'histoire, j'ai un petit moteur 3D fait avec 2 potes, on s'est fait aussi un editeur mais on ne peut faire que des murs "droits" et on voudrait commencer a faire des mondes qui arrachent pas mal.
 
Le pb c'est que le fichier ASE exporte par 3DS est un peu incomprehensible alors personne n'aurait un tut ??

Reply

Marsh Posté le 10-05-2001 à 13:06:11   

Reply

Marsh Posté le 10-05-2001 à 13:11:38    

Y a un loader de fichier ASE chez Nate (http://nate.scuzzy.net)

Reply

Marsh Posté le 10-05-2001 à 16:29:11    

Oh cool je vais voir ca tout de suite :D
 
Merci :D

Reply

Marsh Posté le 10-05-2001 à 16:39:47    

Nickel  
 
Je connaissais pas du tout le site  
 
Tranquille :D:D:p
 
Thx

Reply

Marsh Posté le 10-05-2001 à 20:10:31    

mais c'est tout con le format ASE, il n'y a pas plus simple
 
tu as la liste des texture en premier avec le chemin et plein de parametres dont tu n'as rien a foutre.
 
ensuite tu as la liste des objets :
  nomnbre de point
  nombre de face
  liste des point  x y z
  liste des faces (des triangles) n° p1 p2 p3
  nombre de coordonnees de textures
  liste des coordonnées x y z
 
a la fin de l'objet il y ale numero de la texture associé
 
Il faut faire aussi attention au parametres d'export de 3ds max
 

Code :
  1. *3DSMAX_ASCIIEXPORT 200
  2. *COMMENT "Version AsciiExport  2,00 - Thu Dec 21 12:19:19 2000"
  3. *SCENE {
  4.   [...] // tu t'en fous
  5. }
  6. *MATERIAL_LIST {
  7. *MATERIAL_COUNT 1
  8. *MATERIAL 0 {
  9.                 [...]                 
  10.  *MAP_DIFFUSE {
  11.   *BITMAP "textures\route03-1.bmp"
  12.                         [...]
  13.  }
  14. }
  15. }
  16. *GEOMOBJECT {
  17. *NODE_NAME "Bo_te01"
  18. *NODE_TM {
  19.                 [...]
  20. }
  21. *MESH {
  22.  *TIMEVALUE 0
  23.  *MESH_NUMVERTEX 8  // nombre de points
  24.  *MESH_NUMFACES 12  // nombre de faces
  25.  *MESH_VERTEX_LIST { // liste des points : n°, x, y et z
  26.   *MESH_VERTEX    0 -1.00 -1.00 0.00
  27.                         [...]
  28.   *MESH_VERTEX    7 1.00 1.00 2.00
  29.  }
  30.  *MESH_FACE_LIST { // liste des face : n° des points constituants la face
  31.   *MESH_FACE    0:    A:    0 B:    2  C:    3 ...
  32. [...]
  33.              *MESH_FACE   11:    A:    4 B:    6 C:    2 ...  }
  34.  *MESH_NUMTVERTEX 36 // nombre de coordonnees de texture
  35.  *MESH_TVERTLIST { // liste : n°,x ,y ,z
  36.   *MESH_TVERT 0 2.00 0.00 0.00
  37.                         [...]
  38.   *MESH_TVERT 35 2.00 2.00 0.00
  39.  }
  40.  *MESH_NUMTVFACES 12 // nombre de faces textures
  41.  *MESH_TFACELIST { // liste des coordonnes de texture pour chaque face : n°,x, y, z
  42.   *MESH_TFACE 0 8 9 10
  43.                 [...]
  44.   *MESH_TFACE 11 4 6 2
  45.  }
  46.                 [...]
  47.  *MESH_NORMALS { // liste des normales
  48.                     // la premiere normale et celle de la face et les autre celle des points de la face
  49.   *MESH_FACENORMAL 0 0.00 0.00 -1.00
  50.    *MESH_VERTEXNORMAL 0 0.00 0.00 -1.00
  51.    *MESH_VERTEXNORMAL 2 0.00 0.00 -1.00
  52.    *MESH_VERTEXNORMAL 3 0.00 0.00 -1.00
  53.                 [...]
  54.  }
  55. }
  56.         [...]
  57. *MATERIAL_REF 0 // numero de texture a appliqué sur l'objet
  58. }
  59. [...]

Reply

Marsh Posté le 11-05-2001 à 08:20:42    

Merci :D

Reply

Marsh Posté le 11-05-2001 à 10:15:27    

J'ai pas trop bien cale le MESH_FACE_LIST

Reply

Marsh Posté le 11-05-2001 à 11:47:46    

Godbout a écrit a écrit :

J'ai pas trop bien cale le MESH_FACE_LIST




 
ben en fait  
  MESH_FACE_LIST { // liste des face : n° des points constituants la face  
  *MESH_FACE    0:    A:    0 B:    2  C:    3 ...  
 
  le 1° element 0: est le numero de la face  
  La face est un triangle est il y a donc 3 points : A, B et C
  le 2° element indique que ce qui suit est le numero du point A
  le 3° element est le numero du point A
  le 4° element indique que ce qui suit est le numero du point B
  le 5° element est le numero du point B
  le 6° element indique que ce qui suit est le numero du point C
  le 7° element est le numero du point B
  le 8° element et tous ceux qui restent jusqu'a la fin de la ligne, je ne les utilse pas.

Reply

Marsh Posté le 11-05-2001 à 11:56:11    

Ok ben j'ai encore du boulot alors :D
 
Merci

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed