Exportation des os de Blender

11

J'ai écrit un exportateur pour les modèles de mélangeur qui fonctionne très bien pour les maillages. J'essaie d'étendre cela aux os définis dans le mélangeur. Cependant, je n'ai pas trouvé de bonnes informations pour exporter des données osseuses. Comment puis-je accéder aux données osseuses? Je voudrais accéder à tous les sommets que l'os affecte, le poids de chaque sommet et la matrice. Dois-je exporter autre chose pour l'animation squelettique et le démembrement dynamique?

MichaelHouse
la source
Je répondrais mais mes suggestions sont nulles (pas satisfaites, et pas du tout transférables), et j'espérais que vous obtiendriez une bonne réponse. Je fais actuellement le gréage dans mon jeu, et j'exporte juste avec un .obj, toute mon animation est procédurale. J'ai commencé à essayer de lire à partir d'une exportation Collada, mais c'est un format horrible et horrible. Faites-moi savoir si vous avez de la chance d'écrire l'exportateur python.
Michael

Réponses:

7

Ma suggestion est honnêtement juste de trouver un format que Blender exportera également ses os, puis de parcourir le script de cet exportateur de format. Je faisais quelque chose de similaire et j'ai réalisé à quel point c'était difficile de trouver une bonne ressource pour exporter des os.

Mais voici cette spécification qui m'a beaucoup aidé, sur les modules d'armature

Joshua Hedges
la source
Neat, on dirait qu'il a une partie de ce dont j'ai besoin. Cependant, il n'a pas de liste des sommets que l'os englobe ni le poids de ces sommets. Je vois qu'il a un booléen pour montrer qu'un os utilise des vertexgroups, mais je ne vois pas comment accéder à ces informations. Il semble que Blender doit pouvoir exporter ces données. Quelqu'un sait comment s'y rendre?
MichaelHouse
2
On dirait que je suis peut-être sur quelque chose. Étant donné que Blender utilise des groupes de sommets pour définir les groupes d'os, je peux simplement trouver le groupe de sommets avec le même nom que l'os, et j'ai trouvé tous les sommets qui appartiennent à cet os.
MichaelHouse
Super :]. Désolé, je n'ai pas pu aider plus que ce que j'ai fait, j'avais un projet similaire, mais légèrement différent. Je n'avais donc pas plus d'informations.
Joshua Hedges
8

@Michael m'a dirigé vers une excellente ressource pour exporter des os depuis Blender. Il fournit toutes les informations dont j'avais besoin. Il est en fait déjà intégré à Blender, c'est le format de modèle DirectX.

Allez dans les préférences utilisateur, la section addon, la catégorie "Import-Export" et installez "DirectX Model Format (.x)". Utilisez ensuite Fichier-> Exporter pour sélectionner le nouveau format ajouté.

Ce format exporte non seulement les informations de maillage (sommets, triangles, quads, textures, etc.), mais exporte également les informations d'armature, y compris la structure d'armature (relations parent / enfant), les matrices de transformation, quels sommets sont inclus dans chaque os et même le poids osseux pour chaque sommet. Les séquences d'animation sont également exportées.

Le tout dans un format ASCII lisible par l'homme, il est donc facile d'écrire un importateur. Belle.

MichaelHouse
la source
merci beaucoup, mais les boîtes englobantes sont également exportées par cet exportateur
Martin Erhardt
@MartinErhardt Vous devrez clarifier ce qu'est "cet exportateur". Le format .x n'exporte pas de boîtes englobantes.
MichaelHouse
2

Le format IQM (Inter-Quake Model) a un ensemble d'exportateurs Blender qui exportera les maillages skinnés avec les poids de mélange et l'armature. Consultez http://lee.fov120.com/iqm/ pour la documentation et le code. Vous pouvez également consulter les exportateurs MD5 au format Doom 3.

ccxvii
la source
Merci @ccxvii, le lien que vous avez fourni était vraiment utile.
MichaelHouse