Hola a todos, la verdad es que he publicado poco, pero como suelen decir, nunca es tarde si la dicha es buena. En fin, al grano, estoy intentado animar un pistón de motor en v con Maya, no sé si me explico con esto, aun así pongo una imagen, la verdad es que ya no sé qué más hacer, he probado de todo, y no consigo hacer que se mueva correctamente, a ver si podéis ayudarme.
Mejor pongo un video que he encontrado por ahí, aunque el diseño del motor no es el mismo, el mecanismo de los pistones si lo es. Un saludo y muchas gracias.
Hola, desde mi punto de vista la mejor forma es trabajando un pequeño rig, Autodesk Maya no lo conozco, pero te cuento un posible Rig con 3ds Max, que supongo será fácilmente aplicable a Maya.
En la imagen adjunta podrás ver las distintas piezas enumeradas (num):
-El eje_central(1): son barios cilindros agrupados y es la única pieza que finalmente tendrías que animar rotandola.
Tuerca (2) esta linkada al eje_central(1).
Base_tubo (3) linkada a la tuerca (2).
Tubo (4) y helper_point(6) están enlazados a la base_tubo (3).
Base_tubo (2) tiene un look at constraint al pistón(5).
Y por último, para que el pistón(5) suba y baje, ya que solo ha de moverse en el eje_z le he puesto un controlador el controlador float script en z_position para que tome el valor de helper_point. Position, z.
Posiblemente haya otra forma de riggearlo más correcta, pero es lo primero que se me ha ocurrido, y parece que funciona, espero que te sirva.
Te falta poner un parent constraint del pistón a la biela que es la que tira. Debes condenar (Lock) los atributos del pistón que no sean translate y. La biela no debería de contener ninguna clave de animación y si las tiene hay que borrarlas. Ahora, como todo, hay varias formas de hacerlo, depende lo que tengas en mente. Esto solo es un mínimo aporte que espero que sirva. Hasta luego.
Bueno, la cosa ya está totalmente clara, ahora si se mueve a la perfección, pero me surge otro problema, y la historia es que la animación que estoy haciendo es de un motor con dos pistones en v, y todo funciona correctamente, salvo por un pequeño detalle, y es el siguiente, el pistón no se queda fijo en una posición, sino que cada rotación que hago de 360 en x, el pistón y la biela, van bajando y esto no sé por qué es.
Os pongo un video para que veáis lo que está pasando, y con cada rotación que hago, el Maya me da el siguiente aviso:
Warning: cycle on pieston_pointconstraint1.target[0].targetparentmatrix may not evalúate as expected. (use cyclechek -e of todo disable this warning).
¿Qué estoy haciendo mal?
Vaya, antes tenías el pistón vertical y ahora está inclinado. Eso cambia la cosa. De todos modos, el movimiento deriva de la tuerca de abajo, el cigüenal? Que no estoy muy puesto en mecánica.
Es decir, nadie, aparte del cigüenal debería tener ninguna animación aplicada. Ahí parece como si el pistón o alguna otra pieza tuviera alguna clave de animación obligándola a tirar hacia abajo. Según esta yo borraría todas las claves salvo las de cigüeñal a ver qué pasa. El error ese puede venir por eso mismo ya que los constraint obligan a la biela a tirar del pistón mientras que si este tiene un movimiento de traslación aplicado este puede no aparecer como esperado pues otras fuerzas intervienen que lo impiden.
En fin, sin el archivo es más difícil ver qué pasa exactamente, pero parece algo de eso a priori. Saludos.
Yo por mi parte le echado otro vistazo y he encontrado otra forma más fácil y correcta que la que puse anteriormente, pero al igual que el anterior, cuando el pistón está en vertical u horizontal funciona bien, lo malo es cuando quieres colocarlo diagonalmente, pues no puedes restringir el movimiento a un solo eje. Le daré alguna que otra vuelta a ver si se me ocurre una solución, mientras tanto, suerte y si se te enciende a ti la bombilla antes que, a nosotros, cuentanoslo.