Im écrire un moteur de jeu et je me demande quel format de modèle 3D devrais-je utiliser/charger/exporter? Obj semble universel et facile mais il semble également peu fiable dans la mesure où la plupart des modèles contiennent des erreurs et ne sont pas aussi proches que les autres formats. Il semble y avoir des formats spécifiques pour les jeux tels que MD2/3/5 mais je ne suis pas sûr, j'utilise wings3d si je modélise, et je ne sais pas quels autres détails au-delà du chargement pur ce dont j'ai besoin et le soutien du format Id doit mettre en œuvre, comme aurais-je besoin de mettre en œuvre IK? et puis-je utiliser une animation par pièce scriptée plutôt qu'une cinématique inverse et un rigging osseux?Quel format de modèle 3D devrais-je utiliser?
Répondre
Collada est un format basé sur XML ouvert pour les modèles 3D appartenant au groupe Khronos (OpenGL corps de normes)
De la FAQ Collada.org:
Le COLLADA 1.4.x jeu de fonctions comprend:
- géométrie du maillage
- hiérarchie de transformation (rotation, translation, de cisaillement, l'échelle, la matrice)
- Effets
- shaders (Cg, GLSL, GLES)
- Matériaux
- Textures
- Lumières
- Caméras
- Dépeçage
- animation
- Physique (Les corps rigides, des contraintes, des poupées de chiffon, collision, volumes)
- instanciation
- Techniques
- Multirepresentations
- actifs
- Données utilisateur
J'utilise mon propre format binaire. J'ai essayé d'utiliser des formats existants mais je rencontre toujours des limites. Certains pourraient être travaillés autour, d'autres où showstoppers.
Collada peut-être vaut le coup d'oeil. Je ne pense pas que ce soit un bon format pour être lu par un moteur 3D. C'est bien comme un format général d'échange de données.
Avant de se préoccuper de ce que vous voulez les formats 3D pour soutenir, je pense que vous devriez vraiment se concentrer sur les fonctionnalités que vous envisagez de mettre en œuvre dans votre moteur. Notez-les en tant qu'exigences, et choisissez le format qui supporte le plus de fonctionnalités de la liste ... comme vous voulez montrer votre moteur (je suppose que vous prévoyez que votre moteur soit disponible publiquement). Vous pourriez même vouloir rouler votre propre format, si votre moteur a des caractéristiques spécifiques (ce qui est toujours une bonne chose à avoir pour un moteur de jeu). Après cela, prenez en charge le plus grand nombre possible de formats populaires (.X, .3DS, .OBJ, .B3D) ... plus votre moteur est accessible, plus les utilisateurs voudront travailler avec! Collada est un format sympa et générique, mais comme les mentions de Nils, ce n'est pas un format idéal pour le déploiement final.
bien soutenir Collada, puis fournir de bons convertisseurs à/de la e d'autres formats (cela pourrait être la partie difficile). Cela vous donnera une flexibilité maximale. Jetez un oeil à C4 engine
Collada est génial, mais il vit plus sur le côté de l'application 3D des choses. c'est-à-dire qu'il est mieux utilisé pour transférer des données 3D entre des applications, et non pour charger des données 3D depuis un moteur de jeu. As-tu regardé Lua? Il est largement utilisé dans les jeux car c'est un langage de script à la fois ridiculement rapide (parfait pour les jeux) et très flexible (qui peut être utilisé pour représenter toutes les données dont vous avez besoin pour votre moteur).
Lua est un langage de programmation, pas un format de modèle. – Dirbaio
Bien sûr :) mais Lua peut représenter des matrices, donc construire un format/analyseur de modèle 3D est quelque chose qui peut être fait – Mathew
Voté - certaines personnes répondent par "Lua" à n'importe quelle question qu'ils trouvent. – BitTickler
+1 pour Collada. Vous pouvez également vouloir un format binaire natif personnalisé pour un chargement vraiment rapide (généralement juste un vidage binaire des données de tampon de vertex/index, plus des données de matériau et de squelette, et des données de collision le cas échéant). Une tendance dans l'industrie du jeu est de supporter le chargement d'un format comme collada dans la version développeur du moteur, mais aussi d'une chaîne d'outils qui exporte une version optimisée pour la publication. La version développeur peut mettre à jour dynamiquement le maillage, de sorte que les artistes sauvegardent les modifications, le fichier est automatiquement rechargé leur permettant une vue WYSIWYG (presque) instantanée de leur modèle, tout en fournissant un format de sortie entièrement optimisé.
A propos du format binaire natif, il est à noter qu'il existe déjà un format XML binaire standard: http://en.wikipedia.org/wiki/Binary_XML – Hibou57
@ Hibou57 Eh bien, pas vraiment. Aucun qui est standard de l'industrie de toute façon – RecursiveExceptionException
- 1. Rendre un modèle 3D transparent
- 2. Quel format de conteneur multimédia devrais-je utiliser?
- 3. Quel est l'avenir de Java 3D?
- 4. Développer 2D en 3D avec projection orthographique et modèle étiré
- 5. Quel format d'image en virgule flottante dois-je utiliser?
- 6. Quel codage utiliser pour l'exportation au format CSV?
- 7. Comment déterminer quel modèle de processus dans VS2010 utiliser?
- 8. Django - spécifie quel gestionnaire de modèle l'administrateur Django doit utiliser
- 9. Quel format graphique puis-je utiliser pour les calques?
- 10. Format de fichier de scène 3D et visionneuse
- 11. Pourquoi OpenGLES étire mon modèle 3D?
- 12. Modèles 3D, LOD, photos, etc
- 13. Fonction Format de spécialisation de modèle
- 14. format de modèle statique le plus facile à charger avec Java?
- 15. Utiliser JavaScript pour modéliser des polyèdres 3D
- 16. Quel format de date est "ds1248083197360"?
- 17. Quel est le format de AdminSettings.php
- 18. Quel modèle suit Hibernate?
- 19. Application en place des transformations au modèle 3D dans WPF
- 20. Quel est le format de sérialisation de vos données?
- 21. utiliser vue seulement comme modèle
- 22. Comment présenter un sous-modèle dans une scène 3D?
- 23. Quel modèle de projet dois-je utiliser pour le projet de développement de jeux Visual C++?
- 24. Modèle 3D à intégrer dans la fenêtre d'affichage
- 25. Quel type de données utiliser?
- 26. Choix du format d'image à utiliser
- 27. Quel est le meilleur moteur 3d/2d portable gratuit?
- 28. Quel format audio serait le meilleur?
- 29. Quel est le format de données de vertex préféré pour OpenGL ES sur iPhone OS?
- 30. Modèle typedefs - Quel est votre travail?
Je n'utiliserais pas ce format pour les graphiques en temps réel. Collada est conçu comme un format intermédiaire pour les pipelines de production graphique. Utilisez-le pour convertir en un format binaire plus compact, ou vous l'attendez toute la journée pour le charger. –
Considérez également que tous les outils ne prennent pas en charge l'ensemble des fonctionnalités de COLLADA. –
Finalement, je suis allé avec la bibliothèque ASSIMP pour le chargement de la géométrie afin que tout le monde puisse utiliser ce qu'ils veulent tant qu'ils supportent les attributs nécessaires. –