XSIforum.com

Foros 3D => Autodesk Softimage => Animación => Mensaje iniciado por: Sumatra en 29 Junio 2007, 17:37:39

Título: Rig para pelota que bota y bota
Publicado por: Sumatra en 29 Junio 2007, 17:37:39
No veo solución al problema que se me plantea, a ver si me podeis ayudar. (A ver si me sé explicar)

He creado una pelota que cuando la anime, además de moverse y rotar, deberá hacer un efecto rollo Squash & Stretch. A la hora de hacer el rig para algo tan simple me vienen las complicaciones.
La idea es que pueda hacer S&S en Y, sin importar cuán rotada esté la pelota en ese momento. Como sabeis, el S&S básicamente consiste en mover el centro hasta la base del objeto y luego escalar en Y con Vol. activado.
El problema es que cuando la pelota está girada, si hago S&S, lo hace inclinado.

Este es el rig que he montao:

He creado un null rojo que será el padre de todo.
Este null será el encargado de rotar y mover la esfera.
También he creado un null amarillo con idea de que sea el encargado de controlar el efecto de S&S. Naturalmente, es hijo del null rojo para que cuando éste cambie de lugar, el hijo le siga. No obstante he desactivado que se vea afectado por la rotación, ya que sólo me interesa que se desplace, no que gire.

Pues bien, el problema viene con la pelotita de marras ya que si la emparento o constriño a un null, por ejemplo el rojo, se moverá y rotará perfectamente, pero como su centro está enmedio, el escalado lo hace desde ahí y queda incorrecto.
Por contra, si la emparento o constriño al null amarillo, me hace un S&S que te cagas, pero al rotar y volver a hacer S&S, lo hace inclinado.

Bueno, no sé si me explico. Posiblemente tenga una solución de lo más fácil y yo me estoy complicando la vida que te cagas. Sus dejo la imagen para que podais visualizar la movida.
Título: Re: Rig para pelota que bota y bota
Publicado por: alanf en 30 Junio 2007, 12:13:05
La solucion es tu amigo el Mr.Lattice. ;)

Si estiras y estrujas con un lattice, puedes rotar el objeto localmente y la rotacion sigue correcta pero la deformacion no cambia (o sea, no se inclina).

Yo tengo hecho un ball rig. A ver si lo posteo por aqui cuando tenga tiempo.
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 30 Junio 2007, 15:48:26
Gracias por la idea, Alanf, pero ¿cómo puedo mover el centro del Lattice para que la deformación la haga desde la base de la esfera y no desde el centro?
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 30 Junio 2007, 21:52:30
Ná. Resuelto.
En las propiedades de cinemática he variado la posición del pivote. Gracias de nuevo tío.
Título: Re: Rig para pelota que bota y bota
Publicado por: alanf en 01 Julio 2007, 06:22:01
Cinematics?? XDD

Querras decir.. Kinematics! ;)


Y para lo del centro hay muchas formas de hacerlo... puedes emparentar a un null y escalarlo, editar el Center del lattice hacia abajo seleccionando unos puntos y haciendo Move Center To Vertices. Tambien puedes hacer shapes para los puntos del lattice.
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 01 Julio 2007, 15:38:56
Estaba escribiendo en español. Por esto también he puesto propiedades en lugar de properties :)
Título: Re: Rig para pelota que bota y bota
Publicado por: alanf en 01 Julio 2007, 23:54:10
Estaba escribiendo en español. Por esto también he puesto propiedades en lugar de properties :)

Eso no es problema, pero aun asi, Cinematicas y Kinematicas son cosas MUY diferentes. :P
Título: Re: Rig para pelota que bota y bota
Publicado por: xuanprada en 02 Julio 2007, 11:07:30
cierto :)
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 02 Julio 2007, 13:52:49
Kinemáticas no existe en el diccionario. Qué quereis decir?

Por cierto, estoy intentando automatizar el giro de la pelota mediante expresiones. La expresión que tengo es

sphere.kine.local.rotx

360=(distancia*180)/(radio*PI)

¿Voy bien?
Título: Re: Rig para pelota que bota y bota
Publicado por: xuanprada en 02 Julio 2007, 16:48:00
Kinemáticas no está en el diccionario porque no existe, es una especie de adaptación del inglés que estás haciendo, como si dices friki en lugar de freaky o cualquier término de splanglish...
lo que decimos es que cinemáticas si existe y no tiene nada que ver con kinematics.
Na! si es que somos unos quisquillosos...
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 04 Julio 2007, 15:53:10
Bueno, yo sigo con lo mío, a ver si uno de estos genios matemáticos que esté acostumbrado a trabajar con expresiones me puede ayudar.

Como decía, estaba trabajando en un sistema para no tener que animar la rotación de la pelota cuando ésta se desplace.
Mediante la fórmula Rot = (360*distancia)/(2*PI*radio), he aplicado sendas expresiones a los ejes X y Z de la esfera.

El problema está en el eje Y. Me explico.

Cuando la pelota está en posición vertical (rot= 0,0,0), si la muevo, en la rotación sólo actuarán los ejes Z o X en función de hacia dónde la desplace. Hasta ahí, normal.
Ahora bien, una vez se ha desplazado (por ejemplo en X), si la quiero desplazar en Z, ya no debería actuar el eje Z de rotación, sino el Y, debido a que ya está rotada.

Lo que trato de conseguir son 2 cosas:

1-. cuando la pelota ha girado, si deseo desplazarla en otra dirección debería ponerse en marcha el eje de rotación Y
2-. Pese a la fórmula aplicada al eje de rotación Z, si la esfera está girada, ésta fórmula no debería actuar para que en su lugar, pueda hacerlo la del caso 1.

Ale, a ver quien es el cerebrito que descifra este entuerto.

PD: Por cierto, para los que querais experimentar, os posteo aquí el scrip. La escena que tengo sólo es una esfera hija de un null. Cuando el null se mueve, la esfera ha de rotar.

Rotación X: ( 360 * null.kine.local.posz ) / ( 2 * PI * sphere.sphere.radius )
Rotación Z: ( -360 * null.kine.local.posx ) / ( 2 * PI * sphere.sphere.radius )
Título: Re: Rig para pelota que bota y bota
Publicado por: Sumatra en 06 Julio 2007, 15:04:29
Bueno, viendo que nadie se anima a contestar y dado que este tema ha pasado de rigging a scripting, he abierto un nuevo hilo en el foro adecuado.

http://www.xsiforum.com/forum/index.php/topic,4487.msg44329.html#msg44329