Gracias Gracias:  1
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,765

    3dsmax Reactor controllers?

    Hola, estoy tratando de conectar mediante reactor controller una serie de morph a sus controladores, llevo una tarde peleandome 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.pos.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 master
    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).



    Alguien sabe que estoy haciendo mal? Hay alguna forma de saber el índice del último estado creado?

    Gracias
    Miniaturas adjuntadas Miniaturas adjuntadas 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,909

    Re: 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
    character TD @ Walt Disney Animation Studios

    mi curso de rigging facial :: https://www.domestika.org/en/courses...je-3d/ikerclon
    blog :: www.somosposmodernos.com
    twitter :: www.twitter.com/soyposmoderno
    linkedIn :: www.linkedin.com/in/ikerj

  3. #3
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Re: Reactor controllers?

    Gracias Iker, 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
    CGTalque - Scripted reactions Woe's

    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
    Senior Member Avatar de phoelix
    Fecha de ingreso
    May 2005
    Ubicación
    Bogotá, Colombia
    Mensajes
    321

    Re: Reactor controllers?

    Hola Cesar,

    El problema recide en que el índice de los estados no esta 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 master 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 parecia que asignara los valores aleatoriamente, ya que inicialmente el valor del master en la creación de una reacción adquiere un valor por default (que es igual al valor del controlador master en el momento de su asignacion 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 master en los estados, pero antes de asignar este master 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 rollo 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.pos.controller.X_Position=5 --máximo valor para el master
    
    myReactor1 = myMorpher[1].controller = float_reactor () --asigno controlador reaction al primer morph
    reactTo myReactor1 myController.pos.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 master
    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. #5
    pythonized... Avatar de Cesar Saez
    Fecha de ingreso
    Mar 2004
    Ubicación
    Granada, España
    Mensajes
    3,765

    Thumbs up Re: Reactor controllers?

    Muchísimas gracias phoelix, vaya poder de deducción!!! con tu modificación/lógica funciona perfecto

    Como sufro con maxscript...

  6. #6
    Senior Member Avatar de phoelix
    Fecha de ingreso
    May 2005
    Ubicación
    Bogotá, Colombia
    Mensajes
    321

    Re: Reactor controllers?

    Vale Cesar, 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
    Último mensaje: 31-07-2015, 00:56
  2. Respuestas: 0
    Último mensaje: 09-09-2013, 20:58
  3. Blender Controllers aND Combinacion de dos teclas
    Por esmarquez en el foro Blender
    Respuestas: 0
    Último mensaje: 09-09-2013, 20:54
  4. Reactor
    Por ddesign en el foro Cortos de Animación
    Respuestas: 1
    Último mensaje: 05-08-2008, 21:54
  5. Una dudilla sobre 'Reaction Controllers'
    Por ikerCLoN en el foro Animación y Rigging
    Respuestas: 12
    Último mensaje: 07-02-2006, 01:03

Actualmente estos son sus permisos de publicación en el foro.

  • -No puedes crear nuevos temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes responder temas al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes subir archivos adjuntos al no estar registrado o no haber iniciado sesión en el foro.
  • -No puedes editar tus mensajes al no estar registrado o no haber iniciado sesión en el foro.
  •