Gracias Gracias:  2
Resultados 1 al 8 de 8

Tema: hacer "Keyable" un attributo

  1. #1
    Miembro
    Fecha de ingreso
    Jul 2014
    Mensajes
    45

    Maya hacer "Keyable" un attributo

    Hola, estoy con el expression editor de maya.
    Quiero alinear objetos, por lo que al activar el atributo FK_IK, se alineen ciertos objetos.
    En resumen:

    if (C_HARLEY_L_LEG_MASTER_CTRL.FK_IK == 1)
    C_HARLEY_L_LEG_MASTER_CTRL.translateX = C_HARLEY_L_KNEE_CTRL1.translateX;
    C_HARLEY_L_LEG_MASTER_CTRL.translateY = C_HARLEY_L_KNEE_CTRL1.translateY;
    C_HARLEY_L_LEG_MASTER_CTRL.translateZ = C_HARLEY_L_KNEE_CTRL1.translateZ;


    C_HARLEY_L_LEG_MASTER_CTRL.rotateX = C_HARLEY_L_KNEE_CTRL1.rotateX;
    C_HARLEY_L_LEG_MASTER_CTRL.rotateY = C_HARLEY_L_KNEE_CTRL1.rotateY;
    C_HARLEY_L_LEG_MASTER_CTRL.rotateZ = C_HARLEY_L_KNEE_CTRL1.rotateZ;

    Hasta aqui bien, el problema es que queda bloqueada la traslacion y rotacion.
    Es posible que una vez alineado cada atributo vuelva a ser keyable como siempre?

  2. #2
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,871

    Re: hacer "Keyable" un attributo

    Necesitas usar el comando getAttr.
    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
    Miembro
    Fecha de ingreso
    Jul 2014
    Mensajes
    45

    Re: hacer "Keyable" un attributo

    Gracias Iker.

    He puesto este script en el Expression editor: (me falta la otra condicion, es por ir probando)

    if (C_HARLEY_L_ARM_MASTER_IKFK_CTRL.SNAP_TO ==1)


    setAttr C_HARLEY_L_ARM_FK_CTRL.rx ` getAttr C_HARLEY_L_ARM1_IKBONE_B.rx`;

    setAttr C_HARLEY_L_ARM_FK_CTRL.ry ` getAttr C_HARLEY_L_ARM1_IKBONE_B.ry`;
    setAttr C_HARLEY_L_ARM_FK_CTRL.rz ` getAttr C_HARLEY_L_ARM1_IKBONE_B.rz`;

    .SNAP_TO es un atributo enum y keyable con dos opciones: FK o IK.

    pero no me funciona, alguien sabe por que?

  4. #4
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,871

    Re: hacer "Keyable" un attributo

    Código:
    if (C_HARLEY_L_ARM_MASTER_IKFK_CTRL.SNAP_TO ==1)
    ... debería ser algo como:
    Código:
    if (getAttr C_HARLEY_L_ARM_MASTER_IKFK_CTRL.SNAP_TO) == 1
    ¿Vienes de usar MAXScript o JavaScript? MEL funciona a base de comandos; no es un lenguaje orientado a objetos. Si te sientes más cómodo con tu manera de trabajar, echa un vistazo a pyMel, que es un módulo que te permite tratar la información de la escena de manera parecida a como lo estás intentando.
    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

  5. #5
    Miembro
    Fecha de ingreso
    Jul 2014
    Mensajes
    45

    Re: hacer "Keyable" un attributo

    Efectivamente vengo de Maxscript pero no me importa amoldarme a otro lenguaje.

    La Expression no funciona, lo que es el condicional, tanto

    if (C_HARLEY_L_ARM_MASTER_IKFK_CTRL.SNAP_TO ==1)

    como

    if (getAttr C_HARLEY_L_ARM_MASTER_IKFK_CTRL.SNAP_TO) == 1
    parece que hacen lo mismo

    De hecho el primero lo estoy usando en otra expresion para activar visibilidad o no de otros objetos, y funciona bien. Eso si, el atributo de visibilidad queda bloqueado como decia en el primer post ya que esta permanentemente conectado.

    Luego cuando le integro el resto de la expresion no funciona. Solo funciona cuando le doy al botón crear expresion (del expression editor), si se cumple la condicion en ese momento. Posteriormente nada. Parece como si no estuviera comprobando el valor que active la condicion. (tengo la opción de evaluate always conectada).

    Lo raro es que todo funciona por separado.

    Tambien he probado con el comando switch , pero tampoco sale.

  6. #6
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,871

    Re: hacer "Keyable" un attributo

    ¿Entiendo que estás intentando meter el código de IKFK dentro de una expresión en Maya, dentro de Expression Editor? ¿Cuál es el motivo? Si lo que estás haciendo es un 'snap' para alinear una solución IK a una FK, ¿por qué no lo haces como una herramienta aparte? Por ejemplo, un botón en una 'shelf'.

    Te recomiendo también, releyendo el contenido de tus mensajes, que no uses los valores locales de posición y rotación para hacer estas operaciones, sino que leas sobre el comando xform. Usando xform -matrix -ws podrás alinear dos objetos independientemente de los valores locales que tengan, ya que tomará las coordenadas 'world' en lugar de las que tienen con respecto a su padre.
    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

  7. #7
    Miembro
    Fecha de ingreso
    Jul 2014
    Mensajes
    45

    Re: hacer "Keyable" un attributo

    ¿Entiendo que estás intentando meter el código de IKFK dentro de una expresión en Maya, dentro de Expression Editor? ¿Cuál es el motivo? Si lo que estás haciendo es un 'snap' para alinear una solución IK a una FK, ¿por qué no lo haces como una herramienta aparte? Por ejemplo, un botón en una 'shelf'.
    Bueno, vengo de 3dmax y siempre he metido todo en un attribute holder del objeto en cuestion, simplemente me parecio más elegante crear un atributo sobre la huella con un desplegable del tipo "SNAP TO" y elegir entre IK o FK. Aunque si lo dices supongo que sera más "normal ponerlo directamente en el shelf con un script.

    Te recomiendo también, releyendo el contenido de tus mensajes, que no uses los valores locales de posición y rotación para hacer estas operaciones, sino que leas sobre el comando xform. Usando xform -matrix -ws podrás alinear dos objetos independientemente de los valores locales que tengan, ya que tomará las coordenadas 'world' en lugar de las que tienen con respecto a su padre.
    Aqui es donde pongo cara de WTF estaba haciendo?

    Lo colocare asi no creo que haya problemas. Muchas gracias por todo.

  8. #8
    reconvertido Avatar de ikerCLoN
    Fecha de ingreso
    Apr 2002
    Ubicación
    Los Angeles, USA
    Mensajes
    14,871

    Re: hacer "Keyable" un attributo

    Lo más cómodo suele ser tirar de botones para shelves. A partir de ahí, puedes complicarte todo lo que necesites. Investiga sobre scriptjobs y scriptnodes (similares a los callbacks de MAX; mucho ojo, porque podrían ralentizar tu escena) , porque los segundos pueden ayudarte a hacer lo que necesitas, y se guardan con la escena (los primeros no), de manera que podrías encapsularlo todo. De todos modos, si el rig que estás montando es para una empresa, en cuanto referencien tu personaje (que es como se suele trabajar), todo ese código que vive dentro del personaje dejará de funcionar, puesto que el namespace es distinto. Ten en cuenta estas variables.
    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

Temas similares

  1. Ofertas de Trabajo Daniel Ara busca Programadores y Artistas para "Un Cuento de Hadas"
    Por Stratos en el foro Colaboraciones e Iniciativas
    Respuestas: 0
    Último mensaje: 26-11-2016, 10:37
  2. Ofertas de Trabajo Daniel Ara busca Programadores y Artistas para "Un Cuento de Hadas"
    Por Stratos en el foro Colaboraciones e Iniciativas
    Respuestas: 0
    Último mensaje: 31-10-2016, 10:37
  3. Respuestas: 0
    Último mensaje: 28-07-2015, 21:49
  4. 3ds Max Duda con Scene Explorer ("Manage Layers" de siempre) en Max 2015
    Por Reihzard en el foro Problemas con Programas
    Respuestas: 0
    Último mensaje: 15-01-2015, 21:47
  5. KIa Forte 2013 Super Bowl ad - "Hotbot" Female Robot
    Por vanselm66 en el foro Anuncios de Televisión
    Respuestas: 1
    Último mensaje: 31-10-2014, 21:18

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.
  •