human
Comment les formes 3D sont-elles décrites dans les fichiers 3D Je travaille sur un programme pour rendre les formes 3D avec perspective en utilisant python et j'aimerais savoir comment les formats 3D standard " décrivent " les formes comme la façon dont tous les points et les faces sont notés. Merci ! Explique comme si j'avais cinq ans.
gpt
Cela dépend * vraiment * du format de fichier , mais je vais vous donner quelques notions importantes . En fin de compte, cependant, vous devrez compter sur la documentation des formats et le support des bibliothèques pour les formats propriétaires. Les éditeurs 3D stockent généralement dans leurs fichiers la totalité de la pile d'annulation ainsi qu'un grand nombre de métadonnées. Presque tout cela est totalement inutile pour tout type de rendu 3D ou de jeux vidéo. Les éditeurs prennent en charge les langages de script et/ou les API de plug-in pour exporter ces fichiers vers un format cible que vous décrivez . Aucun jeu vidéo ou logiciel de rendu (du moins à ma connaissance) n'utilise directement les fichiers de l'éditeur. Les fichiers de jeux vidéo contiennent également souvent de nombreuses métadonnées intégrées pour les sons, les crochets, les files d'attente et les séquences d'animation. Au niveau le plus basique, les modèles polygonaux ont besoin d'un ensemble de 3 points 3D pour décrire les polygones. En règle générale, il s'agira de flottants de 4 octets en séquence de 3 pour les composants X, Y et Z. Si nous parlons d'un format binaire, il y aura un type entier indiquant combien de points sont décrits en séquence. Les coordonnées sont dans l'espace modèle et relatives à l'origine à 0 , 0 , 0 . Il n'y a aucune garantie que les données soient dans cet ordre, il pourrait y avoir trois séquences, une pour chacune des dimensions du composant, par exemple. Les points seront probablement uniques , et ils ne décrivent pas par eux - mêmes un polygone . Une deuxième séquence indexera la première, une séquence de 3 entiers chacun décrivant les trois points qui forment un seul polygone. L'ordre de ces points est important, car ils suivront soit la règle de la main droite, soit la règle de la main gauche. Cela indique quel côté du polygone est l'avant et quel est l'arrière, de sorte que vous pouvez effectuer l'élimination de la face arrière. En règle générale, l'artiste va centrer le modèle sur l'origine, mais ce n'est pas une garantie : le plan XZ peut également être le sol sur lequel le modèle a été dessiné tout aussi souvent. Il peut y avoir une séquence de vecteurs normaux qui indexent soit avec les points, soit avec les polygones, soit avec tous les points d'un polygone, pour l'éclairage. Il peut également y avoir des coordonnées UV 2D pour mapper les textures sur le modèle. Il peut également y avoir des listes de fichiers image pour les textures, les masques ou les normales. Ces textures peuvent être mip - mappées , ou leurs binaires peuvent être intégrés directement dans le fichier . Je peux continuer encore et encore. Si vous créez votre propre format de fichier, vous pouvez rendre le vôtre très minimal et même basé sur du texte afin que vous puissiez le lire. Consultez la documentation du format de fichier de votre choix .