我是Blender
的新手。我创建了一个简单的项目,我在其中添加了一个文本变量。我在Test
添加的文字。见下图。
现在,我想从命令行调用此脚本来调用此特定项目文件并传入文本变量之类的参数以显示文本james
而不是Test
。
例如,输入以下命令应该会给我生成带有文本james的视频。
blender proj1.blend variable = james
注意:我是初学者,我希望我能清楚地解释我的问题。
答案 0 :(得分:1)
使用python脚本,如
blender proj1.blend --python-expr "import bpy; bpy.data.curves['Text'].body = 'james'"
(如果你的文字曲线对象叫做“文字”)
参数顺序很重要 - 您希望在加载文件后执行脚本。
答案 1 :(得分:1)
您可以在sys.argv
中找到用于启动blender的参数,就像运行普通python脚本一样。 Blender将忽略--
之后的任何参数,然后您的脚本可以找到--
参数并在此之后处理任何选项。
blender -b --python maketext.py -- James
然后maketext.py
的内容将以 -
import bpy
import sys
idx = sys.argv.index('--') + 1
string_to_use = sys.argv[idx]
text_data = bpy.data.curves.new('txt', 'FONT')
text_data.body = string_to_use
text_obj = bpy.data.objects.new('text', text_data)
bpy.context.scene.objects.link(text_obj)
# animate and render