Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Bones

Iniciado por blau, 24 de Mayo de 2009, 03:04:03 AM

« anterior - próximo »

blau

Buenas,

ando liado con un sistema de animacion esqueletal.

Hasta ahora he conseguido:

- Leer toda la informacion del modelo, con sus bones, helpers, attachements, ... con sus correspondientes interpoladores.

- Leer las diferentes secuencias.

- Mostrar el modelo en estatico.

Ahora estoy renderizando las secuencias, y las rotaciones y las traslaciones creo que las hago bien. Pero el escalado de los distintos geosets no lo hace bien.

El codigo que uso es:

Código (csharp) [Seleccionar]

TranslationVector = Translation.GetValue(Time);

RotationVector = Rotation.GetValue(Time);

ScalingVector = Scaling.GetValue(Time);

Matrix mPivotPoint = Matrix.CreateTranslation(PivotPoint);

Matrix mScaling = Matrix.CreateScale(ScalingVector);

Matrix mRotation = Matrix.CreateFromQuaternion(RotationVector.ToQuaternion());

Matrix mTranslation = Matrix.CreateTranslation(TranslationVector);

Matrix mPivotPointInverse = Matrix.Invert(mPivotPoint);



Transform = mPivotPointInverse * mScaling * mRotation * mPivotPoint * mTranslation;

if (Parent != null && Parent.NodeId != -1) {

    Transform = Matrix.Multiply(Parent.Transform, Transform);

}

foreach (BaseNode child in Children) {

    child.BuildTransformMatrix(Time);

}


Es correcto esto?

Para mas datos, si visualizo el modelo en estatico, es decir, sin transformar los vertices. Sale todo correcto.

Incluso si visualizo los bones, estos se corresponden mas o menos con el modelo, pero cuando transformo los nodos, las escalas se van a tomar por ...

Tb agradeceria noticias de alguna documentacion sobre el tema.

Un saludo.

PD: Creo q voy a acostarme, quizas mañana con la cabeza despejada....



blau

Solucionado. :)

El problema lo tenia cuando aplicaba multiples matrices a un vertice.

Al tener que interpolar las posiciones y las normales obtenidas,

en vez de interpolar con el numero de bones que contiene el "grupo" al que pertenece el vertice , interpolaba con el numero de "grupos de bones" que tenia el geoset

Una chorrada de esas que te hacen perder un tiempo precioso.

En fin, que ya veo los modelos del warcraft  3 animados, por los menos en wireframe.

Ahora toca texturar. ;)



Prompt

Blau usted está genialmente chalado!

No existe una libreria de modelos y animacion para el WOW?
Estas haciendo una libreria de animacion y datos de render por bones?
Te aburres? Es un reto personal?

Me parecen muy interesantes estos retos, yo ni siqueira quise meterme en hacerlo, prefiero usar CAL3D o COLLADA. Pero, para que estas cacharreando ? :P

blau

#3
 :)

La verdad que es más un reto que otra cosa, y como lo mio es por hobby, pues a echarle horas.

Sí, existen librerias para el wow y para los modelos del war3.

Por cierto, que la  MdxLib en c# salio cuando ya leia yo toda la estructurra del mdx a pelo, hara ya 1 año. y se me cayo el mundo encima. Pero despues me ha venido bien, porque habia cosas que no entendia y me ayudo a comprenderlas.

Me ha servido de mucha ayuda el codigo fuente de un editor, aunque yo lo he ido orientando mas a un juego.

De todas formas la sensacion de ver el caballero del warcraft3 en wireframe en tu pantalla y sabiendo que es tu codigo el que lo esta animando, es insustituible.

Ademas mi idea no es quedarme ahi, ahora me queda texturizar, que lo tengo chupado, porque ya hice el importer para las texturas en formato .blp,  "solo" tengo que hacer el shader.

Y despues quiero meterme en hardware instancing para poner un monton de modelos iguales en pantalla.

Mi idea es hacer un tower defense multijugador en xna, y hacerme millonario.

Aunque quizas sea mas facil hacerme millonario, y pagar para que me hagan el juego, asi que ire comprando loteria.  ;)

Prompt

xD

Ains... que cosas. Si te metes de lleno en ello, yo lo enfocaría de otra forma, pero claro nada de usar C# :P

blau

Pues yo creo que elegi muy bien.

aunque hace tiempo toque c y c++, ahora mismo no estoy muy rodado, y enfrentarme a los punteros de c++ y a reservar memoria y liberarla y todo ese pontencial de problemas, puff, como que no me apetece.  ::)

Que voy a tener problemas de rendimiento? Pues ya se andara.   ^_^'

Ahora mismo prefiero productividad para los ratitos que le echo al tema.



blau


TrOnTxU

Esta chulo :)
Yo también me tengo que poner con los modelos skinned en breve.

Por cierto, chula la interfaz de forms :D
A ver si le hago algo parecido al animador.

dew
Vicent: Linked-In  ***  ¡¡Ya tengo blog!!

Prompt

estas fatal de la cabeza xd,está sapo el video :)

blau

Otro video, ya con sus texturas y todo.

No texturiza como blizzard manda, pero algo es algo.  :)


http://www.youtube.com/watch?v=pkey2ZlqmeU


Prompt

Que wapo! :) Lo tienes ya muy avanzado!






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.