XSIforum.com

ik fk autosnap/match

0 Usuarios y 1 Visitante están viendo este tema.

ik fk autosnap/match
« en: 28 Noviembre 2012, 21:02:47 »
Hola foreros, como está un poco depre el foro vengo con un asuntillo de rig ;)

Haciendo un rig de un brazo tipo cartoon con su strech y to eso... me he puesto a probar el tema de pasar desde ik a fk y aun me queda muchas cosas por aprender en este aspecto. He visto en la demo de victor viyals, a partir del 0:37, como cambia de ik a fk sin que se le cambie la posicion del brazo (autosnap o match creo que se llama esto):
Yo lo consigo hacer pero se me modifica el brazo y lo que quiero conseguir es justo lo que hace este hombre, cambiar de un modo a otro sin que cambie el brazo de posicion.

Graciasss y un saludo compañeross!!! ^-^

Re:ik fk autosnap/match
« Respuesta #1 en: 29 Noviembre 2012, 09:21:47 »
Necesitas algo de scripting para alinear los componentes de tu rig, no tiene demasiado misterio.

El único concepto que quizás no es tan evidente es que debes alinear los componentes FK e IK a la cadena final/principal, si lo enfocas así es mucho más genérico y fácil de mantener que si alineas de IK a FK y viceversa. En el fondo lo que quieres es que el rig funcione en IK/FK manteniendo la pose actual y como ha llegado allí no te debe importar demasiado.

Re:ik fk autosnap/match
« Respuesta #2 en: 29 Noviembre 2012, 11:07:25 »
Entonces, en este caso habria tres cadenas (una de IK, otra de FK y la del skin). Basicamente es lo que he estado haciendo en mis pruebas, pero, a que te refieres a alinear? estoy empezando con el sripting también y me has pillao mas para alla que para aca jejeje. Gracias por contestar ;) ayer me tiré hasta las mil haciendo pruebas y casi lo consigo pero me quede con la sensacion de que realmente no iba por buen camino

Re:ik fk autosnap/match
« Respuesta #3 en: 10 Diciembre 2012, 18:01:36 »
He intentado hacer una condicional: si el deslizador de FK/IK esta en 1 los huesos fk siguen al ik sino al contrario. No me llega a hacer el seguimiento, solo en uno de los casos. He utilizado matchtransform ¿esta bien?. a ver si me podeis ayudar :(

Re:ik fk autosnap/match
« Respuesta #4 en: 10 Diciembre 2012, 23:34:02 »
He hecho un ejemplillo rápido tratando de explicar la lógica tras el famoso autosnap.

La forma de automatizarlo y tal es secundaria si tienes el concepto claro, ahondar en una implementación genérica puede dar para otra larga conversación y prefiero mantener el ejemplo simple. De todas formas si lo intentas y te da problemas, estoy seguro que te podemos echar una mano :)



Espero que se entienda,
Un saludo

Re:ik fk autosnap/match
« Respuesta #5 en: 11 Diciembre 2012, 11:13:28 »
q crack eres!!! mil gracias!! ahora me quedo mas tranquilo al saber que iba por buen camino porque idea que llevaba es como la que has contado. Me creia que victor viyals lo hacia prograsivamente, es decir, que se seguian el uno al otro todo el tiempo pero al ver tu explicacion creo que lo tenga automatizado a que cuando cambia de fk a ik o viceversa se auto alinee (match all transform) pero al estar oculto no nos demos cuenta. Me has iluminado jejeje gracias de nuevo.

Re:ik fk autosnap/match
« Respuesta #6 en: 12 Diciembre 2012, 11:47:13 »
He conseguido crear dos botones: uno es snap FK y el otro es snap IK. Ahora me quedaría coseguir que lo haga automatico: cuando este en modo FK el IK se autosnap al FK y viceversa. Este último proceso lo veo mas complejo porque no consigo hacerlo automático.

Re:ik fk autosnap/match
« Respuesta #7 en: 12 Diciembre 2012, 14:50:16 »
Desde mi punto de vista te quedan 3 problemas por resolver:

1. Una de las cosas que mencionaba en el vídeo, la menos evidente a simple vista quizás, es que ambas cadenas se deben alinear a los componentes de la cadena principal, con eso logras 1 forma universal de hacer el match sin importar si es de IK a FK o viceversa, te ahorrarás excepciones y a la larga resulta más claro si tienes que dar soporte.

2. Otro problema es como identificar los componentes de la cadena para hacer un script suficientemente genérico, utilizar un código "especial" para cada cadena ik/fk que hagas no es lo más óptimo. Una forma de hacerlo es utilizar un hashtable (lo puedes implementar en un custom property) y obtener desde ahí las referencias a los objetos que utilizará el script.

3. Y por último lo que dices, cuando/como disparamos el ik/fk.
Si lo quieres automático yo crearía primero el comando universal, la hashtable en el elemento que contiene el blend IK/FK y por último un evento OnChanged() en el slider del blend para lanzar el comando (tener un parámetro oculto con el blend pre-cambio puede ser útil).




De todas formas esto es como todo, hay mil formas de afrontar el problema y cada cual te recomendará la que mejor le parece en función de su experiencia, no tomes lo que te he dicho como verdades absolutas. Investiga y prueba distintas soluciones por ti mismo, es la mejor forma de aprender :)

Un saludo

Re:ik fk autosnap/match
« Respuesta #8 en: 12 Diciembre 2012, 16:14:04 »
Muchas gracias cesar, estoy aprendiendo un monton con esto. son cosas que no se aprenden hasta que no te pones en serio. sigo probando y te comento ;) un saludo

Re:ik fk autosnap/match
« Respuesta #9 en: 12 Diciembre 2012, 17:10:31 »
Hola de nuevo ;) He estado arreglando los puntos que me distes y el primero lo arregle sin problemas, pero los otros dos no los consigo porque veo que estoy huerfano en ese sentido. Quiero profundizar en todo lo relacionado con el scrpting, nomenclaturas, custom property, etc ¿donde podria ver referencia para comenzar? creo que se la logica de los procedimientos pero no se por donde empezar. No se si me explico... vi en 3Dquaquers un curso de introduccion al sript ¿estan bien?

Un saludo y mil gracias!!