我将在Blender命令行上运行脚本。我要做的就是为多个文件运行相同的脚本。我已经完成了运行后台文件(.blend)并在Blender中运行脚本的步骤,但是由于我刚刚加载了一个文件,因此无法在另一个文件上运行脚本。
我查阅了Blender手册,但是找不到导入文件的命令。
我继续创建.blend文件并运行脚本。
blender -b background.blend -P pythonfile.py
此外,如果可以的话,如果您能告诉我如何编写相机脚本和跟踪轴以跟踪约束(Ctrl + T->跟踪约束),我将不胜感激。
非常感谢您阅读我的要求。
答案 0 :(得分:0)
Blender一次只能打开一个混合文件,打开一个新文件时将清除所有打开的脚本。您想要的是一个循环,该循环使用相同的脚本文件启动每个混合文件的混合器。
在* nix系统上,您可以使用简单的shell脚本
#!/bin/sh
for BF in $(ls *.blend)
do
blender -b ${BF} -P pythonfile.py
done
另一个跨平台解决方案是使用python-
from glob import glob
from subprocess import call
for blendFile in glob('*.blend'):
call([ 'blender',
'-b', blendFile,
'--python', 'pythonfile.py' ])
向Camera
添加Track-to约束,将其指向Cube
-
camera = bpy.data.objects['Camera']
c = camera.constraints.new('TRACK_TO')
c.target = bpy.data.objects['Cube']
c.track_axis = 'TRACK_NEGATIVE_Z'
c.up_axis = 'UP_Y'
这是从我的answer here拍摄的,该动画还使相机绕着物体旋转。
答案 1 :(得分:0)
bpy.context.view_layer.objects.active = CameraObject
bpy.ops.object.constraint_add(type='TRACK_TO')
CameraObject.constraints["Track To"].target = bpy.data.objects['ObjectToTrack']