Скрипт 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.
...

Кто-нибудь может сказать мне, в чем причина этого? Я думаю, что блендер также анализирует это как модель, но не понимаю, почему. Позже я попробовал что-то более сложное для анализа аргументов в python (argparse), но это вообще не сработало. Так что я думаю, что на этом уровне может происходить что-то странное.

Спасибо!

10
задан roho 19 May 2012 в 17:15
поделиться