Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Vertex skinning por software

Iniciado por marc_opolo, 26 de Diciembre de 2006, 06:34:36 PM

« anterior - próximo »

marc_opolo

Hola a todos,

 Estaba intentando implementar meshes con animación esqueletica, cuando me topé con el siguiente problema: como calculo las matrices para cada bone? Si aplico directamente sobre un vertice la matriz de rotacion del bone correspondiente, supongo que ese vertice deberia estar expresado en la base del bone, no? El tema es que ahora mismo, todos los vertices estan en objectspace, con lo cual, si quiero aplicar las matrices de los bones a los correspondientes vertices, tendria que transformar cada vertice al subespacio del bone, pues de no ser asi la rotación se efectuaria sobre el centro del objeto, no es asi?

Supongo que seria demasiado lento cambiar de base cada vertice, y luego aplicar la rotacion...

Actualmente estoy utilizando D3D, y Blender para modelar/exportar.

Gracias!

marcode

Lo ideal sería que pudieras exportar cada miembro como meshes independientes, cada uno con su propio origen de coordenadas.

Pero si no, puedes hallar y guardar la posición relativa de cada vértice y el bone al que pertenece justo después de cargar el modelo, y luego multiplicar las matrices siguiendo la jerarquía correspondiente antes de dibujar cada parte.
size=9]afortunadamente siempre ha habido alguien dispuesto a reinventar la rueda, de lo contrario seguiríamos usando un disco de piedra con un agujero.[/size]






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.