Resultados 1 al 13 de 13

Tema: Consulta Maxscript: randomize

  1. #1
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Question Consulta maxscript: randomizer?

    Hola a todos, estoy con un problema en 3dsmax que me da la impresión que debe ser fácil de resolver con Maxscript, como yo ni idea dejo la consulta para ver si alguien me puede orientar o por último decirme si es muy complejo de hacer.

    El tema es el siguiente, me gustaría asignar transformaciones (rotación y escalado es lo que me apura en este momento) en un eje determinado de forma aleatoria a un grupo de objetos seleccionados, sería ideal poder darle un rango y que max se encargue de randomizar el valor que le asigna a cada elemento en su respectivo eje.

    No sé cómo se hace en 3dsmax (quizás existe una herramienta ya diseñada para ello y no es necesario maxscript? ni idea) pero me imagino que no debería ser tan complicado basándome en la forma en que se puede randomizar en XSI (donde basta con escribir directamente en la coordenada r(a;b) donde a y b son los rangos), si llegara a ser algo muy avanzado no hay problema y me pongo con la faena a mano que tampoco es que sean tantos elementos esta vez.

    De antemano muchas gracias.

  2. #2
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Lightbulb Consulta maxscript: randomizer?

    Nada, que encontré justo lo que necesitaba ya hecho (de hecho, mejor de lo que esperaba), gracias de todos modos. http://www.pxfactory.eu/scripts/rand...andomizer.html. Saludos.
    debo buscar más antes de preguntar, debo buscar más antes de preguntar, debo buscar más antes de preguntar.

  3. #3
    Fecha de ingreso
    Oct 2002
    Mensajes
    8,617

    Consulta maxscript: randomizer?

    No cersar está bien, sobre todo porque cuando encontraste la respuesta la publicaste, yo de pardillo probaría con un controlador de ruido, se lo metería en escala y rotación, y después cuando tenga lo que me guste le haría un snapshot al objeto, pero si ya hay un script hecho genial. Saludos.

  4. #4
    Fecha de ingreso
    Dec 2004
    Mensajes
    3,387

    Consulta maxscript: randomizer?

    Por ejemplo: Random 1 100. En Maxscript te devolverá un valor aleatorio entre 1 y 100, esto lo puedes aplicar a cualquier cosa, incluido orientación y posiciones.
    PromineoStudios

    Sin riesgos en la lucha, no hay gloria en la victoria

  5. #5
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Consulta maxscript: randomizer?

    Hola, gracias a todos por las sugerencias. Fiz, lo del ruido también lo pensé, pero el problema es que ya tengo los objetos en su posición (que es bastante rígida, tiene que ser esa) por lo que el snapshot no me funcionaría o no supe cómo hacerlo para dejar una copia en un lugar tan determinado de la animación. Gracias Promineo, eso es más o menos lo que buscaba, ahora tendría que hacer un for para que repita la operación en cada objeto seleccionado y debería funcionar ¿no? Para salir del paso seguramente usaré el script, pero es una buena excusa para meterme un poco con Maxscript. Gracias.

  6. #6
    Fecha de ingreso
    Mar 2004
    Mensajes
    855

    Consulta maxscript: randomizer?

    Ahí van unas funciones que, aplican distintas transformaciones aleatoriamente:
    Código:
    Fn randomtranslation deltax deltay deltaz = (t- Recorremos todos los objetos seleccionados tfor obj in selection do (t - El desplazamiento inicial será de 0.0 local dispx = 0.0, dispy = 0.0, dispz = 0.0 t - Determinamos aleatoriamente el desplazamiento para cada eje if deltax.= 0.0 do dispx = random -deltax deltax if deltay.= 0.0 do dispy = random -deltay deltay if deltaz.= 0.0 do dispz = random -deltaz deltaz t - Aplicamos el desplazamiento move obj [dispx, dispy, dispz] t)).
    
    Fn randomrotation deltax deltay deltaz = (t- Recorremos todos los objetos seleccionados tfor obj in selection do (t - El ángulo de rotación inicial será de 0.0 local anglex = 0.0, angley = 0.0, anglez = 0.0 t - Determinamos aleatoriamente el ángulo para cada eje if deltax.= 0.0 do anglex = random -deltax deltax if deltay.= 0.0 do angley = random -deltay deltay if deltaz.= 0.0 do anglez = random -deltaz deltaz t - Aplicamos la rotación rotate obj (eulerangles anglex angley anglez) t)).
    
    Fn randomscale deltax deltay deltaz = (t- Recorremos todos los objetos seleccionados tfor obj in selection do (t - La escala inicial será 1.0 local scalex = 1.0, scaley = 1.0, scalez = 1.0 t - Determinamos aleatoriamente el factor de escala if deltax.= 1.0 do scalex = random -deltax deltax if deltay.= 1.0 do scaley = random -deltay deltay if deltaz.= 1.0 do scalez = random -deltaz deltaz t - Aplicamos la escala scale obj [1.0 + scalex, 1.0 + scaley, 1.0 + scalez] t).
    )
    Ejemplo de uso:
    Código:
    - Aplicamos una rotación aleatoria de 10º en x y z.
    
    Randomrotation 10.0 0.0 10.0.
    
    Aplicamos una traslación aleatoria de 2.0 en y, y 3.0 en z.
    
    Randomtranslation 0.0 2.0 3.0.
    
    Aplicamos una escala aleatoria en x, y, y z.
    
    Randomscale 0.1 0.2 0.3
    Evidentemente quedaría mejor con una UI, pero es totalmente funcional. Saludos.

    Edito: he modificado una cosa en la función randomscale.
    Última edición por HalfVector; 12-10-2006 a las 16:25

  7. #7
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Consulta maxscript: randomizer?

    Vaya, gracias half.

  8. #8
    Fecha de ingreso
    Apr 2009
    Mensajes
    8

    Consulta maxscript: randomizer?

    Hola, necesito saber cómo se hace una rotación aleatoria de un cubo, gracias.

  9. #9
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Consulta maxscript: randomizer?

    Lo tienes en la respuesta de Halfvector.
    Código:
    rotate $ (eulerangles (random 0 360) (random 0 360) (random 0 360))

  10. #10
    Fecha de ingreso
    Apr 2009
    Mensajes
    8

    Consulta maxscript: randomizer?

    Gracias por responder, no sé cómo se aplica el script para rotar el objeto en random, me podrías explicar, gracias.

  11. #11
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Consulta maxscript: randomizer?

    Selecciona el objeto y ejecuta esa línea en el Listener.

  12. #12
    Fecha de ingreso
    Apr 2009
    Mensajes
    8

    Consulta maxscript: randomizer?

    Ahí hice eso, pero lo que necesito es que el cubo gire continuamente aleatorio, no que se posicione en un giro aleatorio, gracias.

  13. #13
    Fecha de ingreso
    Mar 2004
    Mensajes
    3,685

    Consulta maxscript: randomizer?

    Aja, entonces lo que necesitas es un noise controller en la rotación del objeto, en la ayuda de max (buscando por esos términos) encuentras más detalles sobre cómo funciona.

Temas similares

  1. Blender Addon Oscurart randomize vértices
    Por oscurart en el foro Plugins
    Respuestas: 0
    : 08-08-2011, 00:08
  2. C# en maxscript
    Por Pery en el foro Programación y Scripts
    Respuestas: 2
    : 30-07-2008, 14:00
  3. [Maxscript]
    Por ricardo_arango en el foro Programación y Scripts
    Respuestas: 1
    : 15-06-2007, 15:29
  4. Clone randomize para 3ds Max
    Por Kuatrox en el foro Programación y Scripts
    Respuestas: 3
    : 28-05-2007, 17:57
  5. 3dsMax Maxscript
    Por grio en el foro Animación y Rigging
    Respuestas: 3
    : 15-03-2006, 22:28