Jestem nowy w Blenderze i Pythonie. Mam model blendera (.blend), który chcę renderować wsadowo jako kilka obrazów dostarczających pewnych właściwości dla każdego obrazu.Skrypt w języku Python z argumentami dla wiersza poleceń Blender
Napisałem skrypt Pythona z tych parametrów, coś jak:
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
Więc biegnę go jak
blender -b marker_a4.blend --python "marker_a4.py" -o //out -F JPEG -x 1 -f 1
wówczas dla przykładu jeśli próbuję użyć argumentów do skryptu Pythona
...
import sys
...
fov = float(sys.argv[5])
...
Uruchom go:
blender -b marker_a4.blend --python "marker_a4.py" 80.0 -o //out -F JPEG -x 1 -f 1
Renderowanie zostanie ukończone, ale otrzymuję te wiadomości na starcie.
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.
...
Czy ktoś może mi powiedzieć, co to powoduje? Myślę, że mikser również analizuje to jako model, ale nie rozumiem dlaczego. Później próbowałem czegoś bardziej wyrafinowanego dla analizy parsowania w pythonie (argparse), ale w ogóle nie działało. Więc myślę, że na tym poziomie może się dziać coś dziwnego.
Dzięki!
zobaczyć te same pytania na stronie Stack Exchange Network Blendera: http: //blender.stackexchange.com/questions/6817 – ideasman42