3D 工作里重复的那一半既不创作,也谈不上快。把四十个物体重命名、给一整套套件换三种材质、把同一个场景导出成五种格式——每件事花两分钟,每件事都是一个出错的机会。Blender 一直都能写脚本;变化在于,现在你不需要自己写。
从任务出发,而不是从 API 出发
用你跟同事说话的方式描述需求:
把所有名字以 "prop_" 开头的物体找出来,放进一个叫 Props 的集合,赋予已有的 "M_Plastic" 材质,并在名字后面加上三位数字后缀。
这段描述里已经包含了脚本需要的全部信息:筛选规则、目标位置、材质赋值和命名规范。如果你从 bpy.data.objects 起步、试图自己写循环,那你选的是困难模式。
脚本最先见效的地方
- 命名与集合——让其他所有事都变慢的那堆混乱
- 批量材质——一次改色,整套资产同步
- 导入导出——同一个场景一次跑出 FBX、GLB 和 STL
- 散布与摆放——成排、成环、贴合地形的道具
- 相机与渲染——环绕镜头、正交视图、统一构图
- 检查校验——找出非流形边、缺失 UV、未应用缩放
在 Scripting 工作区里跑起来
如果只是用一次,打开 Scripting 工作区,粘进文本编辑器,点 Run Script,然后看系统控制台里的报错。两个习惯能保平安:先保存 .blend 文件;在信任脚本之前,先让它只做选择和打印,第一版只输出"我打算改什么",这一步很值。
再把它变成可重复的流程
脚本跑通之后,就别再让它待在文本编辑器里:
blender --background scene.blend --python scripts/cleanup.py无界面运行是脚本变成流水线环节的关键。同一条命令可以用在 CI、Makefile 或者渲染农场的任务里——这是一个小技巧和一套工作流的区别。
调试 AI 写出来的代码
绝大多数报错都落在这么几类里:
| 现象 | 常见原因 |
|---|---|
对某个物体报 AttributeError | 数据路径写错,或者该物体并不是你以为的类型 |
| 什么都没发生 | 脚本改的是副本,或者运行在了错误的上下文里 |
| 出现重名 | 名字被占用,Blender 自动加了 .001 |
| 材质不显示 | 赋到了网格数据上而不是物体上,或者反过来 |
把完整报错和你预期发生的结果一起发回去。Blender 脚本的报错通常很具体,一轮就能修好。
人始终要在环里
AI 写的脚本依然是脚本:它能删数据、覆盖文件,或者悄悄毁掉一次导出。对待生成的代码要像对待生成的模型一样——先看一遍,先在副本上跑,然后再拿它处理正经工作。
下一步
接着用灯光、相机与渲染把流程搭完,或者回到基础,看文字生成 3D。如果你想让它直接在场景里替你跑这些脚本,可以先注册账号,也可以从什么是 Blender AI读起。
