SoloCodigo

Programación Específica => Programación de Videojuegos => Mensaje iniciado por: satmon en Miércoles 9 de Junio de 2010, 14:04

Título: animacion 3d
Publicado por: satmon en Miércoles 9 de Junio de 2010, 14:04
Hola a todos, acabo de terminar un exportador de blender para archivos maj que es un formato que inventé para cargar los modelos animados en un motor de juegos que estoy desarrollando.

Tengo las matrices de transformacion para cada hueso, las matrices offset, y las frame matrices.

Pero no se como convinarlas para que aplicadas a un vertice este siga el movimiento del hueso ni si quiera se que significan cada matriz.

me ayudan??
Título: Re: animacion 3d
Publicado por: diego.martinez en Lunes 19 de Julio de 2010, 11:53
buenas:

lo que tu necesitas se llama skinning , tienes ejemplos por internet. Pero grosso modo es que guardes los bones de forma jerarquica junto con los pesos de cada vertice. Despues por cada bone calculas la matriz definitiva y la aplicas sobre todos los vertices multiplicado por el peso del vertice.
Eso para hacerla por software, lo que no recomiendo, ya que hay shaders que se encargan de todo.
Título: Re: animacion 3d
Publicado por: satmon en Lunes 19 de Julio de 2010, 13:53
Muchas gracias, lo que pasa es que no todas las tarjetas soportan shaders, y trato que las aplicaciones corran en todas partes, además que por shaders el numero de matrices es muy limitado,  y el máximo numero de influencias por vértice es 4, la matriz que buscaba era la inversa de la matriz del hueso en reposo multiplicada por la matriz del hueso cuando es animado. Ya domine la animación, ahora voy por detección de colisiones.