Blender命令行运行入门:传递参数修改文本内容
实现命令行传参数修改Blender文本并生成视频
嘿,作为Blender新手能想到用命令行自动化生成视频,这个思路超实用!下面我带你一步步搞定这个需求:
1. 先把Blender项目(proj1.blend)配置好
打开你的项目,完成这几步设置:
- 给目标文本对象起个好认的名字:选中你的文本,在右侧属性栏的「对象属性」里把名字改成
DynamicText(脚本里要靠这个名字找到它)。 - 添加参数处理脚本:新建一个文本编辑器窗口,创建名为
param_handler.py的脚本,粘贴下面的代码:
import bpy import sys def get_custom_param(param_name): # 解析命令行里的自定义参数 for arg in sys.argv: if arg.startswith(f"{param_name}="): return arg.split("=")[1] return "Test" # 没传参数时用默认值 # 获取传入的文本内容 new_text_content = get_custom_param("variable") # 修改文本对象的内容 target_text = bpy.data.objects.get("DynamicText") if target_text and target_text.type == 'FONT': target_text.data.body = new_text_content # 执行动画渲染(提前在项目里设置好输出路径和格式哦) bpy.ops.render.render(animation=True)
- 让脚本自动运行:在文本编辑器顶部菜单选「文本」→「注册」,这样打开Blender时脚本会自动执行。
- 保存项目为
proj1.blend。
2. 命令行调用的正确姿势
现在可以在终端里敲命令,传参数生成视频了。记得用-b参数让Blender后台运行(不弹GUI,适合批量处理),用--分隔Blender自带参数和我们的自定义参数:
blender -b proj1.blend -- variable=james
-b:后台模式,避免弹出Blender界面proj1.blend:你的项目文件路径--:告诉Blender后面的是我们自定义的参数,交给脚本处理variable=james:传递的参数,脚本会把文本改成james并渲染动画
3. 几个要注意的小细节
- 提前设置渲染输出:在「属性编辑器」→「输出属性」里选好输出路径、文件格式(比如FFmpeg视频,MP4),不然渲染完找不到视频文件。
- 确认文本对象名字:脚本里的
DynamicText必须和你项目里的文本对象名字完全一致,别打错字。 - 测试时可以先去掉
-b参数,打开GUI运行命令,看看文本有没有正确修改、渲染是否正常,没问题再用后台模式。
内容的提问来源于stack exchange,提问作者Illep
相关产品推荐
相关产品推荐

