Resultados 1 al 8 de 8

Tema: Animar un objeto con un archivo externo de coordenadas y ángulos

  1. #1
    Fecha de ingreso
    Mar 2009
    Mensajes
    3

    Animar un objeto con un archivo externo de cordenadas y angulos

    Hola. Me encuentro con un problema a la hora de importar coordenadas x y, z y los tres ángulos. Tengo un script, pero tiene un error en el x.value y no sé cómo seguir.

    This script Will reset your scene, so save before running it.

    Resetmaxfile #noprompt.

    S = sphere ().

    Spaz =, pues, controller.

    Function definition.

    Fn addkeysfromfile Control file =
    (.

    Local f = openfile file.

    T=0.
    While (not eof f) do.

    Local x = addnewkey Control t.

    Local a = [readvalue f, readvalue f, readvalue f].

    X.value = a.

    Te += 10).

    Close f).

    Evaluate function.

    Addkeysfromfile spaz infiniti, dat.

    Con el archivo infiniti.
    -15.7436,9.4353,-11.2804.
    96.011, -150.876, 138.0289.
    -5.2103, -230.7725, 122.3503.
    29.9328, -212.5843, 9.2386.
    92.5178, -120.9492, -57.7814.
    -0.5455, 1.8896, 11.4197.
    -91.7734, 124.0946, 122.0455.
    -28.3564, 213.9283, 164.8463.
    4.4424, 231.2096, 84.569.
    -102.4511, 155.1786, -55.0066.
    -15.7436, 9.4353, -11.2804.

    Me gustaría saber que error tengo y como añadir también las rotaciones. Muchas gracias.

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

    Animar un objeto con un archivo externo de cordenadas y ángulos

    El problema es que estas tratando de darle un valor a una key entregando un Vector de 3 valores. Si animas algo manualmente veras que cada componente de la posición tiene su propio controlador y por ende su propia colección de keys.

    Una forma de resolverlo sería usar la opción animate, prueba con esto.
    Código:
    Fn addkeysfromfile Control file =
    (.
    
    F = openfile file.
    
    T=0.
    While not eof f do.
    
    Animate on.
    
    At time te Control, value = [readvalue f, readvalue f, readvalue f]).
    
    Te += 10).
    
    Close f).
    
    S = sphere ().
    
    Addkeysfromfile, pues, controller infinity, dat.
    )

  3. #3
    Fecha de ingreso
    Mar 2009
    Mensajes
    3

    Animar un objeto con un archivo externo de cordenadas y angulos

    Muchas gracias por tu rápida contestación. Pero he probado lo que me has dicho y no me funciona, y no sé qué pasa. Si puedes ver qué pasa, muchas gracias.

    Hasta lueo.

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

    Animar un objeto con un archivo externo de cordenadas y ángulos

    Guardaste el script en la misma carpeta que el archivo infinity, datí quizás es eso.

  5. #5
    Fecha de ingreso
    Sep 2004
    Mensajes
    123

    Animar un objeto con un archivo externo de cordenadas y ángulos

    Ahí mismo en cgtalk dan la respuesta a este script y varias opciones más. El error está en la variable x que retorna ok en lugar del key como lo indica zeboxx2. http://forums.cgsociety.org/showthre...ddkeysfromfile.

    La respuesta de bobo es muy buena:
    Código:
    - This script Will reset your scene, so save before running it.
    
    Resetmaxfile #noprompt.
    
    S = sphere ().
    
    Function definition.
    
    Fn animateobject spaz file=
    (tlocal f = openfile file tt=0 while (not eof f) do t(t with animate on at time te spaz, pues = [readvalue f, readvalue f, readvalue f] te += 10 t).
    
    Close f.
    ).
    
    Evaluate function.
    
    Animateobject s test, dat

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

    Animar un objeto con un archivo externo de cordenadas y ángulos

    Que coincidencia, sugerí exactamente lo mismo que bobo, vaya honor.

  7. #7
    Fecha de ingreso
    Mar 2009
    Mensajes
    3

    Animar un objeto con un archivo externo de cordenadas y ángulos

    Muchas gracias. Ya para marear un poco la perdiz estoy intentando aparte de mover la esfera hacer que rote en sus tres ángulos de giro.
    ¿Cómo podría hacerlo?
    Muchas gracias de adelantado.

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

    Thumbs up Animar un objeto con un archivo externo de cordenadas y ángulos

    Depende cómo tengas la información en tu archivo.dat, suponiendo que tengas la información intercalada (una línea para posición y la siguiente rotación) podrías hacerlo así:
    Código:
    Fn addkeysfromfile obj file =
    (.
    
    F = openfile file.
    
    T=0.
    While (not eof f) do.
    
    Animate on.
    
    At time t.
    
    Obj, position = [readvalue f, readvalue f, readvalue f].
    
    Obj, rotation = eulerangles (readvalue f) (readvalue f) (readvalue f)).
    ).
    
    Te += 10).
    
    Close f).
    
    S = sphere ().
    
    Addkeysfromfile s infinity, dat).
    Ojo, el número de líneas con información de posición debe ser igual al de rotación.

Temas similares

  1. Respuestas: 6
    : 29-01-2022, 19:51
  2. Respuestas: 0
    : 25-09-2020, 00:02
  3. Blender Eje coordenadas para mover objeto
    Por salinas69 en el foro Animación y Rigging
    Respuestas: 14
    : 28-02-2014, 16:34
  4. 3dsMax Animar rotación con sistema de coordenadas de otro objeto pick
    Por r3dS en el foro Animación y Rigging
    Respuestas: 3
    : 04-04-2011, 10:00
  5. Render en videopost:archivo externo
    Por Rekuen en el foro Render, Iluminación y Cámaras
    Respuestas: 3
    : 22-12-2005, 19:58