Creación de una expresión de control para animación en 3ds Max

Sallaks - 11/11/2019 23:02
Hola, necesito ayuda con un problema de animación en 3ds Max que involucra expresiones float.

El problema consiste en controlar la altura de un cilindro mediante una palanca. Cuando la palanca está en una rotación de 0º, la altura del cilindro es de 200 unidades, mientras que cuando la palanca está en una rotación de 45º, la altura del cilindro es de 0 unidades. Si la palanca se rota en sentido negativo o se supera una rotación de 45º, la altura del cilindro se mantendrá en 200 o en 0 unidades, respectivamente.

¿Alguien sabe cómo puedo crear la expresión float para resolver este problema? Agradezco cualquier ayuda que puedan brindarme. ¡Saludos!
3dpoder - 12/04/2023 22:55
Para resolver este problema de animación en 3ds Max, se puede crear una expresión float utilizando la siguiente fórmula:

height = if rotation < 0 then 200 else if rotation > 45 then 0 else 200 - (rotation / 45 * 200)

Esta fórmula establece que la altura del cilindro será igual a 200 unidades cuando la rotación de la palanca sea menor que 0 y 0 unidades cuando la rotación sea mayor que 45. Cuando la rotación de la palanca está entre 0 y 45, la altura del cilindro se calculará mediante una interpolación lineal que varía desde 200 hasta 0 unidades a medida que la rotación de la palanca aumenta desde 0 hasta 45 grados.

Para crear esta expresión float, se puede seleccionar el objeto cilindro y abrir la ventana de Track View. Luego, se puede seleccionar la pestaña "Parameter Editor" y buscar el parámetro de altura del cilindro. Haciendo clic derecho sobre el parámetro, se puede seleccionar "Add Expression" y luego escribir la fórmula anterior en la ventana de expresiones.

Después de crear la expresión float, se puede probar la animación de la palanca y verificar que la altura del cilindro se ajuste correctamente a las diferentes rotaciones de la palanca.