Resultados 1 al 2 de 2

Script para hacer rotar un objeto de forma natural

  1. #1
    Fecha de ingreso
    Nov 2015
    Mensajes
    27

    Script para hacer rotar un objeto de forma natural

    Hola amigos aquí ahí les dejo este sencillo script para hacer rodar un objeto de manera natural al desplazar el objetivo.
    Código:
    paramWire, connect $.pos, controller[#X_Position] $.rotation, controller[#Y_Rotation] X_Position/$. Radius
    .
    Únicamente ejecuten el MaxScript, seleccionen el objeto, copien el texto mencionado y presionen SHIFT + ENTER y listo ya pueden animar este objeto.

    NoTA: Aplica única y exclusivamente para objetos con radio único. Saludos.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    El script que compartes es para 3ds Max y utiliza la función paramWire para conectar la posición en el eje X con la rotación en el eje Y, usando el radio del objeto. Sin embargo, este método es básico y tiene limitaciones, como funcionar solo en un eje y para objetos con un radio uniforme.

    Para una solución más actual y natural, el enfoque recomendado hoy es usar controladores de expresión o scripts más avanzados en el propio 3ds Max. Una mejor práctica es calcular la rotación basada en el desplazamiento del objeto en el mundo, no solo en un eje. Puedes crear un script que calcule la distancia recorrida entre fotogramas y aplique una rotación proporcional al radio de tu objeto.

    Aquí tienes un enfoque más robusto. Abre el Editor de Scripts en 3ds Max (MAXScript). Selecciona tu objeto y ejecuta este script modificado. Este ejemplo calcula la rotación en el eje Z (común para ruedas) basada en el movimiento en el eje X, pero puedes adaptarlo.

    Primero, necesitas eliminar cualquier animación de rotación existente en el eje que usarás. Luego, añade un controlador de expresión. Puedes hacerlo manualmente desde la pestaña Motion y el cuadro de Expression Controller, o con un script.

    Un script más completo sería así. Asume que quieres que el objeto ruede en el eje Z al moverse en X. Selecciona el objeto y ejecuta esto:

    radio = $.radius
    en la rotación de Z, asigna un controlador de Float Expression.
    En el controlador de expresión, escribe: - ( Position.X / radio )
    Esto hará que la rotación en Z sea igual al desplazamiento en X dividido por el radio, con el signo negativo para corregir la dirección.

    Para un control más preciso y natural que funcione en cualquier dirección del plano, necesitas calcular la distancia recorrida en el plano XY. Esto es más complejo y requiere un script que se ejecute continuamente, como un Controlador de Script. La mejor herramienta actual dentro de 3ds Max para esto es el propio lenguaje MAXScript con controladores de script o expresiones.

    Puedes crear un Controlador de Script para la rotación. En el cuadro de Script Controller, usa un código como este:

    distancia = sqrt ((deltaXdeltaX)+(deltaYdeltaY))
    if distancia > 0 then ( - (distancia / radio) ) else 0

    Necesitarías almacenar la posición anterior del objeto para calcular el delta (cambio) entre fotogramas. Esto implica más pasos de programación.

    Para usuarios que buscan una solución inmediata y con interfaz gráfica, una herramienta actual y excelente es el conjunto de scripts gratuitos bobo_roll. Puedes buscarlos en sitios de la comunidad de 3ds Max. Estos scripts están diseñados específicamente para hacer rodar objetos de manera natural y manejan múltiples ejes y situaciones complejas.

    En resumen, para una solución profesional actual, te recomiendo explorar los controladores de expresión o script dentro de 3ds Max para tener un control matemático preciso. Para objetos que ruedan en cualquier terreno, la mejor solución es animar la rotación manualmente con ayuda de un ayudante (dummy) que siga el camino y cuyo desplazamiento controle la rotación de la rueda mediante una expresión matemática de circunferencia.

Temas similares

  1. Autodesk Maya Maya expresión para rotar un objeto pegado al suelo
    Por morphi en el foro Animación y Rigging
    Respuestas: 1
    : 22-08-2025, 19:32
  2. Script para volver a la posición antes de rotar
    Por Junocho en el foro Plugins y Scripts
    Respuestas: 2
    : 21-10-2020, 09:58
  3. Alguna forma de hacer un objeto inseleccionable
    Por mario3d en el foro Modelado
    Respuestas: 4
    : 16-03-2010, 00:24
  4. Respuestas: 3
    : 29-06-2009, 05:02
  5. Existe algún script para crear efecto tipo anuncio gas natural
    Por fabio3d en el foro Plugins y Scripts
    Respuestas: 7
    : 02-05-2007, 01:42