Resultados 1 al 8 de 8

Tema: Problema al escalar rigs con auto-stretch

  1. #1
    Fecha de ingreso
    Aug 2005
    Mensajes
    25

    3dsmax Problemon al escalar rigs con auto-stretch

    Que tal señoras y señores. Soy adriuz, hace tiempo que estoy en el foro y, aunque no charlo demasiado he aprendido muchísimo, y se los agradezco a todos. Cuando yo empecé a aprender, esto ya estaba muy avanzado.

    Uso 3d Studio Max (.

    Me he topado con un problema.

    Al agarrar cualquier Rig de character (inclusive los de Paul Neale) o uno que dejo Iván Lobón por ahí, o cualquiera en fin, existe el problema del auto-stretch en piernas y brazos, al estar hecho con script, si es que uno escala el personaje desde su máster, o creando un character. El problema surge porque mediante una expresión, se toman los valores de distancia, y se pone numéricamente el largo de los huesos, y entiendo que esto debería ser dinámico, para que lo reconozca al reescalar.

    Busque y busque y nada, no hay respuesta a esto, entiendo porque se genera el problema, pero trate de arreglarlo de mil formas, y nada.

    Si alguien sabe algo sobre esto, me gustaría que lo resolvamos, y de paso, empiezo a participar más. Muchas gracias. Hasta luego.
    My Animation Blog - http://amariotto.blogspot.com/

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

    Problemon al escalar rigs con auto-stretch

    El tema es que justamente no debería ser dinámico a no ser que se deje dinámico a propósito (no siempre se hace así), el script, genéricamente hablando, pregunta si la distancia entre el pto x e y es superior al valor z (que vendría a ser el valor fijo que debe medir la cadena en condiciones normales) entonces escala/cambia longitud de los huesos de la cadena.

    No todos los rigs son reutilizables tan fácilmente y de serlo han sido planificados de esa manera. Saludos.

  3. #3
    Fecha de ingreso
    Aug 2005
    Mensajes
    25

    3dsmax Problemon al escalar rigs con auto-stretch

    Perdón César, tal vez no defini bien mi idea sobre el tema, yo entiendo lo que el script está haciendo, cuando dije lo de dinámico, lo dije en tanto y en cuanto a la longitud del hueso, de dónde el script saka el valor para saber si debe hacerlo stretchable, lo que yo quise hace, es que la longitud del hueso, visto que en 3dsmax no existe el length sino que utiliza el height, tratar de que el height sea dinámico, o sea, utilizar por ejemplo, un tape, linkeándolo a los extremos, para que tome el length de ahí, pero ninguna dio resultado, ya que, al escalar, no se modifica numéricamente el heigth del bone, o el Lenght del tape, como para que tome el valor desde ahí.

    Básicamente eso, si tengo un hueso que mide 5 centímetros de height, y si al escalarlo proporcionalmente al doble, el hueso midiese 10 centímetros de height, sería más fácil, porque el script seguiría diciendo que la distancia entre x e y debería ser el doble para empezar a stretchear, y de esta manera seguiría funcionando correctamente.

    Espero a ver sido más claro.

    Y muchas gracias por la participación, un gusto.

    Abrazo.

    Posdata: que andas haciendo por Argentina?
    My Animation Blog - http://amariotto.blogspot.com/

  4. #4
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,651

    Problemon al escalar rigs con auto-stretch

    De dónde el script saka el valor para saber si debe hacerlo stretchable.
    En un Rig nunca nunca nunca escales los huesos usando escalar. Todos los huesos tienen una propiedad llamada length, no height, que no se puede animar, pero sí consultar. En una cadena de huesos (1>2>3>4), la longitud del hueso 1 viene dada por la posición x del hueso dos, y así sucesivamente. Dependiendo si la cadena de huesos es FK o IK la expresión que usaras para la posición x de ese hueso 2 será distinta, pero parecida.

    Si quieres un sistema IK autostretchable, haz lo siguiente:
    -Crea un sistema de tres huesos (dos + nub) + IK.
    - Lo que quieres es un sistema que al mover el IK más, allá del brazo estirado, éste se escale. Es decir, si:
    A = longitud del hueso 1
    B = longitud del hueso 2.

    C = a + b = distancia máxima del IK hasta el hueso 1 sin escalar.

    Entonces.
    Código:
    If (distance start, pues end, pos) > ($bone01.length + $bone02.length)
    Then (distance start, pues end, pues - $bone01.length + $bone02.length) /2
    Else $bone01.length
    éste es el código que usaras en el segundo y el tercer hueso de la cadena. Es decir, si la distancia que hay entre el primer hueso y el IK es mayor que la suma de la longitud de los huesos, entonces la posición del segundo hueso equivale a esa distancia menos la suma de las longitudes partida por dos.

    Si sólo haces en el hueso 2 verás cómo el hueso se queda corto al estirar el manipulador IK, con lo cual debes copiar y pegar este controlador en el hueso 3 también. Vaya, ten en cuenta que start, Pos y end, Pos equivalen a la posición de las variables start y end, que son respectivamente el hueso 1 y el IK.

  5. #5
    Fecha de ingreso
    Aug 2005
    Mensajes
    25

    3dsmax Problemon al escalar rigs con auto-stretch

    Debo agredecerte muchísimo IkerClon, y a César por haberme dado su punto de vista, disculpen si no me expresé bien, aunque hicieron lo posible y me entiendieron.

    Problema casi resuelto, lo único que sucede todavía es que cuando stretchea, o sea, cuando los huesos se alinean en recta para empezar a stretchearse, vuelven a su pues formando ángulo y stretchean.

    Pero estoy en pues de resolverlo, cualquier cosa les aviso. Muchas gracias por sacar la duda.

    Abrazo.
    My Animation Blog - http://amariotto.blogspot.com/

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

    Problemon al escalar rigs con auto-stretch

    Yo supongo que, depende un poco del software, en Maya es muy común escalar los joints para hacer el stretch. Yo para hacer esas cosas en XSI me hice un script que genera o más bien agrega una serie de chiches (entre lo que está el Squash & stretch) a una cadena estándar.
    Posdata: que andas haciendo por Argentina?
    Hace un año y algo que me vine a trabajar a un estudio de san Luis (ideas fijas), ahora terminando anciedades y luego quien sabe, ya veremos que me depara el destino. Suerte.

  7. #7
    Fecha de ingreso
    Apr 2002
    Mensajes
    14,651

    Problemon al escalar rigs con auto-stretch

    Yo supongo que, depende un poco del software, en Maya es muy común escalar los joints para hacer el stretch.
    Adquiriendo corregirte, César, pero hasta dónde yo sé (que no es mucho) en Maya tampoco se escalan los joints, ya que, al hacerlo estas deformando la transformación de todos los objetos que cuelgan de ése Joint. Cread un brazo con un par de huesos, rotad el antebrazo, y escalad la parte superior del brazo en cuestión: veréis cómo el antebrazo se deforma de modo no deseado.

    Para evitarlo, se usa la posición del antebrazo como longitud del hueso superior. De ese modo, no se escala nada, y todo funciona a la perfección.

    Adruiz, ¿Qué versión de 3ds Max estas usando? Puedo prepararte una escena y colgarla en el foro.

  8. #8
    Fecha de ingreso
    Aug 2005
    Mensajes
    25

    3dsmax Problemon al escalar rigs con auto-stretch

    Muchachos, disculpen la tardanza, mucho curro y poco libre. Les comento y cuelgo la escena, uso 3dsMax 8 así que, seguramente la puedan abrir bien, el método de stretch de IkerClon me anduvo perfecto, pero cuando empezaba a stretchear es como si los huesos en lugar de quedar en línea recta stretcheando se reseteaban a su orientación original, pero, fui a las bone tools y, además de desmarcar la opción de freeze length, desmarké auto-align, y ahora anda como patada ninja. Muchas gracias, y chekenlo a ver si encuentran algún otro fallo.

    Yo le sigo agregando cosas en pues de rotaciones graduales, usando Bones o boxes para evitar el flipping. Seguramente me topare con alguna traba, pero voy a ir publicando el proceso, y cuando decía de escalar los huesos me refería a, mejor abran el archivo y escalen el point que hace de máster y fíjense lo que decía, lo escalan y sigue funcionando perfectamente, y lo que dije en un principio, lo probé en un cantidad de rigs y nunca funcionaba.

    Aquí dejo la escena, éxitos a todos, y gracias de verdad por la ayuda y la mejor onda que siempre tienen.

    Posdata: si, estoy contento de haberlo podido resolver, junto con su ayuda.
    Archivos adjuntados Archivos adjuntados
    My Animation Blog - http://amariotto.blogspot.com/

Temas similares

  1. Problema al escalar personaje riggeado
    Por javierXgamer en el foro Modelado
    Respuestas: 5
    : 05-08-2013, 21:35
  2. Maya Escalar personaje con join rigs
    Por Abdul Machi en el foro Animación y Rigging
    Respuestas: 2
    : 16-01-2013, 06:48
  3. 3dsMax Problema con stretch leg
    Por lois16 en el foro Animación y Rigging
    Respuestas: 0
    : 29-04-2010, 01:34
  4. Maya Problema al mover rotar escalar
    Por adelmo83 en el foro Modelado
    Respuestas: 3
    : 26-01-2009, 15:01
  5. Sugerencias con stretch en auto Cad
    Por ben90 en el foro Programas de Diseño 3D y CAD
    Respuestas: 1
    : 24-05-2006, 18:58

Etiquetas para este tema