Скрипт Python с аргументами для командной строки Blender
Я новичок в Blender и Python. У меня есть модель блендера (.blend), которую я хочу визуализировать как несколько изображений, предоставляя некоторые свойства для каждого изображения.
Я написал скрипт на Python с этими параметрами, что-то вроде:
import bpy
pi = 3.14159265
fov = 50
scene = bpy.data.scenes["Scene"]
# Set render resolution
scene.render.resolution_x = 480
scene.render.resolution_y = 359
# Set camera fov in degrees
scene.camera.data.angle = fov*(pi/180.0)
# Set camera rotation in euler angles
scene.camera.rotation_mode = 'XYZ'
scene.camera.rotation_euler[0] = 0.0*(pi/180.0)
scene.camera.rotation_euler[1] = 0.0*(pi/180.0)
scene.camera.rotation_euler[2] = -30.0*(pi/180.0)
# Set camera translation
scene.camera.location.x = 0.0
scene.camera.location.y = 0.0
scene.camera.location.z = 80.0
Итак, я запускаю это как
blender -b marker_a4.blend --python "marker_a4.py" -o //out -F JPEG -x 1 -f 1
Тогда, например, если я пытаюсь использовать аргументы для сценария Python
...
import sys
...
fov = float(sys.argv[5])
...
И запустите это:
blender -b marker_a4.blend --python "marker_a4.py" 80.0 -o //out -F JPEG -x 1 -f 1
Визуализация завершена, но я получаю эти сообщения при запуске.
read blend: /home/roho/workspace/encuadro/renders/marker/model/marker_a4.blend
read blend: /home/roho/workspace/encuadro/renders/marker/model/80.0
Unable to open "/home/roho/workspace/encuadro/renders/marker/model/80.0": No such file or directory.
...
Кто-нибудь может сказать мне, что вызывает это? Я думаю, что Blender также анализирует это как модель, но не понимаю почему. Позже я попробовал что-то более изощренное для разбора аргументов в python (argparse), но это не сработало вообще. Поэтому я думаю, что на этом уровне может произойти что-то странное.
Спасибо!