Gracias Gracias:  0
Resultados 1 al 14 de 14

Tema: Esfera haciendo recorrido en un plano

  1. #1
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    3dsmax Esfera haciendo recorrido en un plano

    Bueno busque en el foro y no encontré algo como esto me imagino que por ser básico pero sin embargo.. yo estoy recién empezando con lo de animación...

    Bueno estoy intentando hacer que una bola (esfera) recorra en un plano (como una canica) pero obviamente que gire en su eje igual como lo hace una esfera al friccionar con el plano. Ahora a esta esfera le quiero agregar un recorrido y que se detenga en un punto X.

    Teóricamente creo que esto se hace con REACTOR pero en esto soy nulo. Alguno de usted me podría orientar en esto que herramientas debo usar?

    trabajo con 3ds Max 2008

    Bueno quizás no se use reactor.... ya que indagando vi que existían otras formas y otras herramientas en max pero el Ingles me deja pillo help me please
    Última edición por ZerO_SelF_RighTeousNesS; 31-08-2008 a las 18:54
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


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

    Re: Esfera haciendo recorrido en un plano

    aquí hay un excelente tutorial para hacer un rig con ese comportamiento:

    Cuneyt Ozdas Tutorials - Max Script

    es algo avanzado ya que utlizan script controllers, pero espero que puedas encontrarle utilidad
    Nuestro corto basado en Matrix - TRICKSTER - wip:
    thetricksterproject.blogspot.com

    website personal:
    www.joleanes.com

  3. #3
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Re: Esfera haciendo recorrido en un plano

    wow por lo que veo me sirve pero me explicas un poco como funciona ya que por lo visto le agregas el comportamiento cuando ya tienes listo el recorrido... alguna ayuda como funciona?

    PD sigo con la duda de como funciona el point to path to constrait que en este caso creo que hace lo mismo que este script...

    se me olvida... no entiendo nada de maxscript a no ser los automatas que generan menus :P
    .

    Bueno creo que el Asunto aquí es lo siguiente:

    creo que con el motor reactor debería poder hacerse. Pero lamentablemente la ayuda y lo manuales que tengo no hablan de eso...


    1.- TEngo mi Bolla y mi plano el cual funcinana bien ya que la bolla cae por el plano.
    2.- Ahora esa caida que se genera quiero que tenga un recorrido (no entiendo como funciona el Reactor Point to Path Constraints)
    3.- Luego que me funcione lo del recorrido puedo volver el plano a ángulo 0 y agregarle una fuerza de empuje para que la bola se desplace por mi recorrido...

    .-------------------------------------------------------

    intente lo del script pero simplemente no se como hacerle... como insertarlo donde insertarlo solo entendí que toca cambiar el tiempo ajustandolo a la escena de uno y el nombre del objeto a animar.
    Última edición por ZerO_SelF_RighTeousNesS; 31-08-2008 a las 21:32
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


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

    Re: Esfera haciendo recorrido en un plano

    Hay varias formas de hacerlo, yo hace no mucho hice algo muy parecido a lo del tutorial salvo que en mi caso no es un controller sino que bakea directamente la rotación en un rango de frames determinados, si hubiera visto el tutorial hace unas semanas me hubiera ahorrado muchos dolores de cabeza

    La lógica detrás del script básicamente es calcular el vector del desplazamiento con respecto al frame anterior y la distancia recorrida. Luego determina el vector de rotación (producto cruz entre el vector de desplazamiento y el perpendicular al plano) y suma a la rotación actual (en quartenion para evitar gimbal lock) los grados necesarios en función de su radio y la distancia recorrida.

    La forma de implementar lo del tutorial es simplemente meterlo un controlador "rotation script" del objeto que quieres que gire automáticamente y animar tu esfera a gusto (en el tutorial funciona sólo en horizontal ya que definió el vector perpendicular al "piso" como una constante, [0, 0, 1])

  5. #5
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Re: Esfera haciendo recorrido en un plano

    si capto que toca agregarlo como controller escript de rotation pero como? podrías orientarme mucho más please. Unas capturas me vendrian de lujo ya que he buscado información pero no hay nada paso a paso (recuerde que no todos comprenden esto de los scripts).
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


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

    Re: Esfera haciendo recorrido en un plano

    http://www.cuneytozdas.com/tutorials...ript/roll2.png?

    Seleccionas el controlador de rotación (el de los 3 ejes) y asignas un nuevo controlador llamado rotation script. En el tutorial pone capturas y todo hombre (él lo hace desde el trak view), que eso no tiene nada que ver con el código del script

  7. #7
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Re: Esfera haciendo recorrido en un plano

    ya!! le coloco rotation script y que más? te digo que no entiendo de lo que hablamos...

    Donde ingreso el escript que sale más abajo ya que el manual dice
    Código:
    Here is the final script we come up with. As I said you need to change the obj definition to math with your object's name. Alos you may need to change the timeres value which defines the time steps in which the movement assumed to be linear. We could avoid the rotation axis calculations by turning the Follow option in path constraint ON, but I wanted to make it compatible with key framed (and even procedural) animations too.
    
    -- You need to change the below assingment.
    -- If the name of the object you are assigning this controller
    -- is "Ball", then convert the line to 
    -- obj = $Ball
    -----------------------------------------------------
    obj = $Sphere01 		-- change this
    timeres = 1f 			-- time resolution
    -----------------------------------------------------
    fn getrot te =
    (
     if t<=0f then return quat 0 0 0 1 -- t=0 => no rotation
     t0 = t-timeres		-- previous frame time 
     t1 = t			-- current time 
    
     rot0 = getrot(t0) -- previous rotation:
    
     p0 = at time t0 obj.position-- previous position
     p1 = at time t1 obj.position-- current position
     if(p0==p1) then return rot0 -- no distance is traveled
    
     dif = p1-p0 -- difference in positions
     len = Length(dif) -- distance that's traveled 
     vec = dif / len -- normalized movement vector.
    
     r0 = at time t0 obj.radius -- previous radius
     r1 = at time t1 obj.radius -- current radius
    
     rotax = cross vec [0, 0, 1] -- rotation axis
     angle = 360*len/((r0+r1)*pi)-- rotation amount (in degs) 
     rotdif = quat angle rotax -- rotation from t0 to t1
     rot1 = rot0 + rotdif -- total rotation
    )
    
    getrot(currentTime) 
    
    Clik Evaluate and if no error is shot, clik Close in the script rotation dialog box.
    Esto donde lo coloco no entiendo... la verdad comprendo que me tratas de ayudar pero tendrías que hacer un paso a paso...
    Agrego el controller scriot rotation y saldrá obviamente en blanco ya que tengo que agregar yo los valores y el script... COMO SEA AGREGA, donde se agrega y que se agrega.
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


  8. #8
    Senior Member Avatar de Cardenes
    Fecha de ingreso
    Aug 2005
    Ubicación
    Canarias
    Mensajes
    2,014

    Re: Esfera haciendo recorrido en un plano

    a pesar de quedar como un simple...
    ¿esto no lo puedes hacer animando sin tener que recurrir a automatismos?

    desplazar bola, rotar bola

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

    Re: Esfera haciendo recorrido en un plano

    Cita Iniciado por ZerO_SelF_RighTeousNesS Ver mensaje
    ya!! le coloco rotation script y que más? te digo que no entiendo de lo que hablamos...

    Esto donde lo coloco no entiendo... la verdad comprendo que me tratas de ayudar pero tendrías que hacer un paso a paso...
    Agrego el controller scriot rotation y saldrá obviamente en blanco ya que tengo que agregar yo los valores y el script... COMO SEA AGREGA, donde se agrega y que se agrega.
    ctrl+c y ctrl+v?

    Tranquilidad ante todo! hago lo que puedo al tratar de explicarme. Debes pegar el script en el único espacio en blanco dentro del controlador rotation script, ese recuadro grande donde puedes escribir dentro de la ventanita que te sale cuando asignas el controlador

    Deberías pegar esto:
    Código:
    -- You need to change the below assingment.
    -- If the name of the object you are assigning this controller
    -- is "Ball", then convert the line to 
    -- obj = $Ball
    -----------------------------------------------------
    obj = $Sphere01 		-- change this
    timeres = 1f 			-- time resolution
    -----------------------------------------------------
    fn getrot te =
    (
     if t<=0f then return quat 0 0 0 1 -- t=0 => no rotation
     t0 = t-timeres		-- previous frame time 
     t1 = t			-- current time 
    
     rot0 = getrot(t0) -- previous rotation:
    
     p0 = at time t0 obj.position-- previous position
     p1 = at time t1 obj.position-- current position
     if(p0==p1) then return rot0 -- no distance is traveled
    
     dif = p1-p0 -- difference in positions
     len = Length(dif) -- distance that's traveled 
     vec = dif / len -- normalized movement vector.
    
     r0 = at time t0 obj.radius -- previous radius
     r1 = at time t1 obj.radius -- current radius
    
     rotax = cross vec [0, 0, 1] -- rotation axis
     angle = 360*len/((r0+r1)*pi)-- rotation amount (in degs) 
     rotdif = quat angle rotax -- rotation from t0 to t1
     rot1 = rot0 + rotdif -- total rotation
    )
    
    getrot(currentTime)
    Cambiando el $sphere01 por $NOMBRE_DE_MI_ESFERA

  10. #10
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Re: Esfera haciendo recorrido en un plano

    aer me hago entender mmm la tarde te pongo los caps de mi pantalla para ver si lo voy haciendo bien por lo demás sobre el código... no se si lo saque en el lado correcto (es decir extraje desde el punto correcto y lo termine en el punto correcto) le echas una revisada? intentaré pegarlo... pero no sale nada en blanco para pegar salen más como casillas con letras o algo así...
    Más tarde pongo el caps.

    aunque tendré que colgar un hilo sobre reactor para point to path cosntrains XD porque no me puedo quedar con la duda :P
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


  11. #11
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Exclamation Re: Esfera haciendo recorrido en un plano


    Bueno me sale eso donde lo pongo y please revisa el código y me dices desde donde tengo que poner hasta donde exactamente
    Última edición por ZerO_SelF_RighTeousNesS; 03-09-2008 a las 01:31
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


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

    Re: Esfera haciendo recorrido en un plano

    Debes poner lo que puse en mi último mensaje en el cuadro que marcaste como 2, apretar evaluate y luego cerrarlo.

    Yo no tengo ningún problema en ayudarte pero llevas 2 días con una duda que si consultabas la ayuda de 3dsmax te la sacabas al instante y resolvías el problema, seguro que en alguna parte explica cual es el destino de cada recuadro de esa ventana (y no estoy hablando de maxscript, me refiero a la interface).

    Saludos

  13. #13
    Theory Proyects Partner Avatar de ZerO_SelF_RighTeousNesS
    Fecha de ingreso
    Aug 2006
    Mensajes
    243

    Re: Esfera haciendo recorrido en un plano

    el problema es que hay algunas cosas que el ingles se me va
    TODOS LOS PERRITOS SE VAN AL CIELO PERO NO TODOS LOS HOMBRES


  14. #14
    Novato Avatar de Elmer54
    Fecha de ingreso
    Sep 2007
    Ubicación
    Barcelona
    Mensajes
    21

    Re: Esfera haciendo recorrido en un plano

    Creo que lo primero debería ser crear el recorrido con una spiline. Después con la bola selecionada clik en Animation\Constraints\Path constraint, de la bola sale una línea discontinua que tienes que dirigir a la spiline y a partir de ahí en el Trak view le das el giro a la bola.
    Espero que te sea de utilidad.

Temas similares

  1. Esfera
    Por ciberspace en el foro Trabajos Finalizados
    Respuestas: 1
    Último mensaje: 08-05-2014, 15:50
  2. Esfera
    Por ciberspace en el foro Trabajos en Proceso
    Respuestas: 6
    Último mensaje: 06-05-2014, 10:06
  3. Haciendo
    Por JuanTfe en el foro Trabajos en Proceso
    Respuestas: 7
    Último mensaje: 29-04-2008, 21:21
  4. Esfera
    Por Javier Camacho en el foro Modelado
    Respuestas: 9
    Último mensaje: 14-02-2007, 21:08
  5. Esfera
    Por radimov en el foro Trabajos en Proceso
    Respuestas: 51
    Último mensaje: 14-07-2005, 14:58

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