Gracias Gracias:  1
Página 1 de 2 12 ÚltimoÚltimo
Resultados 1 al 15 de 19

Tema: Fisica, Matematicas y maxscript

  1. #1
    reBorn Avatar de promineo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Tenerife
    Mensajes
    3,402

    Fisica, Matemáticas y maxscript.

    Bueno, tengo una duda muy garnde llevo todo el santo día intentando hacerme un pequeño script sencillito, tengo la manera de ehacerlo peor no la manera de aplicarlo a maxscript.

    Lo que quiero conseguir no es fácil de explicar, tengo dos objetos situados a diferentes alturas, quiero que el más alto se mueva hacia arriba cierta cantidad el otro le acompañe, pero que cuando baje no lo haga.

    Vereis tengo dos objetos(obj1 y obj2) en max, obj2 esta colocado en z=0 por ejemplo y obj1 en z=90, luego tengo una variable que es la distancia entre ellos inicial es decir v=90,luego tengo un dummy colocado en el 0,0,0, y dos variables más dist1 que es la distancia del obj1 a el dummy y luego tengo dist2 que es la distancia del obj2 al dummy.

    mejor os dejo un es quema echo en papel y a ver si alguien me puede echar una mano con maxscript.

    Iker, larry Help!!
    Miniaturas adjuntadas Miniaturas adjuntadas Fisica, Matematicas y maxscript -formula.jpg  
    PromineoStudios

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

  2. #2
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Lightbulb Re: Fisica, Matemáticas y maxscript.

    si lo que quieres lo he entendido bien solo tienes que hacer que al moverlo hacia arriba (alejarse del dummy, (la distancia al mismo será mayor)) obj1 y obj2 se muevan y obj2 conserve la distancia ocn obj1, y que al bajar obj1 sólo baje obj1, y obj2 no se mueva...

    yo intentaría plantearlo de la forma que he dicho yo, al alejarse del dummy hacer que puedan moverse y que se guarde esta distancia (sólo se moveran los dos cuando la distancia al dummy aumente) y que en el momento en que disminuya la distancia (cuando lo bajes) este movimiento sólo afecte al obj1 y no al obj2 y que este se quede donde estaba...

    no se la forma de hacerlo con maxscript por que no he probado a hacer nada nunca yo solo se programar en C, basic y algo de python, no he probado en maxscript por que supongo que será orientado a objetos y de eso no he dado nada por el momento así que sólo puedo decir la forma en que lo plantearía yo...

    espero que te sirva de algo y suerte ;P.

  3. #3
    reBorn Avatar de promineo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Tenerife
    Mensajes
    3,402

    Re: Fisica, Matemáticas y maxscript.

    exavi muchas gracias, pero si no te he entendido mal, me parece que lo tenemos planteado de la misma manera, para eso he puesto el dummy. Así se la diferencia de distancia con este.

    Solo me queda aplicarlo a Maxscript, o quizá sea más fácil utilizar un float expression.
    PromineoStudios

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

  4. #4
    como siempre... Avatar de exavi
    Fecha de ingreso
    Jul 2005
    Ubicación
    London
    Mensajes
    536

    Re: Fisica, Matemáticas y maxscript.

    Cita Iniciado por promineo
    Solo me queda aplicarlo a Maxscript, o quizá sea más fácil utilizar un float expression.
    yo diría que eso debe ser mucho más facil...

  5. #5
    Método Polaco Avatar de Stewie
    Fecha de ingreso
    Apr 2004
    Mensajes
    3,275

    Re: Fisica, Matemáticas y maxscript.

    Yo en Maya hice una vez algo parecido, pero lo planteé de otra manera (te lo cuento por si te sirve... estoy recién formateado y no lo tengo instalado, mñn en el curro lo hago otra vez y te posteo el código).
    Dos objetos, Cubo1 y Cubo2, queremos que cuando suba Cubo1, Cubo2 suba con él, y cuando baje Cubo1, no afecte a Cubo2.
    - $vertAnterior: almacenando el valor de posición en Y de Cubo1 en el frame Anterior al actual.
    - $vertActual: variable con el valor en Y actual de Cubo1.

    - Parent Constraint en el eje Y de Cubo2 a Cubo1. Aquí hacemos una variable $vertConst, que sea el Weight de la constraint (con 0 Cubo2 queda libre, y con 1 queda atado a Cubo1)

    if ($vertAct > $vertAnt) {
    $vertConst = 1;
    }
    else
    {
    $vertConst = 0;
    }

    Esa es la idea, fijo que la expresión tiene algún error porque hace ya algo que no toco MEL, pero la idea se pilla. Son distintas formas de hacerlo... yo veo la mía más "sencilla" porque no hay que andar metiendo distancias, seguro que se puede hacer de muchas otras también... ahí esta la gracia del scripting jeje

    Saludos!

  6. #6
    reBorn Avatar de promineo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Tenerife
    Mensajes
    3,402

    Re: Fisica, Matemáticas y maxscript.

    vale parece mucho más sencillo, intentaré pasarlo a maxscript y te cuento...

    gracias stewie!!
    PromineoStudios

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

  7. #7
    Método Polaco Avatar de Stewie
    Fecha de ingreso
    Apr 2004
    Mensajes
    3,275

    Re: Fisica, Matemáticas y maxscript.

    Vale, olvídate de la solución anterior porque obviamente esta mal (en el momento en que el constraint valga 0, el cubo volvera a su posición inicial, no mantendrá la que tiene, vamos que "salta" al origen cuando Weight = 0).

    Otra solución, hacer que cuando Cubo1 sube, la distancia que sube del frame anterior al frame actual, se le sume al Cubo2, y cuando Cubo1 baja, no pase nada. La pega: que no ves el resultado al mover el objeto, sólo al darle a Play y al mover la barra de tiempos, y luego no puedes ponerlo a "0" porque esta controlado por la expresión. Voy a ver si encuentro alguna manera, que tiene que ser sencillo pero estoy algo oxidado... pero funcionar funciona!

    Ahí va el código:

    // variable con el nº de frame anterior al actual
    $timAnt = (`currentTime -q` -1);

    // posición vertical en el frame anterior de Cubo1
    $posAnt = `getAttr -t $timAnt Cubo1.ty`;

    // posición actual de Cubo1
    $posAct = `getAttr Cubo1.ty`;

    // variación de posición del frame anterior al actual
    $varPos = $posAct - $posAnt;

    // expresión, si la posición vertical actual de Cubo1 es mayor que la posición anterior,
    // sumamos a la posición Y de Cubo2, la variación de posición de Cubo1

    if ($posAct > $posAnt)
    {
    Cubo2.translateY = Cubo2.translateY + $varPos;
    }



    Saludos!

  8. #8
    reBorn Avatar de promineo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Tenerife
    Mensajes
    3,402

    Re: Fisica, Matemáticas y maxscript.

    ey stewie muchas gracias por molestarte, la verdad es que estoy investigando bastante, alguien me dijo que se puede hacer, pero no como... de todas maneras me cojo tu script. jejeje

    muchas gracias
    PromineoStudios

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

  9. #9
    Miembro
    Fecha de ingreso
    Nov 2003
    Ubicación
    Lima-Peru
    Mensajes
    89

    Re: Fisica, Matemáticas y maxscript.

    stewie haber sinos recomendais algunos links. :-)

  10. #10
    Senior Member Avatar de larryvm
    Fecha de ingreso
    Oct 2004
    Ubicación
    madrid
    Mensajes
    688

    Re: Fisica, Matemáticas y maxscript.

    también lo puedes hacer mirando el valor de la curva de animación en Y en el fotograma anterior y comparandolo con el valor actual, no se cual será la instruccion en maxscript pero fijo que la tiene.

    stewie, mejor que almacenar los valores en variables te recomiendo que crees un atributo nuevo en el transform del objeto y lo vayas almacenando alli, te da menos problemas. habría otros modos de hacerlo, como crear una curva de animación nueva e ir sumando valores que creo que podría dar mejores resultados ya que una expresion dependiente de valores temporales puede engañar muchas veces.
    Larry vizoso
    Pipeline developer/technical director
    el ranchito : mi blog

  11. #11
    Método Polaco Avatar de Stewie
    Fecha de ingreso
    Apr 2004
    Mensajes
    3,275

    Re: Fisica, Matemáticas y maxscript.

    Gracias por los consejos larry . Soy algo "vago" y si es para hacer alguna prueba rápida suelo utilizar variables, si es para algo más serio hago atributos, si no con 4 cosas te vuelves loco.

    A ver si luego tengo un rato y busco algún link sobre maxscript, aunque seguro que Promineo conoce bastantes más, que yo soy mayero jeje

  12. #12
    El cabreador
    Fecha de ingreso
    Oct 2002
    Ubicación
    S.Compostela.
    Mensajes
    8,790

    Re: Fisica, Matemáticas y maxscript.

    A mi se me ha ocurrido esto, soy un inexperto en esto del maxsript pero bueno.

    if a < $box02.pos.z do ($box01.pos.z =$box02.pos.z)
    a = $box01.pos.z

    Creo que no hace falta explicarlo, puesto que es simple con ganas.

    Es una tonteria, solo funciona como script como es lógico da fallos si lo pones como expresión, sería cuestión de adaptarlo, y como no, si lo pones como wire te casca por todos los lados, ahora no tengo tiempo pero esta noche si eso le echaré un ojo a ver que se puede hacer...

    Saludos..
    P.D mira que es vicioso esto de los scripts eh?¿a ver si me pongo en serio con ellos.

  13. #13
    reBorn Avatar de promineo
    Fecha de ingreso
    Dec 2004
    Ubicación
    Tenerife
    Mensajes
    3,402

    Re: Fisica, Matemáticas y maxscript.

    Gracias, Gracias, seguiré probando cosas a ver si doy con la solución, Fiz3d, esto se ajusta más a lo que buscaba .


    Gracias otra vez.
    PromineoStudios

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

  14. #14
    H = E + L
    Fecha de ingreso
    Mar 2004
    Ubicación
    Entre dos vectores
    Mensajes
    870

    Re: Fisica, Matemáticas y maxscript.

    Ya sé que han pasado casi 4 meses desde el último mensaje de este hilo pero estaba revisando mensajes referentes a MAXScript y éste me ha llamado la atención. Así que he intentado hacer algo similar a lo que se pedía.

    En concreto he creado una utilidad que permite especificar dos nodos. Uno será el nodo "maestro" y el otro el "esclavo". Entonces lo que hace el script es crear un "script controller" para la posición del nodo "esclavo", de forma que si el nodo "maestro" sube, el esclavo le seguirá pasada una distancia máxima (que también se puede especificar en el cuadro de diálogo de la utilidad), mientras que si el nodo "maestro" baja, el "esclavo" no lo hará salvo que el nodo "maestro" llegue a su altura, en cuyo caso ambos nodos descenderan conjuntamente.

    Si os fijais, también se crea un dummy que "envuelve" al nodo "esclavo". Esto lo he hecho así porque necesitaba una forma de recoger la posición del nodo "esclavo", pero como dentro del script del controlador no se puede hacer referencia al nodo que tiene aplicado dicho controlador, pues me he creado el dummy. Por si os estais preguntando por qué no he "linkado" el dummy al nodo "esclavo", la razón es que en dicho caso, el "script controller" consideraría al dummy como si fuera el nodo mismo ya que dependen el uno del otro. Lo mismo ocurre si al dummy se le asigna un "Position Constraint" apuntando al nodo "esclavo".

    En fin, he adjuntado un video para que veais el funcionamiento. Es bastante simple. El código también va incluido. Espero que lo encontréis, al menos, interesante. A mí me ha servido para aprender cosas nuevas.

    Saludos.

    ACTUALIZACIÓN: he actualizado una cosilla del código...
    Archivos adjuntados Archivos adjuntados
    Última edición por HalfVector; 25-12-2005 a las 10:13

  15. #15
    Senior Member Avatar de Bodhisattva
    Fecha de ingreso
    Jul 2004
    Mensajes
    346

    Re: Fisica, Matemáticas y maxscript.

    Bastante interesante el comportamiento...que bien se ve....muy buen trabajo..

    Saludos.
    ""Todo lo que existe, no existe más que en dependencia de causas""

Página 1 de 2 12 ÚltimoÚltimo

Temas similares

  1. libro de matematicas 3D
    Por MAYAMAN en el foro Videojuegos
    Respuestas: 3
    Último mensaje: 02-05-2010, 16:07
  2. 3ds Max De matematicas a infografia
    Por fernando24691 en el foro Educacion 3D, escuelas y universidades
    Respuestas: 3
    Último mensaje: 27-05-2009, 14:27
  3. Formulas, expresiones matematicas y similares
    Por SHAZAM en el foro Tutoriales, Libros y Manuales
    Respuestas: 2
    Último mensaje: 07-08-2007, 21:00
  4. Matematicas VFX
    Por SUPER87 en el foro Partículas y Dinámicas
    Respuestas: 25
    Último mensaje: 06-06-2007, 20:59
  5. Las matematicas existen
    Por Roberto en el foro Hardware
    Respuestas: 0
    Último mensaje: 30-11-2006, 12:47

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