Resultados 1 al 2 de 2

Ejecutar script Blender desde consola dos

  1. #1
    Fecha de ingreso
    Jun 2010
    Mensajes
    4

    Post Ejecutar script Blender desde consola dos

    Hola, soy bastante novato con Blender, pero mi proyecto fin de Carrera va sobre la animación en tiempo real de un esqueleto, y me gustaría hacerlo en Blender, el caso es que para ello tengo que ejecutar un script de Blender desde mi script Python, pero no sé que comando puedo utilizar para lanzar un proceso de Blender, y al mismo tiempo cargar un.bvh y ejecutar la animación. Estoy bastante perdido en este tema, y llevo buscando un par de semanas, pero nada, así que, cualquier ayuda será buena.

    Yo he conseguido lanzar Blender y cargar el script con el siguiente comando Python, pero no ejecutar el script dentro de Blender.

    El código es el siguiente:
    Import os.

    Os, execl(c:\\documents and settings\\Jorge\\escritorio\\blender-2.49b-Windows\\blender-2.49b-Windows\\blender, exe,blender,c:\\ballet, blend). Gracias de antemano.

  2. #2
    Fecha de ingreso
    Dec 2025
    Mensajes
    0
    Para ejecutar un script de Blender desde la consola o desde otro script Python, debes usar la línea de comandos de Blender con los argumentos adecuados. La versión que mencionas (2.49b) es muy antigua. Te recomiendo usar una versión actual de Blender, como la 3.6 o superior, ya que la API y las funcionalidades han mejorado enormemente.

    El comando básico para ejecutar Blender en modo consola y que ejecute un script Python es el siguiente. Abre tu terminal o consola de comandos.

    blender --background --python tu_script.py

    El argumento --background hace que Blender se ejecute sin abrir la interfaz gráfica, lo cual es ideal para automatización. Si necesitas cargar un archivo .blend específico antes de ejecutar el script, añade la ruta del archivo justo después de la llamada a blender.

    blender tu_archivo.blend --background --python tu_script.py

    En tu caso, también necesitas cargar un archivo .bvh. Esto normalmente se haría dentro del propio script Python que vas a ejecutar. Tu script Python (por ejemplo, animar_bvh.py) debería contener código para importar el archivo .bvh y configurar la animación. Un ejemplo muy básico del contenido del script sería, para Blender 3.0 o superior, usar el operador bpy.ops.import_anim.bvh.

    Dentro de tu_script.py, podrías tener un código como este:

    import bpy
    bpy.ops.import_anim.bvh(filepath="ruta/completa/a/tu_archivo.bvh")
    Luego, desde tu script Python principal, o desde la consola del sistema, ejecutas Blender con ese script. El comando completo se vería así:

    blender --background --python "animar_bvh.py"

    Si necesitas pasar argumentos a tu script, como la ruta del archivo .bvh, puedes hacerlo usando sys.argv. Dentro de tu script Python, puedes recuperar los argumentos pasados después de --. Por ejemplo, el comando sería:

    blender --background --python "animar_bvh.py" -- "ruta/al/archivo.bvh"

    Y en tu script animar_bvh.py, procesas el argumento.

    import bpy
    import sys
    argv = sys.argv
    argv = argv[argv.index("--") + 1:] if "--" in argv else []
    bvh_file = argv[0] if argv else "default.bvh"
    bpy.ops.import_anim.bvh(filepath=bvh_file)

    Para integrar esto en tu script Python principal, usa el módulo subprocess de Python. Aquí tienes un ejemplo:

    import subprocess
    ruta_blender = "C:\\Program Files\\Blender Foundation\\Blender 3.6\\blender.exe"
    ruta_script = "C:\\ruta\\a\\tu_script.py"
    ruta_bvh = "C:\\ruta\\a\\tu_animacion.bvh"
    comando = [ruta_blender, "--background", "--python", ruta_script, "--", ruta_bvh]
    subprocess.run(comando)

    Asegúrate de que las rutas a los archivos sean correctas. Este método lanzará Blender, ejecutará tu script que importa el .bvh, y luego Blender se cerrará. Si quieres mantener Blender abierto o renderizar la animación, deberás añadir más comandos o instrucciones en tu script.

    Recuerda que la API de Blender ha cambiado mucho desde la versión 2.49. Es crucial que uses documentación y scripts actualizados para la versión de Blender que tengas instalada. Puedes encontrar la documentación oficial de la API de Blender en su sitio web.

Temas similares

  1. Cómo ejecutar una aplicación desde el navegador
    Por alberizo en el foro Programas de Diseño 3D y CAD
    Respuestas: 1
    : 06-04-2023, 15:37
  2. General Error al ejecutar Script Unity
    Por lukas en el foro Programas de Diseño 3D y CAD
    Respuestas: 3
    : 22-03-2022, 17:22
  3. Respuestas: 2
    : 07-05-2015, 23:08
  4. Blender Ejecutar script Blender desde terminal Linux
    Por kpax464 en el foro Programas de Diseño 3D y CAD
    Respuestas: 2
    : 07-04-2010, 15:04
  5. YafRay Renderizar en red desde consola con YafRay
    Por gigo en el foro Render, Iluminación y Cámaras
    Respuestas: 2
    : 24-04-2009, 00:43