XSIforum.com

Rigg de un tentaculo

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

Epar

Rigg de un tentaculo
« en: 17 Agosto 2008, 19:54:54 »
Estoy dándole vueltas al tema de hacer un tentáculo animado.
Por ejemplo el de un calamar.
La cuestión es que necesito que tenga un movimiento suave pero a la vez poder animar manualmente el extremo del tentáculo para que se agarre a objetos, etc...

He probado varias opciones de riggs pero no encuentro la que se acomode mejor a lo que quiero.
Lo mas simple es hacer aun cadena larga (unos 12 huesos aprox) y animarla como IK usando los huesos del extremo como FK.
Pero no es eso lo que quiero.

Usando Tail va muy bien, ya que también puedes mezclar la animación propia del Tail con FK,...pero son demasiados controles...y ademas no me fío mucho,...


Alguna idea?

Gracias


alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Rigg de un tentaculo
« Respuesta #1 en: 17 Agosto 2008, 23:33:25 »
Que tal objetos en una curva? Controlas los CVs con cluster-to-center y repartes multiples vertebras en la curva con un Path constraint.

Puedes hacer una vertebra con el constraint y duplicarla XX veces, luego abres el PPG de la seleccion multiple y en "Path %age" pones "L(0,100)" (sin comillas) para que se repartan por toda la curva.

El problema luego son los up-vectors.

Epar

Re: Rigg de un tentaculo
« Respuesta #2 en: 17 Agosto 2008, 23:46:39 »
Que tal objetos en una curva? Controlas los CVs con cluster-to-center y repartes multiples vertebras en la curva con un Path constraint.

Puedes hacer una vertebra con el constraint y duplicarla XX veces, luego abres el PPG de la seleccion multiple y en "Path %age" pones "L(0,100)" (sin comillas) para que se repartan por toda la curva.

El problema luego son los up-vectors.

Gracias por responder Alan.
Es una de las opciones que he manejado. Pero tiene una pega: Al mover los controladores de la curva, ésta se deforma (estira) y deformará la malla estirándola también.

Pero ahora se me ocurre que podría poner un Distance constraint para evitar que se estiren.... ::)

El tema es que hace años, cuando trabajaba con LW hicimos un setup similar y montábamos dos null a los lados de la cadena de huesos para controlar el punto en el que se doblaba. Así desplazando los nulls podías tener la cadena curvandose a derecha e izquierda en cualquier punto....pero ya no me acuerdo como se montaba ese setup.....y no he encontrado documentación. :-\

Sigo probando.... Voy a intentar de nuevo lo que dices.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Rigg de un tentaculo
« Respuesta #3 en: 17 Agosto 2008, 23:56:44 »
Pero tiene una pega: Al mover los controladores de la curva, ésta se deforma (estira) y deformará la malla estirándola también.
No sabia que no querias que se estirase. En mi opinion un tentaculo es elastico, pero si no quieres que sea asi, en vez de usar el constraint "Curve (path)" usa el "Curve (param)". Tal vez te sirva.

Si se estira es que pides mas de lo que es posible con la geometria existente. Tienes que hacer el tentaculo mas largo o aceptar la deformacion.

Pero ahora se me ocurre que podría poner un Distance constraint para evitar que se estiren.... ::)
No hagas eso. Estoy 99% seguro que no te lo solucionara y seguramente se volvera inestable y/o impredecible.

alanf

  • *****
  • 6029
  • Pipeline Developer @ Felix & Paul Studios
Re: Rigg de un tentaculo
« Respuesta #4 en: 17 Agosto 2008, 23:59:24 »
En mi opinion, insisto en que sea elastico es algo bueno. Nunca sabes si te hara falta.

Re: Rigg de un tentaculo
« Respuesta #5 en: 18 Agosto 2008, 00:19:57 »
Como hacer que no se estire una cadena que sigue una curva? fácil, en lugar de situarlo directamente sobre la curva simplemente haz que la cadena "mire" a los objetos de la curva pero no esté en ella (salvo el primero), es decir.... crea tus 12 cadenas unitarias emparentadas entre si (no al efector sino al hueso o si prefieres a un null que esté en el lugar del eff) y que cada efector tenga un position contraint con el elemento pertinente en la curva, de esta forma cada hueso rotará para seguir a la curva pero no se estirará.
« Última modificación: 18 Agosto 2008, 00:29:07 por César Sáez »

Epar

Re: Rigg de un tentaculo
« Respuesta #6 en: 18 Agosto 2008, 05:27:25 »
Bueno al final creo que voy a tirar por lo simple y usar tres cadenas de 4 huesos emparentadas entre si usando los eff como puntos de control. Así, mezclado con FK evito meter UpVector.



Re: Rigg de un tentaculo
« Respuesta #7 en: 18 Agosto 2008, 06:06:14 »
Cual es el problema con los upvector?

Puedes recrear la solución que te comentaba Alan de forma automática creando la curva y ejecutando "create control splines" desde el menu animate/create/skeleton. Algo parecido a lo que te comentaba yo lo puedes lograr desde el mismo menú usando la opción "create chain from curve" y activando la casilla constraint. O0

Epar

Re: Rigg de un tentaculo
« Respuesta #8 en: 18 Agosto 2008, 08:43:00 »
Cual es el problema con los upvector?

Puedes recrear la solución que te comentaba Alan de forma automática creando la curva y ejecutando "create control splines" desde el menu animate/create/skeleton. Algo parecido a lo que te comentaba yo lo puedes lograr desde el mismo menú usando la opción "create chain from curve" y activando la casilla constraint. O0
EL problema con los upVector es que rotan toda la cadena y eso provoca un "retorcido" en al malla en la zona donde nace el tentáculos.
Las Curvas (control splines y huesos en una curva) no tienen la solidez suficiente para este tipo de animación...
Pero gracias de todas formas.  O0
Lo tengo en cuenta para futuros riggs.

Lo que buscaba es algo parecido al Tail de xsi pero sin automatización. Es decir, esa misma suavidad de curvatura pero con dos o tres puntos de control modificables.
Lo cual serviría tambien para antenas, colas, etc....

Gracias a los dos.  O0

Re: Rigg de un tentaculo
« Respuesta #9 en: 18 Agosto 2008, 09:36:44 »
Je, hubieras empezado por ahí, no había caído en que por ahí iban los tiros :)

Puedes hacer algo como el tail usando soft constraints, es relativamente sencillo, bastante liviano para el sistema y pese a no ser físicamente correcto funciona bastante bien (al ser constraints lo puedes plotear sin "las particularidades" del tail y evitarte un par de problemas).

Una forma de montarlo sería hacer una cadena de 1 hueso, crear un null y alinearlo con el eff, emparentar el null al root, desemparentar el eff y hacer un pose constraint del effector hacia tu null. Copia eso un par de veces creando "los eslabones" de la cadena y emparenta el root de cada copia al null que reemplaza al efector del eslabon anterior. Si bajas el weight de los pose constraint y mueves el root master de todo tendras tu cadena con dinámicas :)