Hacer girar rueda

rulflink - 29/10/2008 22:28
Buenas, cambiando de tema, el otro día vi un rigging de una bici cartoon y me estuve planteando como haría para girar una rueda ovalada. ¿Sabéis cómo?
Se hacerla si es circular, pero claro si es ovalada debería moverse la posición de la elipse arriba y abajo.
Cesar Saez - 30/10/2008 13:33
Conociendo las ecuaciones de la elipse no es difícil bajarlas a un Rig y relacionar el perímetro con su eje mayor/menor. Todo es cosa de ponerse. elipse - Wikipedia, la enciclopedia libre.
mrmojorisin - 30/10/2008 15:04
Y no se puede contener y deformar un círculo en un lattice? ¿O FD?
rulflink - 30/10/2008 19:43
El perímetro bien, lo que quiero hacer es que se adapte al suelo conforme gira.
Cesar Saez - 31/10/2008 00:49

Y no se puede contener y deformar un círculo en un lattice? ¿O FD?

Si, pero no giraría una elipse sino un círculo deformado, es decir, la elipse haría subir y bajar su eje en cambio un círculo deformado lo mantendría contante.

Me estuve planteando como haría para girar una rueda ovalada. Sabéis cómo?
Se hacerla si es circular, pero claro si es ovalada debería moverse la posición de la elipse arriba y abajo.

El perímetro bien, lo que quiero hacer es que se adapte al suelo conforme gira.

A ver, ambas son cosas diferentes, necesitas que detecte la superficie o que cuando gire mueva verticalmente la bicicleta manteniendo siempre a la misma altura el punto de contacto?
rulflink - 01/11/2008 14:35
Buenas, estoy dándole vueltas, y creo que la teoría la tengo, pero no me aclaro en como rotan los objetos, si rotan en radianes grados. Porque los valores en Maxscript no me dan ni radianes ni grados, alguien sabe dónde puedo encontrar esa información? Gracias.
Cesar Saez - 01/11/2008 22:50
Busca en la ayuda de Maxscript por applying standard transformation, es un tutorial para iniciarse y explica el tema de las rotaciones, en realidad no lo explica todo, pero permite que te hagas una idea.
rulflink - 03/11/2008 00:18
Gracias César Sáez, he hecho algo para intentar ver si me aclaro, es más o menos, pero para aplicarlo (aunque no resulta exacto) debería trabajar con grados.

For n=0 to 360 by 10 do.

Dummy pos: [n,75+(25*(sin(n+90))),0].

Myeli = elipse length:100 width:200 pos: [n,75+(25*(sin(n+90))),0].

Rot = eulerangles 0 0 ((n/2)+90).

Rotate myeli root). Gracias.
phoelix - 16/11/2008 05:57
Hola. Bueno según la ecuación paramétrica de una elipse: X=a*cos tetha. Y=b*sin tetha. Con esto puedes hallar la longitud del Vector conformado por los valores x, y en un ángulo tetha, el cuál sería la rotación de la rueda, pones eso en un script controller en el eje y, y listo.

Y sí, si debes transformar el valor de rotación que está en radianes a grados, ya que las funciones sin y cos utilizan grados.

Ejemplo en 3dsmax 2008 adjunto.

-- IMÁGENES ADJUNTAS --

🖼️

Estamos trabajando para mostrar las imágenes del foro

Adjunto #85901

rulflink - 20/11/2008 22:46
Muchas gracias, nunca hubiera sacado el valor de.value, muchas gracias.
phoelix - 21/11/2008 14:35
Eso si has asignado la variable en el script como controller, porque si lo asignas como track se tendría que remover ese.value.

En este caso lo asigne como controller porque si lo asignaba como track hubiese generado una dependencia cíclica ya que estaría haciendo referencia al mismo Subanim PRS del track de posición en el cual se encuentra el script controller.

La ventaja de usar variable como track en vez de controller es que, si cambias el controlador que se encuentra asignado en esa variable la referencia a ese track no se perdería.