Snap IK a FK con strech repartido

Moderadores: David, Tutores

Responder
PabloPerez
Novato
Novato
Mensajes: 7
Registrado: Mié Abr 06, 2011 7:37 pm

Snap IK a FK con strech repartido

Mensaje por PabloPerez »

Hola a todos, llevo tiempo intentando pasar de ik con autostrech activado a fk y que al pulsar el botón snap aparte de linear los huesos, también reparta el factor de estiramiento entre el upper y el lowrleg para que quede en su sitio y que no se piren los huesos del pie; hasta el momento tengo el siguiente código pero no me funciona:

Código: Seleccionar todo

100.0:
(
--asigno la distancia entre huesos cuando esta en ik
FactorUpperStrechOriginal = (distance HuesoFK02L HuesoFK01L) 
FactorLowerStrechOriginal = (distance HuesoMain03L HuesoFK02L)

--Esto es lo de siempre alineamos los huesos y ponemos blending a 0							
HuellaPiernaL.modifiers [#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_FK_IK_Blend].value=0
in coordsys HuesoIK01L HuesoFK01L.rotation=eulerangles 0 0 0
in coordsys HuesoIK02L HuesoFK02L.rotation=eulerangles 0 0 0
in coordsys PuntoAyudaHorientacionPieL HuesoMain03L.rotation=eulerangles 0 0 0
in coordsys PuntoAyudaHorientacionTobilloL HuesoMain04L.rotation=eulerangles 0 0 0


--pongo el autoStretch a 0								
HuellaPiernaL.modifiers [#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_autoStretch].value=0

--Asigno las distancias con el autostrech a cero para calcular el factor de escala							
FactorUpperStrechNuevo = (distance HuesoFK02L HuesoFK01L)
FactorLowerStrechNuevo = (distance HuesoMain03L HuesoFK02L)

--divido las distancias para saber cuanto se estira
HuellaPiernaL.modifiers[#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_upperLeg_Scale].value = (FactorUpperStrechOriginal/FactorUpperStrechOriginal)
HuellaPiernaL.modifiers[#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_lowerLeg_Scale].value = (FactorLowerStrechNuevo/FactorLowerStrechOriginal)
)
Adjunto una imagen del problema
Imagen
Un saludo

ikerJ
Miembro Vip
Miembro Vip
Mensajes: 212
Registrado: Mar Jun 15, 2010 9:21 pm

Re: Snap IK a FK con strech repartido

Mensaje por ikerJ »

Buenas, Pablo,

La longitud original de los huesos es siempre la misma, así que no haría falta que midieras la distancia cada vez entre los distintos huesos. De modo que 'FactorUpperStrechOriginal' y 'FactorLowerStrechOriginal' son siempre el mismo valor. Atención al errorcillo que tienes en el 'script', y que podría ser lo que te genera el problema:
--divido las distancias para saber cuanto se estira
HuellaPiernaL.modifiers[#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_upperLeg_Scale].value = (FactorUpperStrechOriginal/FactorUpperStrechOriginal)
HuellaPiernaL.modifiers[#Attribute_Holder].PanelAtributeHolderPiernaL [#spinner_lowerLeg_Scale].value = (FactorLowerStrechNuevo/FactorLowerStrechOriginal)
Otra cosa que puedes hacer es averiguar ese 'factor de estiramiento' para un solo hueso, dividirlo entre dos, y asignar cada una de esas dos mitades al 'upperLegScale' y 'lowerLegScale'. El 'autostretch' de la cadena IK siempre te va a dejar la rodilla en el centro de la línea que une el tobillo y la cadera, así que para que la pierna FK se alinee también en longitud con la IK, el factor que uses en 'upperLeg' y 'lowerLeg' tendría que ser el mismo.

Prueba y me cuentas a ver qué tal ;)

¡Saludos!

Responder

Volver a “Convocatoria Abril 2011”