Bueno, todo esto empieza cuando veo que Iker dice que el hacer una columna FK con Offsets(el segundo tipo) se pierde la habilidad de rotar la cadera desde, digamos, el centro de masas, el ombligo.
Y yo digo: esto no puede ser, tiene que haber alguna manera de tener lo mejor de cada mundo, Offsets y rotacion de columna como Dios manda.
Y después de decirlo, pues me puse a hacerlo, y esto que adjunto es el resultado.
Si la abris y punto puede parecer un poco caótico, así que en lugar de escribir una parrafada sobre su construcción he decidido hacer un FOTOTUTORIAL paso a paso.
Aqui el Scriptillo que se le añade al contrlador de la cadera
Código: Seleccionar todo
addModifier $ (EmptyModifier ()) ui:on
-- renombramos nuestro modificador
$.modifiers[1].name = "HipControl" -- [1] es el modificador de más arriba
-- refrescamos(max tiene problemas de refresco automático)
max create mode
max modify mode
ATH = attributes HipControl
(
rollout HipSnap "HipSnap"
(
--Nombres genéricos, renombrar segun los objetos reales en escena
local HipHlpStart = $Rig_SnapHelpStart
local HipHlpEnd =$Rig_SnapHelpEnd
local HipStart = $Rig_Cadera_RotCenter
local HipEnd = $Rig_Cadera_RotEndRef
Local HipOffset = $Rig_CaderaOffSet
local HipCTR = $CTR_Cadera
local HipCTRorigin = $Rig_HipCtrOigin
local HipEndOrigin = $Rig_SnapHelpEndOrigin
local HipStartOrigin = $Rig_SnapHelpStartOrigin
local HipRefAlign = $Rig_CaderaOffSetRefAlign
local OffSpine01 = $CTR_SpineOffSet_01
button SnapHIP "Align Controllers" Width:120 Height:30 tooltip:"Mantiene la posición de los huesos; Reajusta el Rig para que las transformaciones funcionen"
on SnapHIP pressed do
(
HipHlpEnd.position = HipRefAlign.position
HipStart.position = HipHlpStart.position
HipEnd.position = HipHlpEnd.position
HipCTR.position = HipCTRorigin.position
)
button ResetHIP "Initial Pose" Width:120 Height:30 tooltip:"Devuelve la Cadera a su posicion Inicial"
on ResetHIP pressed do
(
in coordsys HipCTRorigin HipCTR.rotation = eulerangles 0 0 0
HipCTR.position = HipCTRorigin.position
OffSpine01.position = HipStartOrigin.position
HipHlpStart.position = HipStartOrigin.position
HipStart.position = HipStartOrigin.position
OffSpine01.position = HipStartOrigin.position
HipHlpEnd.position = HipEndOrigin.position
HipEnd.position = HipEndOrigin.position
)
)
)
custAttributes.add $.modifiers[#HipControl] ATH-- esto es para añadir estos parametros al modificador recien creado
Ahora vuene la pregunta mágica Iker, se podría conseguir que lo que hace ese boton estuviese continuamente ejecutandose?
Por lo demás ¿le veis algun otro problema que yo he pasado por alto?