Question

J'ai récemment pris le plongeon dans DirectX et ont été déconner un peu avec Anim8or, et ont découvert plusieurs types de fichiers que les modèles peuvent être exportés vers qui sont en mode texte. Je suis particulièrement impressionné aux fichiers VTX. Je l'ai appris à analyser quelques notions de base sur, mais je suis évidemment manque quelques petites choses.

Il commence par un .Faceset avec immédiatement (sur la même ligne), suivi par le nombre de mailles dans le fichier.

Pour chaque maille, il y a une section .Vertex et une section de .Index dans cet ordre et la première paire de sections .Vertex / .Index sont la première maille, la deuxième série sont la deuxième maille et ainsi de suite que vous attendez.

Dans une section .Vertex du fichier, il y a 8 numéros par ligne et un nombre indéfini de lignes (sauf si vous voulez faire confiance aux commentaires Anim8or a mis juste avant la section, mais cela ne semble pas faire partie des spécifications du fichier, juste Anim8or être gentil). Les 3 premiers chiffres correspondent à X, Y, et Z pour un point particulier qui va ensuite être utilisé comme un sommet, l'autre 5 Je ne sais pas. La majorité du temps, les 2 derniers chiffres sont tous deux 0, mais je l'ai remarqué que ce n'est pas toujours vrai, juste généralement vrai.

Vient ensuite la section .Index correspondant. Cette section a 4 chiffres. Les trois premiers sont des numéros de référence à l'Vertex indiqué précédemment et la marque 3 points d'un triangle dans le modèle. 0 signifie que le premier mentionné Vertex, 1 signifiant le suivant, et ainsi de suite, comme un tableau de base zéro. Le numéro 4 semble toujours -1, je ne peux pas comprendre quelle importance il a et je ne peux pas promettre que c'est toujours -1. Si vous ne pouvez pas dire, je ne suis pas trop certain de quoi que ce soit dans ce type de fichier.

Il y a aussi d'autres informations dans le fichier que je choisis d'ignorer en ce moment parce que je suis nouveau et je ne veux pas compliquer les choses trop. Comme après chaque section .Index est:

.Brdf
// Ambient color
0.431 0.431 0.431
// Diffuse color
0.431 0.431 0.431
// Specular color and exponent
1 1 1 2
// Kspecular = 0.5
// end of .Brdf

Il me semble que c'est de la surface du maillage vient d'être décrit. Mais il n'est pas nécessaire pour le placement de mailles, donc je passe devant pour l'instant.

Déplacement sur le vrai problème ... Je peux charger un fichier VTX quand il n'y a qu'un maillage dans le fichier VTX (ce qui signifie le .FaceSet est 1). Je peux presque charger avec succès un fichier VTX qui a plusieurs mailles, chaque maille est structuré avec succès, mais pas correctement placé par rapport aux autres mailles. J'ai téléchargé un modèle AT-AT d'un fil Anim8or dans un forum et il est composé de 344 mailles, quand je charge le fichier juste en utilisant les spécifications que je l'ai mentionné jusqu'à présent, il semble que l'AT-AT est explosé comme si il était un diagramme de la façon de le faire (lorsqu'il est chargé dans Anim8or, toutes les pièces sont proches et ressemblent à un entièrement assemblé AT-AT). Toutes les pièces sont orientées correctement et ont la même direction, mais il y a beaucoup d'espace supplémentaire entre les pièces.

Quelqu'un sait comment lire correctement un fichier VTX? Ou si vous connaissez un site Web qui vous expliquerai ce que ces autres chiffres?

Edit:

L'extension du fichier .VTX est utilisé pour beaucoup de choses différentes et a beaucoup de structures différentes en fonction de ce que l'utilisation prévue est. Valve, Visio, Anim8or, et plusieurs autres utilisent VTX, je suis seulement intéressé dans le fichier VTX qui Anim8or les exportations et la structure qu'il utilise.

Était-ce utile?

La solution

Je travaille sur un programme de modélisation 3D et moi-même voulu un format simple pour être en mesure d'apporter des objets pour l'éditeur de pouvoir tester la vitesse de mes routines de dessin avec de grands ensembles de sommets et de faces. Je cherchais un facile où je pourrais obtenir rapidement des modèles et a trouvé le format .vtx. Je googlé et trouvé votre question. Quand je suis incapable de trouver le format sur Internet, j'ai joué et comparé les exportations OBJ avec les .vtx. (? Peut-être qu'il a été créé juste pour Anim8or) Voici ce que je trouve:

1) Oui, les sommets ont huit numéros sur chaque ligne. Les trois premiers sont, comme vous l'avez deviné, x, y, z et coordonnées. Les trois suivants sont le sommet Normales, nx, ny et nz. Vous pouvez remarquer que chaque sommet apparaît plusieurs fois avec différentes Normales pour chaque face qui le contient. Les deux derniers chiffres sont les coordonnées de texture.

2) En ce qui concerne les visages, je suis arrivé aux mêmes conclusions que vous avez fait. Les trois premiers chiffres sont des indices dans la liste des sommets ci-dessus. Le dernier numéro ne semble toujours -1. Je vais supposer qu'il a quelque chose à voir avec la face du visage. (Par exemple face avant ou arrière.) Étant donné que la plupart des modèles sont créés avec les visages tous face de manière appropriée, il va de soi que ce serait le même numéro pour tous.

3) Une note supplémentaire: Lorsque l'on compare l'obj avec le .vtx, j'ai remarqué que les positions des sommets modifiés. Ceci est également vrai lorsque l'on compare avec le fichier .an8. Cela ne devrait pas être un problème « énorme » aussi longtemps qu'ils sont tous compensés par la même quantité dans chaque sommet et chaque fichier. Au moins, il pourrait alors être compensée.

Avez-vous envisagé d'utiliser le format de fichier .obj? Il est basé sur le texte et n'est pas très difficile à analyser ou comprendre. Il y a un peu d'informations à ce sujet en ligne.

Je vais ajouter que, après une inspection quelques heures, l'exportation de VTX dans Anim8or semble être rompu. J'ai vécu le même problème que vous avez fait que les pièces ne se trouvaient pas correctement. Mon hypothèse serait que Anim8or exporte ces objets en utilisant les coordonnées locales pour chaque maille et non pour les transformations qui représentent ont été appliquées. Je note aussi que ce ne sera pas importer le fichier VTX ...

Autres conseils

D'après googling, il semble que vous êtes du mauvais côté de la canalisation. Si je comprends bien: Un fichier VTX est un Format de fichier propriétaire Valve qui est le résultat d'un ensemble d'étapes.

  

La sortie finale de Studiomdl pour chaque   modèle Half-Life est un groupe de fichiers   le dossier gamedirectory / modèles prêts   être utilisé par le moteur du jeu:

     
      
  • un .MDL   fichier qui définit la structure de   le modèle avec animation,   boîte de délimitation, la boîte frapper, le matériel, maille   et des informations LOD,
  •   
  • un fichier qui .VVD   stocke des données de position appartement indépendant   pour les poids des os, des normales,   sommets, tangentes et texture   coordonnées utilisées par le MDL, a
  •   
  • trois types distincts de fichier VTX:

         
        
    • .sw.vtx (logiciel),
    •   
    • .dx80.vtx (DirectX   8,0) et
    •   
    • .dx90.vtx (DirectX 9.0) qui stockent matériau optimisé du matériel,   bande de dépouillage et de triangle / ventilateur   des informations pour chaque LOD de chaque maille   dans la LDM,
    •   
  •   
  • souvent un fichier .PHY   contenant rigide ou articulé   modèle de collision (ragdoll), et   parfois
  •   
  • un fichier .ANI pour faire:   quelque chose à faire avec des animations modèle
  •   

Valve

Maintenant, le SDK Source Valve peut avoir des compagnies d'électricité pour lire VTX de (il semble avoir la capacité de les faire de toute façon). Certaines personnes peut ont fait 3e partie des outils ou code leur permettant de les lire, mais il est susceptible de ne pas fonctionner sur tous les fichiers motif valable, il est un format 3ème partie. J'ai aussi trouvé cette post qui pourrait aider si vous ne l'avez pas vu avant.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top