Exportando huesos de Blender

11

Escribí un exportador para modelos blender que funciona muy bien para mallas. Estoy intentando extender eso a los huesos definidos en la licuadora. Sin embargo, no he encontrado buena información para exportar datos óseos. ¿Cómo puedo acceder a los datos óseos? Me gustaría acceder a todos los vértices que afecta el hueso, el peso de cada vértice y la matriz. ¿Necesito exportar algo más para la animación esquelética y el desmembramiento dinámico?

MichaelHouse
fuente
Respondí, pero mis sugerencias apestan (no estoy contento con ellas, y no son transferibles), y esperaba que obtuvieras una buena respuesta. Actualmente hago el aparejo en mi juego, y solo exporto con un .obj, toda mi animación es de procedimiento. Comencé tratando de leer de una exportación de Collada, pero es un formato horrible, horrible. Avíseme si tiene suerte escribiendo el exportador de Python.
Michael

Respuestas:

7

Honestamente, mi sugerencia es encontrar un formato para que Blender también exporte sus huesos, y luego mirar a través de la secuencia de comandos de ese exportador de formatos. Estaba haciendo algo similar y me di cuenta de lo difícil que era encontrar un buen recurso para exportar huesos.

Pero aquí está esta especificación que me ayudó mucho, en los módulos de armadura

Joshua Hedges
fuente
Genial, parece que tiene algo de lo que necesito. Sin embargo, no tiene una lista de los vértices que abarca el hueso o el peso de esos vértices. Veo que tiene un bool para mostrar que un hueso usa grupos de vértices, pero no veo cómo acceder a esa información. Parece que Blender debe poder exportar esos datos. ¿Alguien sabe cómo llegar?
MichaelHouse
2
Parece que puedo estar haciendo algo. Como Blender usa grupos de vértices para definir los grupos de huesos, puedo encontrar el grupo de vértices con el mismo nombre que el hueso, y he encontrado todos los vértices que pertenecen a ese hueso.
MichaelHouse
Suena genial :]. Lo siento, no pude ayudar más de lo que hice, tuve un proyecto similar, pero ligeramente diferente. Entonces no tenía más información.
Joshua Hedges
8

@ Michael me dirigió a un excelente recurso para exportar huesos de Blender. Proporciona toda la información que necesitaba. En realidad, ya está integrado en Blender, es el formato de modelo DirectX.

Vaya a las preferencias del usuario, a la sección de complementos, a la categoría "Importar-Exportar" e instale "DirectX Model Format (.x)". Luego use Archivo-> Exportar para seleccionar el formato recién agregado.

Este formato exporta no solo la información de la malla (vértices, triángulos, quads, texturas, etc.), sino que también exporta información de la armadura, incluida la estructura de la armadura (relaciones padre / hijo), matrices de transformación, qué vértices se incluyen en cada hueso e incluso pesos óseos para cada vértice. Las secuencias de animación también se exportan.

Todo en un formato ASCII legible para humanos, por lo que es fácil escribir un importador. Hermoso.

MichaelHouse
fuente
muchas gracias, pero también son exportadores los cuadros delimitadores de ese exportador
Martin Erhardt
@ MartinErhardt Tendrás que aclarar qué es "ese exportador". El formato .x no exporta cuadros delimitadores.
MichaelHouse
2

El formato IQM (Modelo Inter-Quake) tiene un conjunto de exportadores de Blender que exportarán mallas desolladas con pesos de mezcla y la armadura. Consulte http://lee.fov120.com/iqm/ para obtener documentación y código. También puede mirar los exportadores MD5 en formato Doom 3.

ccxvii
fuente
Gracias @ccxvii, el enlace que proporcionó fue realmente útil.
MichaelHouse