尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

DeepSeek接入Codex控制Blender:Skill封装实现AI自动建模

DeepSeek接入Codex控制Blender:Skill封装实现AI自动建模 最近很多人在讨论一个组合DeepSeek 负责“听懂人话”Codex 负责“调用工具”Blender 负责“把结果画出来”。从热词趋势看codex 接入 deepseek、codex skill、blender 建模入门教学几乎同时出现在开发者视野里。但真正把这三者串成一个可用流程的教程目前还比较少。很多人试到一半就卡住了要么是 Codex 找不到 CLI 二进制要么是 Blender 脚本完全没有反应。这篇文章想解决的就是这个问题不聊概念直接给你一条能跑通的链路。我们会用“自动生成一座天宫仙境场景”作为例子把 DeepSeek 的意图理解、Codex 的执行编排、Blender 的 Python 建模 API 串起来。读完你会知道要让 AI 真正帮你建一个 3D 场景关键不在大模型本身而在于你怎么设计那一层“技能封装”。先给一个明确判断这套玩法的核心不是让 AI 随机画东西而是把 Blender 的操作能力封装成 Codex 可以稳定调用的 skill。模型负责说“我想要什么”skill 负责说“怎么用 Blender 实现”。这个思路一旦建立你能自动化的就不止是建模还有后续的材质、灯光、渲染输出。下面我们边搭边讲。1. 这套组合真正解决的是什么问题先说痛点。手动在 Blender 里搭一个带山体、云海、宫殿的天宫场景熟练的建模师大概需要半天到一天。你要反复切换正交视图、缩放、挤出、复制、调整材质很多操作是完全机械化的。与此同时大模型已经能写 Python 代码了而 Blender 恰好有一套完整的 Python APIbpy。理论上AI 完全可以直接生成脚本让 Blender 自动建模。但实际试过会发现纯靠大模型写代码不够稳定。你让它“建一座山”它可能给你生成一堆不相干的代码你让它“接着上次的场景继续加云”它可能把整个场景清空重来。问题出在哪里出在缺少一个“中间翻译层”。这个中间翻译层就是 skill。Codex 的一大特性是支持通过 skill 来增强自己的能力——每个 skill 就像给 Agent 的一本操作手册里面写清楚某个功能怎么用、有哪些参数、调哪个脚本。当 DeepSeek 作为推理后端时它负责把“我想在天宫旁边加一朵云”转成结构化的意图Codex 负责根据 skill 里的说明调用对应的 Blender 脚本Blender 只是忠实地执行 Python 命令。所以这套组合真正降低的是“自然语言到 3D 资产”的转换成本。过去你需要学 Blender 的操作逻辑、记住快捷键、理解网格拓扑现在你只需要把资产生成的规则沉淀成 skill。对于非专业建模出身的开发者这是最实用的一条 AI 建模路径。2. 四个角色拆解DeepSeek、Codex、Skill、Blender 各自干哪些活在开始动手之前先理清这套链路里的四个角色。很多教程把 DeepSeek 和 Codex 混在一起讲容易让人误以为它们是同一个东西。实际上它们是两个层次完全不同的组件。角色定位在建模任务中负责什么DeepSeek大语言模型 / 推理后端理解用户意图把自然语言转成 Codex 可执行的指令、规划步骤Codex命令行编程代理 / 执行编排层接收指令按 skill 的说明调用环境工具执行 Python 脚本SkillCodex 的可复用技能包封装 Blender 操作逻辑告诉 Codex 有哪些脚本、参数怎么传Blender3D 建模软件执行 Python APIbpy生成网格、材质、灯光、渲染结果用一句话概括就是DeepSeek 是“大脑”Codex 是“双手”skill 是“操作手册”Blender 是“干活的地方”。为什么需要 DeepSeek 而不是直接用 Codex 自带的模型从社区里的实践看DeepSeek 的中文理解能力更强而且 API 成本友好很多国内开发者已经在尝试把 Codex 的模型后端切到 DeepSeek。这种“Codex 接入 DeepSeek”的玩法本质上是保留 Codex 的执行框架换成更强的中文意图理解模型。你不需要去学新的 Agent 框架只需要在配置文件里指定模型提供商。这里要特别说一个容易踩的坑不要把“Codex”和“某个 IDE 里的 AI 插件”混为一谈。Codex 是一种命令行环境的 Agent 工具它能看到你的文件系统、能执行命令、能运行脚本这才使得“控制 Blender”成为可能。普通的 AI 聊天窗口只会给你一段代码但 Codex 真的会把代码跑起来然后告诉你结果。3. 环境准备提前装好三样东西并打通链路这套方案的环境准备不算复杂但有几处顺序容易搞反。我的建议是先装 Blender再装 Codex CLI最后配置 DeepSeek API。如果你先配置了 API 再装 Blender后面还得回头改配置。3.1 安装 Blender 并找到 Python 模块路径去 Blender 官网下载对应你操作系统的安装包即可。版本以你实际安装为准本文重点是通用思路。安装完成后需要确认一个关键信息Blender 自带的 Python 解释器路径。在 Blender 的菜单栏里点击Scripting工作区打开 Python Console输入import sys print(sys.executable)记下这个路径。Windows 下通常是C:\Program Files\Blender Foundation\Blender X.X\X.X\python\bin\python.exemacOS 下通常在应用程序包的Contents/Resources/X.X/python/bin/python里。这个路径在后面调试脚本时会用到。3.2 安装 Codex CLICodex CLI 是命令行的 Agent 工具安装方式以你使用的环境为准。常见方式是通过 npm 或原生安装脚本安装完成后在终端里确认codex --version如果能输出版本号说明 CLI 安装成功。如果你看到类似“unable to locate the codex cli binary”的报错通常是因为某个图形界面工具找不到 codex 的可执行文件解决办法是把 codex 的安装目录加入系统PATH环境变量然后重新打开终端。3.3 配置 Codex 使用 DeepSeek 后端这一步是整个链路的核心。Codex 支持自定义模型提供商我们可以把 DeepSeek 配置进去。常见的配置文件位置是~/.codex/config.tomlWindows 下可能是用户目录下的.codex/config.toml。一个参考配置如下# 文件路径~/.codex/config.toml model deepseek-chat model_provider deepseek [model_providers.deepseek] name DeepSeek base_url https://api.deepseek.com/v1 env_key DEEPSEEK_API_KEY注意env_key表示 Codex 会从环境变量里读取 API Key所以你还得在~/.bashrc或~/.zshrc里加上export DEEPSEEK_API_KEY你的 DeepSeek API Key配置完成后运行一个最简单的测试codex exec 用一句话介绍你自己如果 Codex 正常返回内容说明 DeepSeek 后端已经打通。这里要提醒一下不同版本的 Codex 配置文件字段可能有差异。如果启动报错先用codex --help查看当前版本的配置说明不要硬套网上的旧教程。4. 核心机制Skill 为什么是自动化建模的“灵魂”现在来到本文最重要的一节。很多人以为“AI 控制 Blender”就是把自然语言丢给大模型然后祈祷它写出正确的 bpy 代码。这个思路在简单场景下能跑通但一旦你要做复杂场景或者在多台机器上复用就会非常痛苦。原因有两个一是大模型的输出不稳定同一个指令两次生成的结果可能差异巨大二是代码里藏着很多隐性的 Blender 操作细节大模型不一定知道。Skill 解决的就是这两个问题。你可以把 skill 理解成一个“带说明书的工具包”。每个 skill 通常包含两部分一篇SKILL.md说明书和一个或多个可执行脚本。说明书里写明这个 skill 是干什么的、有哪些参数、脚本怎么调用、输出在哪里。Codex 在执行任务时会先读说明书再根据说明书调用脚本。下面是一个简化版的天宫场景 skill 结构tiangong-scene/ ├── SKILL.md └── scripts/ ├── clear_scene.py # 清空场景 ├── add_mountain.py # 添加山体 ├── add_cloud.py # 添加云朵 ├── add_palace.py # 添加宫殿 └── build_tiangong.py # 一键生成整套场景SKILL.md的内容不需要很复杂但必须写清楚“什么时候用这个 skill”以及“参数怎么传”。示例# Tiangong Scene Skill 用于在 Blender 中生成天宫风格的 3D 场景。 ## 功能 - 清空当前场景 - 生成悬浮山体 - 生成云朵 - 生成主体宫殿 ## 用法 ### 清空场景 运行 python scripts/clear_scene.py ### 生成标准天宫场景 运行 blender --background --python scripts/build_tiangong.py ## 注意事项 - 所有脚本依赖 Blender 自带的 Python 环境不要用系统 Python 直接运行。 - 脚本通过 bpy 操作场景运行后如果没有任何报错说明执行成功。有了这份说明书Codex 就不再是“凭感觉写代码”而是按照你沉淀好的流程去执行。你把 Blender 建模的经验固化成了 skillAI 只是你的双手。这也是为什么我说建模能力不是大模型给的是你封装进 skill 的。5. 天宫仙境实战从自然语言到 Blender 场景环境打通了skill 结构也清楚了现在我们来跑一个真实的例子。目标是用一句话让 Codex 调用 skill在 Blender 中生成一个包含悬浮山、云朵和主体宫殿的天宫场景。5.1 编写 Blender 建模脚本首先是底层的 Blender 脚本。我们先写一个清空场景的脚本# 文件路径tiangong-scene/scripts/clear_scene.py import bpy def clear_scene(): # 清空所有对象 bpy.ops.wm.read_factory_settings(use_emptyTrue) # 删除默认的立方体和灯光 for obj in bpy.data.objects: bpy.data.objects.remove(obj, do_unlinkTrue) if __name__ __main__: clear_scene() print(Scene cleared.)然后写生成山体的脚本。为了让山体更像样我们用一个锥体加上细分修改器再用随机噪点调整顶点位置# 文件路径tiangong-scene/scripts/add_mountain.py import bpy import random import math def add_mountain(name, location, radius, depth, seed42): random.seed(seed) # 创建锥体作为山体基础 bpy.ops.mesh.primitive_cone_add( vertices8, radius1radius, depthdepth, locationlocation ) obj bpy.context.active_object obj.name name # 添加细分修改器让山体更平滑 sub obj.modifiers.new(nameSubsurf, typeSUBSURF) sub.levels 2 sub.render_levels 2 # 进入编辑模式对顶点做随机扰动 bpy.ops.object.mode_set(modeEDIT) bpy.ops.mesh.select_all(actionSELECT) bpy.ops.transform.vertex_random( offset(0.2, 0.2, 0.3), uniform0.1, normal0.5 ) bpy.ops.object.mode_set(modeOBJECT) print(fMountain {name} added at {location}) return obj if __name__ __main__: add_mountain(main_mountain, (0, 0, 3), 5, 10)这里用到bpy.ops.transform.vertex_random它能在编辑模式下对选中的顶点做随机偏移让山体轮廓更自然。seed参数用于控制随机结果方便复现。接着是云朵和宫殿的脚本逻辑类似只是基础几何体不同# 文件路径tiangong-scene/scripts/add_cloud.py import bpy def add_cloud(name, location, radius): # 用 UV 球体作为云的基础形状 bpy.ops.mesh.primitive_uv_sphere_add( radiusradius, locationlocation ) obj bpy.context.active_object obj.name name # 给云加一个柔和材质简化处理只调基础颜色 mat bpy.data.materials.new(namef{name}_mat) mat.diffuse_color (1.0, 1.0, 1.0, 1.0) # 白色不透明 obj.data.materials.append(mat) print(fCloud {name} added at {location}) return obj if __name__ __main__: add_cloud(cloud_01, (4, 2, 6), 1.5)# 文件路径tiangong-scene/scripts/add_palace.py import bpy def add_palace(name, location, size): # 用正方体作为宫殿主体 bpy.ops.mesh.primitive_cube_add(sizesize, locationlocation) obj bpy.context.active_object obj.name name # 简单分配一个金色材质 mat bpy.data.materials.new(namef{name}_mat) mat.diffuse_color (0.8, 0.6, 0.2, 1.0) obj.data.materials.append(mat) print(fPalace {name} added at {location}) return obj if __name__ __main__: add_palace(palace_hall, (0, 0, 9), 2)最后把所有模块整合成一个一键构建脚本# 文件路径tiangong-scene/scripts/build_tiangong.py import bpy import sys sys.path.append(.) from clear_scene import clear_scene from add_mountain import add_mountain from add_cloud import add_cloud from add_palace import add_palace def build_tiangong(): clear_scene() add_mountain(main_mountain, (0, 0, 3), 5, 10, seed42) add_cloud(cloud_01, (4, 2, 6), 1.5) add_cloud(cloud_02, (-3, -1, 7), 1.2) add_cloud(cloud_03, (1, -4, 8), 1.8) add_palace(palace_hall, (0, 0, 9), 2) print(Tiangong scene build completed.) if __name__ __main__: build_tiangong()注意直接运行这些脚本时不要用系统 Python而要使用 Blender 自带的 Python 环境。最简单的方式是通过 Blender 的命令行带--background参数执行blender --background --python scripts/build_tiangong.py如果你在build_tiangong.py里 import 其他脚本时遇到路径问题可以加上sys.path.append(.)确保当前目录能被搜索到。5.2 让 Codex 通过 Skill 调用脚本现在到了最特别的部分我们不直接运行 Blender 命令而是让 Codex 去运行。先确认你的 skill 目录已经放在 Codex 能识别的位置。具体位置取决于你的 Codex 配置一般是在执行任务的目录下或者在 Codex 的配置目录里。假设你把tiangong-scene放到了当前项目目录下那么对 Codex 说codex exec 按照 tiangong-scene skill 的说明在 Blender 中生成一个天宫场景包含一座主山、三朵云和一座主殿。运行后告诉我脚本执行结果。Codex 会读取SKILL.md定位到build_tiangong.py然后用类似下面命令的方式执行blender --background --python scripts/build_tiangong.py你不需要手动告诉 Codex 这个命令它能从 SKILL.md 里学到。这就是 skill 的意义你在说明书里写清楚“用什么命令跑”Codex 就会照着执行。5.3 验证 Blender 脚本能否被 Codex 驱动执行完成后Codex 会返回脚本的输出。如果脚本里有print信息比如Tiangong scene build completed.说明整个链路已经打通。如果你想进一步验证 Blender 里确实生成了对象可以再加一个检查脚本# 文件路径tiangong-scene/scripts/verify_scene.py import bpy def verify(): names [obj.name for obj in bpy.data.objects] print(Objects in scene:, names) assert main_mountain in names assert palace_hall in names if __name__ __main__: verify()然后告诉 Codexcodex exec 运行 tiangong-scene skill 中的 verify_scene.py 脚本确认场景对象是否生成完整。这一步的意义是让整个链路具备“可验证性”。Agent 执行完任务后不是靠它自己说“成功”就结束而是通过脚本检查结果。这也是工程化 AI 自动化任务时最重要的习惯每一步都要有明确的验收标准。6. 运行结果与效果判断当你执行完blender --background --python scripts/build_tiangong.py后预期会看到类似下面的输出Scene cleared. Mountain main_mountain added at (0, 0, 3) Cloud cloud_01 added at (4, 2, 6) Cloud cloud_02 added at (-3, -1, 7) Cloud cloud_03 added at (1, -4, 8) Palace palace_hall added at (0, 0, 9) Tiangong scene build completed.如何判断成功没有任何 Python traceback 报错。Tiangong scene build completed.出现在输出中。用verify_scene.py检查时能列出所有目标对象的名字。如果你想实际看到模型而不是只在后台跑脚本可以用--python参数执行完脚本后不关闭 Blenderblender --python scripts/build_tiangong.py这样 Blender 会保持打开状态你可以在视口里直接观察生成的山、云、宫殿是否在预期位置。第一次跑的时候我建议就用这种方式因为直接从命令行看输出你根本不知道模型长什么样。如果发现脚本执行成功但什么都没有生成优先检查两处第一Blender 版本是否支持你用的 API比如transform.vertex_random在很老的版本里可能没有第二是否在bpy.ops.wm.read_factory_settings(use_emptyTrue)之后对象真的被清空又重新生成。另一种常见情况是你用了系统 Python 直接运行脚本导致import bpy就报错。记住bpy 只有 Blender 内置的 Python 环境才有。7. 常见报错与排查方法从社区讨论和实际操作来看这套链路最容易出问题的几个环节是Codex 安装失败、DeepSeek 配置不生效、Blender 脚本执行异常。下面整理成表格方便你对照排查。问题现象可能原因排查方式解决方案运行codex --version报错unable to locate the codex cli binaryCodex CLI 不在系统 PATH 中确认which codex或where codex是否能找到路径将 Codex 安装目录加入 PATH重新打开终端Codex 启动后返回模型错误无法使用 DeepSeekconfig.toml中env_key或base_url配置错误检查配置文件用 curl 手动请求 DeepSeek API 测试 Key 是否有效修正base_url确认DEEPSEEK_API_KEY环境变量已生效Codex 执行任务时报错cc switch local proxy failed while handling codex endpoint /responses本地 API 网关或代理地址配置异常检查 Codex 是否有自定义网关配置确认本地服务是否可达关闭多余代理配置或修正网关地址确保只保留一个可用入口运行 Blender 脚本时ModuleNotFoundError: No module named bpy使用了系统 Python 而不是 Blender 自带 Python检查脚本是在什么环境下运行的统一用blender --background --python xxx.py方式执行bpy.ops.mesh.primitive_cone_add报错或场景无对象Blender 版本过旧或脚本运行状态异常查看完整 traceback确认是哪个 API 不兼容升级 Blender或把脚本改成兼容写法先清空对象再创建网格场景生成后模型位置偏移严重脚本里的location参数不符合预期打印对象坐标检查是否超出 Blender 可视范围调整参数或在脚本里加入bpy.ops.object.origin_set(typeORIGIN_CENTER_OF_MASS)修正原点云朵和宫殿生成了但没有颜色材质未正确附加到对象在 Blender 里检查对象材质槽确认obj.data.materials.append(mat)已执行且不是覆盖模式这些问题的排查思路其实适用于所有 AI Agent 自动化场景先确认环境变量是否对再确认目标工具是否能被命令行独立调用最后才怀疑 AI 生成的指令有问题。很多时候不是 Codex 不行而是前置环境没就绪。8. 工程化建议别把“会建一座山”当成“能上线”当你用 DeepSeek Codex Blender skill 跑通一个天宫场景后会发现自己站在一个很有意思的分叉口是继续手工调参、拼更多场景还是把这套流程工程化变成团队可复用的资产生产线。我的建议是如果想认真做下去至少要考虑以下几点。8.1 Skill 的边界和颗粒度Skill 不是越大越好。如果你的SKILL.md里写了一堆功能Codex 反而不知道选哪个。比较合理的做法是每个 skill 只做一件事比如tiangong-scene管场景搭建material-apply管材质处理render-output管渲染导出。颗粒度越细Codex 的调用准确率越高。跨场景的通用操作比如清空场景、导入资产可以单独拆成一个base-sceneskill被其他 skill 依赖。8.2 幂等性与可重复性AI 自动化最容易出问题的就是“不可重复”。第一次让 Codex 生成山它可能在山的位置加了随机扰动第二次运行同一个 skill因为随机种子不同结果完全变了。如果你的目标是做资产生产必须在脚本里固定随机种子或者把关键参数通过 JSON 配置文件传入。比如{ mountain: {radius: 5, depth: 10, seed: 42}, clouds: [ {name: cloud_01, location: [4, 2, 6], radius: 1.5} ] }然后 skill 脚本读取这个配置而不是硬编码参数。这样 Codex 只需要修改 JSON就能生成不同变体而脚本本身保持稳定。8.3 安全边界与权限管理让 Codex 在命令行里执行 Blender 脚本等于给了它一定的代码执行能力。务必注意以下几点不要在公开仓库里提交真实的DEEPSEEK_API_KEY。脚本只允许操作指定目录不要做成“任何路径都能执行”。对 Codex 执行的命令做审计保留日志。在团队协作时Blender 脚本的变更要走 code review不能让 AI 随意修改生产脚本。8.4 从“演示”到“生产”的清单如果团队想把这套方案落地我建议先补齐下面这些能力能力项说明参数配置化所有几何参数从 JSON 或 YAML 读取不硬编码日志输出每个脚本都打印关键参数和执行结果错误码规范脚本失败时返回非零退出码方便 Codex 识别场景命名规范对象统一用类型_名称格式方便后续自动筛选渲染验收生成后输出一张低分辨率预览图人工或 CV 模型判断是否合格回滚机制生成失败时自动清空本次新增的对象保留上一次成功版本这些建议不局限于 Blender。任何用 Agent 驱动外部工具的场景都值得照着这个清单检查一遍。9. 更进一步的玩法从单场景到资产自动化当你能稳定地用一句话生成天宫场景后其实已经掌握了 AI 驱动 3D 内容生产的最小闭环。接下来可以往几个方向延伸。第一个方向是场景批量生成。你可以把“山体数量”“云的高度”“宫殿位置”做成可配置的参数让 Codex 一次生成十个不同版本再通过脚本做多视角渲染从中挑选最合适的。这比手工建模再渲染快几个数量级。第二个方向是材质和灯光的自动化。Blender 的材质节点系统其实就是一张图理论上可以用 Python 脚本创建任意复杂的节点网络。把材质封装成另一个 skillCodex 就能在生成模型后自动应用指定材质比如“给宫殿加一个带金属感的金色材质”。第三个方向是回归到“自然语言编辑已有场景”。现在很多人的诉求不是从零生成而是“在已有场景里加一棵树”“把云往左移一点”。这类增量编辑任务反而比从零生成更考验 skill 设计。因为你要在脚本里明确区分“新增对象”和“清空场景”不能让 skill 每次都先清场。针对这个场景可以单独封装edit_scene系列的脚本操作前先打印当前场景对象列表再执行精确修改。如果你对 Agent 的工作流感兴趣还可以去了解一下社区里围绕 DeepSeek 衍生出的各种 harness、插件和优化方案。目前的生态已经不只是“调用一个 API”而是更关注“如何让模型更稳定地使用工具”。从热词里你能看到大家对deepseek harness、codex skill、agent skill的关注度在快速上升。这说明工具调用的工程化正在成为新的学习重点。回到最开始的问题DeepSeek Codex 控制 Blender 建模到底能走多远我的答案是如果你只是想让 AI 帮你画一个简单的场景那确实有点大材小用但如果你是想建立一套“自然语言到 3D 资产”的自动化流水线那这个组合是目前成本最低、最容易上手的方案之一。核心不在于模型有多强而在于你愿不愿意花时间把 Blender 的操作逻辑沉淀成一个个 skill。这个沉淀过程本身就是建模经验的工程化。建议你先从最简单的一个山体脚本开始跑通全链路再逐步加云、加宫殿、加材质。每次加一个功能就把对应的 skill 文档更新一次。坚持下来你会发现 AI 建模不再是“玩具”而是真正能减轻重复劳动的生产工具。
返回列表