Resultados 1 al 6 de 6

Tema: Reactor controllers

  1. #1
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,764
    Gracias (Dadas)
    73
    Gracias (Recibidas)
    187

    3dsmax Reactor controllers?

    Hola, estoy tratando de conectar mediante Reactor controller una serie de Morph a sus controladores, llevo una tarde peleándome con la documentación, pero no hay forma de que el index de cada estado coincida con el orden de creación (tal como menciona la documentación) y por ende se me hace muy difícil/imposible setear los valores, alguien me podría dar una mano? Pego un ejemplo muy simple para ejemplificar la clase de problemas con los que me encuentro.
    Mymesh = $sphere -objeto con el Morpher.

    Mymorpher = mymesh. Modifiers[1] -modificador Morpher.

    Mycontroller = $circle01 -controlador que manejara los Morph.

    Myreactor1 = mymorpher[1].controller = float_reactor () -asigno controlador reaction al primer Morph.

    Reactto myreactor1 mycontroller, pues, controller.x_position, controller -setteo que reaccione al movimiento en x de mi controlador.

    Setreactionname myreactor1 1 primer estado -renombro el primer estado.

    Setreactionvalue myreactor1 1 (0.0) -defino un valor para el máster.

    Setreactionstate myreactor1 1 (0.0) -defino un valor para el esclavo en este estado.

    Createreaction myreactor1 -creo un segundo estado.

    Setreactionname myreactor1 2 segundo estado.

    Setreactionvalue myreactor1 2 (5.0).

    Setreactionstate myreactor1 2 (0.0).

    Createreaction myreactor1 -creo un tercer estado.

    Setreactionname myreactor1 3 tercer estado.

    Setreactionvalue myreactor1 3 (-5.0).

    Setreactionstate myreactor1 3 (100.0).
    Hasta ahí en teoría debería funcionar, pero resulta que los índices no coinciden con el orden de creación y pareciera que los asigna aleatoriamente (), el resultado al ejecutar el script es el siguiente (resultado que también varía aleatoriamente).

    Reactor controllers-hace_lo_que_quiere.jpg
    ¿Alguien sabe qué estoy haciendo mal? Hay alguna forma de saber el índice del último estado creado? Gracias.
    Miniaturas adjuntas Miniaturas adjuntas Reactor controllers-hace_lo_que_quiere.jpg  
    Última edición por Cesar Saez; 04-06-2008 a las 17:14

  2. #2
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,965
    Gracias (Dadas)
    131
    Gracias (Recibidas)
    873

    Reactor controllers?

    Yo te recomendaría que pasaras de los Reactor controllers y directamente usaras expresiones para atar todos los morphs a sus controles.

    Luego en casa, de todos modos, le echo un vistazo más en profundidad.

  3. #3
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,764
    Gracias (Dadas)
    73
    Gracias (Recibidas)
    187

    Reactor controllers?

    Gracias IkerClon, tenía ganas de hacerlo con reaction controllers ya que me parece que son bastante más rápidos de evaluar, pero pareciera que no soy el único que tiene esta clase de problemas. cgtalk - Scripted reactions woes.

    Es una lástima que no funcionen tan bien a la hora de scriptarlos, por ahora tendré que dejar standby el script y terminar de hacer las cosas a mano, no puede ser que Maxscript tenga tantos agujeros.

  4. #4
    Nivel Héroe Avatar de phoelix
    Fecha de ingreso
    May 2005
    Ubicación
    Bogotá, Colombia
    Mensajes
    321
    Gracias (Dadas)
    2
    Gracias (Recibidas)
    35

    Reactor controllers?

    Hola César. El problema recide en que el índice de los estados no está en el mismo orden en que fueron creados como dice en la documentación.

    El orden de los índices de los estados depende del valor del máster en cada estado, algo que obviamente parece ser un error de programación por parte de los desarrolladores de max.

    Afortunadamente hay una solución y es tener eso en cuenta a la hora de asignar los estados. En tu script parecía que asignara los valores aleatoriamente, ya que inicialmente el valor del máster en la creación de una reacción adquiere un valor por default (que es igual al valor del controlador máster en el momento de su asignación en el Reactor controller), al tener varios el mismo valor inicialmente, tendrían el mismo índice, y max asignaria los parámetros aleatoriamente.

    Yo lo que haría es crear los estados según un orden definido por el valor del máster en los estados, pero antes de asignar este máster al controlador de reacción cambiar su valor al mayor valor que pueda tener en los estados. De esta forma si se hace por este orden, el estado que se vaya asignando siempre va a tener un valor menor al siguiente, mayor al anterior y por lo tanto un orden equivalente a su creación.

    Que más feo, pero ni modos, muchas veces hay que conformarse con cogerle la mañita a este max.

    Aquí hago la modificación:
    Código:
    mymesh = $sphere -objeto con el Morpher.
    
    Mymorpher = mymesh. Modifiers[1] -modificador Morpher.
    
    Mycontroller = $circle01 -controlador que manejara los Morph.
    
    Mycontroller, pues, controller.x_position=5 -máximo valor para el máster.
    
    Myreactor1 = mymorpher[1].controller = float_reactor () -asigno controlador reaction al primer Morph.
    
    Reactto myreactor1 mycontroller, pues, controller.x_position, controller -setteo que reaccione al movimiento en x de mi controlador.
    
    Setreactionname myreactor1 1 primer estado -renombro el primer estado.
    
    Setreactionvalue myreactor1 1 (-5) -defino un valor para el máster.
    
    Setreactionstate myreactor1 1 (0) -defino un valor para el esclavo en este estado.
    
    Createreaction myreactor1 -creo un segundo estado.
    
    Setreactionname myreactor1 2 segundo estado.
    
    Setreactionvalue myreactor1 2 (0).
    
    Setreactionstate myreactor1 2 (0).
    
    Createreaction myreactor1 -creo un tercer estado.
    
    Setreactionname myreactor1 3 tercer estado.
    
    Setreactionvalue myreactor1 3 (5).
    
    Setreactionstate myreactor1 3 (100).
    .
    Última edición por phoelix; 05-06-2008 a las 04:41
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  5. Gracias Miguel-Arte-3D-1990 Agradece este post
  6. #5
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,764
    Gracias (Dadas)
    73
    Gracias (Recibidas)
    187

    Thumbs up Reactor controllers?

    Muchas gracias Phoenix, vaya poder de deducción, con tu modificación/lógica funciona perfecto. Como sufro con Maxscript.

  7. #6
    Nivel Héroe Avatar de phoelix
    Fecha de ingreso
    May 2005
    Ubicación
    Bogotá, Colombia
    Mensajes
    321
    Gracias (Dadas)
    2
    Gracias (Recibidas)
    35

    Reactor controllers?

    Vale César, aquí estamos para servir.
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

Temas similares

  1. Maya Linkear dos controllers en el Norman rig
    Por Reihzard en el foro Animación y Rigging
    Respuestas: 3
    : 31-07-2015, 00:56
  2. Respuestas: 0
    : 09-09-2013, 20:58
  3. Blender Controllers and combinación de dos teclas
    Por esmarquez en el foro Blender
    Respuestas: 0
    : 09-09-2013, 20:54
  4. Reactor
    Por ddesign en el foro Cortos de Animación
    Respuestas: 1
    : 05-08-2008, 21:54
  5. Una duda sobre reaction controllers
    Por ikerCLoN en el foro Animación y Rigging
    Respuestas: 12
    : 07-02-2006, 01:03