Como hacer que los objetos control del parpado se desplacen por el globo ocular?
Estoy haciendo unos huesos que se alargan y estiran para riggear un parpado. Los huesos tienen points que al moverse determinan la línea del parpado. Mi duda es como sería mejor hacer que esos points se pudieran mover solo por la superficie del globo ocular para que el párpado así encaje con el globo ocular y sea fácil posicionar los points.
Hay algún constraint que límite el movimiento a una superficie 3d?
Antes en el foro se me ha sugerido un método con huesos centrados en el globo ocular que es lo que intentaré, pero me quedo con la duda. Gracias.
Riggear un párpado y limitar puntos al globo ocular
Cuando riggeas un párpado usando huesos con puntos de control (points) en 3ds Max o Maya, lo ideal es que esos points se desplacen siguiendo la curvatura del globo ocular para que el párpado encaje perfectamente. No existe un constraint directo que limite un objeto a moverse sobre una superficie arbitraria, pero sí hay métodos prácticos.
Cómo hacerlo
Una técnica común es crear un helper o un hueso centralizado en el centro del globo ocular y hacer que los points del párpado estén parentados o ligados mediante Point Constraint a este hueso. Luego, usando Orientation Constraint o scripts simples de expresiones (por ejemplo con maxscript en 3ds Max o expressions en Maya), limitas el movimiento de los points para que se mantengan a una distancia constante desde el centro, generando así una trayectoria curva que sigue la superficie del ojo. Otra opción es usar un Spline IK donde los points se mueven sobre un spline que sigue la curvatura del globo ocular, esto facilita la animación y evita que los points se hundan o se separen del ojo.
Limitar los points de forma natural ayuda mucho en animación facial, pero recuerda que siempre tendrás que ajustar los extremos del párpado para evitar intersecciones raras con el ojo. Es como tener marionetas muy obedientes: siguen la curva, pero si tiras demasiado, igual hacen alguna pirueta inesperada.