Resultados 1 al 2 de 2

Movimiento cola random en mel

  1. #1
    Fecha de ingreso
    Aug 2007
    Mensajes
    10

    Maya Movimiento cola random en mel?

    Hola a todos, hice una expresión para automatizar el movimiento de una cola de un dinosaurio con un delay, pero sin el random queda muy rígida y poco natural, mi pregunta es:
    Como se hace para controlar el comando Rand en el tiempo?
    Por ejemplo, me gustaría que el Rand se activará cada x frame o mejor en un tiempo random entre x y z.

    Aquí pongo la expresión:
    Float $cambio.
    $cambio=Rand(11,13).
    $minus02 = (`getattr -t (frame- Tail1_j.rotatey`).
    $minus03 = (`getattr -t (frame-20) tail1_j.rotatey`).
    $minus04 = (`getattr -t (frame-36) tail1_j.rotatey`).
    $minus05 = (`getattr -t (frame-56) tail1_j.rotatey`).
    $minus06 = (`getattr -t (frame-79) tail1_j.rotatey`).
    $minus07 = (`getattr -t (frame-100) tail1_j.rotatey`).
    $minus08 = (`getattr -t (frame-113) tail1_j.rotatey`).
    $minus09 = (`getattr -t (frame-123) tail1_j.rotatey`).
    $minus10 = (`getattr -t (frame-135) tail1_j.rotatey`).

    Tail2_j.rotatey = $minus02.

    Tail3_j.rotatey = $minus03.

    Tail4_j.rotatey = $minus04.

    Tail5_j.rotatey = $minus05.

    Tail6_j.rotatey = $minus06.

    Tail7_j.rotatey = $minus07.

    Tail8_j.rotatey = $minus08.

    Tail9_j.rotatey = $minus09.

    Tail10_j.rotatey = $minus10.

    Tail1_j.rotatey = sin (time*(3)*$cambio). Gracias a todos.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para controlar el comando Rand en el tiempo y que se active en intervalos variables, necesitas modificar la lógica de tu expresión. El problema actual es que Rand(11,13) se evalúa en cada frame, generando un valor nuevo constantemente y causando un parpadeo aleatorio incontrolado.

    La solución es crear un sistema que cambie el valor de $cambio solo en momentos específicos, no en cada fotograma. Puedes lograrlo usando la función noise o construyendo un temporizador personalizado.

    Una forma efectiva y moderna es usar la función noise de MEL, que genera un ruido Perlin, ofreciendo una secuencia aleatoria pero suave y continua en el tiempo, lo cual es ideal para movimientos naturales. Reemplaza la línea donde defines $cambio con esto: $cambio = 12 + (noise(time 0.1) 2);. Esto creará un valor que oscila suavemente alrededor de 12, con una variación aproximada de ±2. Puedes ajustar el 0.1 para cambiar la velocidad de la variación y el 2 para la intensidad.

    Si necesitas un cambio más abrupto en intervalos aleatorios, debes implementar un temporizador. Declara una variable global para mantener el valor y el momento del próximo cambio. La idea es usar un contador de tiempo (como time) y cambiar $cambio cuando este tiempo supere un umbral, para luego establecer un nuevo umbral aleatorio.

    Aquí tienes un esquema de cómo integrarlo en tu expresión:

    global float $cambio_valor;
    global float $proximo_cambio;

    if (time >= $proximo_cambio) {
    $cambio_valor = rand(11, 13);
    $proximo_cambio = time + rand(0.5, 3.0); // Cambia cada 0.5 a 3 segundos
    }

    Tail1_j.rotatey = sin(time 3 $cambio_valor);

    Debes inicializar las variables globales fuera de la expresión, quizás en un script de inicialización o verificando si existen. Para una solución más limpia dentro de una sola expresión, puedes simularlo con funciones de frame y un poco de aritmética, pero es más complejo.

    La recomendación actual es usar noise por su simplicidad y resultados naturales. Para un control de tiempo más preciso, considera usar un nodo de ruido (como noise) en el Editor de nodos de expresión de Maya, o incluso plantear la animación secundaria con herramientas como MASH o nCloth para simulación dinámica, que dan resultados muy orgánicos. Para MEL, la función noise es la mejor opción directa.

Temas similares

  1. Blender Random Flow genera malla aleatoria en Blender
    Por 3dpoder en el foro Plugins y Scripts
    Respuestas: 0
    : 27-09-2021, 11:44
  2. Hardware Sugerencias RANDOM BLACKSCREEN
    Por Ro1997 en el foro Hardware
    Respuestas: 4
    : 11-04-2019, 23:42
  3. Que es random control live
    Por mankehue en el foro Plugins y Scripts
    Respuestas: 2
    : 17-10-2012, 18:13
  4. Blender Random thoughts on Blender 2 5
    Por Freemind en el foro Programas de Diseño 3D y CAD
    Respuestas: 0
    : 07-06-2012, 01:06
  5. Respuestas: 0
    : 10-07-2009, 17:20