Resultados 1 al 8 de 8

Tema: Animación en base a lista de coordenadas

  1. #1
    Nivel Héroe
    Fecha de ingreso
    Sep 2012
    Mensajes
    311
    Gracias (Dadas)
    102
    Gracias (Recibidas)
    26

    Animación en base a lista de coordenadas

    Buenos días chic@s:
    Me han hecho una pregunta bastante curiosa e interesante. Os la cito:
    Tengo un archivo de texto con una lista de coordenadas x e y. En una columna tengo los valores de x y en otra los valores de y. ¿Se puede hacer que Blender, o cualquier otro programa, lea el archivo de texto y que haga la animación de un objeto de acuerdo a estas coordenadas? Cada renglón del archivo de texto sería un fotograma.
    ¿Qué opináis vosotros?
    Un saludo.
    Canal de Youtube con tutoriales de Blender y seguridad informática: http://www.youtube.com/channel/UC-aqdNdOiLJLBnP1tBSUNAA
    Twitter: @3jkernel
    Facebook: https://www.facebook.com/pages/3J-Ke...8823553?ref=hl
    Página web: http://www.3jkernel.com
    Google+: https://plus.google.com/114048629905453440423/posts

  2. #2
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,360
    Gracias (Dadas)
    693
    Gracias (Recibidas)
    7236

    Animación en base a lista de coordenadas

    Cita Iniciado por 3J Kernel Ver mensaje
    Buenos días chic@s:
    Me han hecho una pregunta bastante curiosa e interesante. Os la cito:
    Tengo un archivo de texto con una lista de coordenadas x y y. En una columna tengo los valores de x y en otra los valores de y. ¿Se puede hacer que Blender, o cualquier otro programa, lea el archivo de texto y que haga la animación de un objeto de acuerdo a estas coordenadas? Cada renglón del archivo de texto sería un fotograma.
    ¿Qué opináis vosotros? Un saludo.
    A ver, con Python se puede hacer casi todo, aunque de la forma qué explicas, tal vez no; sería un poco más complicado.

    Algún programador te puede responder.

    Y en último caso, lo puedes poner a mano. (a no ser que sea una lista muy larga, claro).

    Clic en la imagen para ver su versión completa. 
Nombre: localizacion.jpg 
Visitas: 128 
Tamaño: 131.8 KB 
ID: 218920

  3. #3
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,360
    Gracias (Dadas)
    693
    Gracias (Recibidas)
    7236

    Animación en base a lista de coordenadas

    Mira este script, el cual te genera una esfera con una animación según las coordenadas que tiene puestas.
    http://Blenderscripting, blogspot, c...t-just-so.html.
    .

  4. Gracias 3J Kernel Agradece este post
  5. #4
    Nivel Héroe
    Fecha de ingreso
    Jul 2015
    Mensajes
    482
    Gracias (Dadas)
    93
    Gracias (Recibidas)
    122

    Animación en base a lista de coordenadas

    Si se puede, aprovechando el script que ha dejado Solimán para la inserción de los fotograma clave para la animación, he hecho un blend el cual toma las coordenadas de.

    Mi archivo, pero no de texto, es un csv, es más cómodo para mí porque Python tiene un módulo que se llama csv para leer y manipular este tipo de archivos, en archivos de texto hay que transformar más cosas, a la hora de leerlo no hay problema, pero a la hora de usar los datos es más tedioso, en los archivos csv los campos que están separados por coma son leídos por Python como valores independientes dentro de una lista. Si tienes un archivo texto solo tienes que, abrirlo y guardarlo con extensión.csv. Dejo el Blend y el archivo csv para que lo pruebes, en la escena solo hay una cámara y una luz, la puedes seleccionar y hacer correr el script y te hará la animación. Si quieres puedes añadir cualquier objeto y ejecutar el script, este hará una animación a cualquier objeto que este seleccionado.

    Insertará tantos keyframes como líneas de texto haya en el archivo, en este ejemplo hay 5 líneas y el script insertará un fotograma clave cada 10 frames hasta 5 en total.

    Vaya, el archivo csv como el de texto tiene que estar en el mismo directorio desde dónde abras este blend, si no habría que hacerlo de otra manera, especificando rutas y eso. Un saludo.

    Posdata: No puedo subir el archivo en csv lo he subido en txt, lo tienes que cambiar, solo abres y lo guardas como csv.
    Archivos adjuntados Archivos adjuntados

  6. Gracias 3J Kernel Agradece este post
  7. #5
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,360
    Gracias (Dadas)
    693
    Gracias (Recibidas)
    7236

    Animación en base a lista de coordenadas

    Algo nuevo que aprendemos.

    Por cierto, si no te deja subirlo como CSV lo que se puede hacer es comprimirlo en ZIP.

    Los archivos (*.zip) sí que los permite la página, vale para cualquier tipo de archivo, ya sea texto o ejecutables.

  8. #6
    Usuario Legendario Avatar de Soliman
    Fecha de ingreso
    Aug 2004
    Mensajes
    22,360
    Gracias (Dadas)
    693
    Gracias (Recibidas)
    7236

    Animación en base a lista de coordenadas

    Por cierto, solo funciona con dos coordenadas o se puede poner la tercera coordenada también?
    Código:
    import bpyimport csv.
    Ob = bpy, context, active_object.
    Frame_num = 0.
    with open(LerConBlender, csv) as csvarchivo:
    Entrada = csv, reader(csvarchivo).
    For reg in entrada:
    x = reg[0].
    Y = reg[1].
    Z = 2.0.
    Positions = [(float(x), float(y), z)].
    For position in positions:
    Bpy, context, scene, frame_set(frame_num).
    Ob, location = position.
    Ob.keyframe_insert(data_path=location, index=-1).
    Frame_num += 10
    .

    Editado :
    Lo acabo de probar y con este script me funciona en tres coordenadas.
    Código:
    import bpyimport csv.
    Ob = bpy, context, active_object.
    Frame_num = 0.
    with open(LerConBlender, csv) as csvarchivo:
    Entrada = csv, reader(csvarchivo).
    For reg in entrada:
    x = reg[0].
    Y = reg[1].
    Z = reg[2].
    Positions = [(float(x), float(y), float(z))].
    For position in positions:
    Bpy, context, scene, frame_set(frame_num).
    Ob, location = position.
    Ob.keyframe_insert(data_path=location, index=-1).
    Frame_num += 10
    .

    Y este texto.
    Código:
    .
    1,1,2.
    5,3,8.
    8,-1,3.
    4,4,5.
    2,9,0.
    9,1,-4.
    .

  9. Gracias 3J Kernel Agradece este post
  10. #7
    Nivel Héroe
    Fecha de ingreso
    Jul 2015
    Mensajes
    482
    Gracias (Dadas)
    93
    Gracias (Recibidas)
    122

    Animación en base a lista de coordenadas

    Claro Solimán, no me ha dado tiempo a responderte y ya lo habías visto, te estás haciendo un crack de los script. Puse las dos coordenadas por no liar la cosa, puedes poner los campos que quieras lo que tienes que saber es para qué los vas a usar. Un saludo.

  11. #8
    Nivel Héroe
    Fecha de ingreso
    Sep 2012
    Mensajes
    311
    Gracias (Dadas)
    102
    Gracias (Recibidas)
    26

    Animación en base a lista de coordenadas

    Muchas gracias a los dos por resolver la duda. Un saludo.
    Canal de Youtube con tutoriales de Blender y seguridad informática: http://www.youtube.com/channel/UC-aqdNdOiLJLBnP1tBSUNAA
    Twitter: @3jkernel
    Facebook: https://www.facebook.com/pages/3J-Ke...8823553?ref=hl
    Página web: http://www.3jkernel.com
    Google+: https://plus.google.com/114048629905453440423/posts

Temas similares

  1. Generar sólidos en AutoCAD 2007 a partir de una lista de puntos con coordenadas
    Por crstuardo en el foro Programas de Diseño gráfico y CAD
    Respuestas: 1
    Último mensaje: 04-04-2023, 23:22
  2. Blender Python Blender - Asignar coordenadas a objetos desde una lista
    Por Ana1811 en el foro Programación y Scripts
    Respuestas: 1
    Último mensaje: 31-03-2023, 12:37
  3. Sugerencias: copiar una lista de animación de un personaje y pasarlo a otro
    Por Mariela_carocielli en el foro Animación y Rigging
    Respuestas: 4
    Último mensaje: 02-07-2013, 22:44
  4. Animación de objeto en base a la cercanía con otro
    Por jgbianchi en el foro Animación y Rigging
    Respuestas: 0
    Último mensaje: 30-10-2011, 01:27
  5. Blender Covertir coordenadas UV por caras a coordenadas UV por vértice
    Por jor1980 en el foro Programación y Scripts
    Respuestas: 4
    Último mensaje: 23-05-2009, 12:25