拓冰建站拓冰建站
首页 / 资讯中心 / 正文

用Deepseek和Codex CLI让AI自动生成Blender建模脚本

最近在折腾一套组合Deepseek Codex CLI Blender。目标很直接——用中文描述需求让 AI 自动生成 Blender 建模脚本最后搭出一座天宫仙境。实测下来这套流程能跑通而且思路一旦理顺不只是做天宫做蒸汽城、赛博街区、海底遗迹都能复用。但要说清楚这不是装上就能用的“一键生成”中间有三道坎环境配置、skill 设计、脚本调试每一道都决定最终效果稳不稳定。这篇文章按实际落地顺序拆一遍适合对 Blender 建模有基础、想用 AI 提效的人也适合刚接触 Codex CLI 的开发者。1. 先理清这套组合的分工别把顺序搞反1.1 Deepseek、Codex、Blender 各干各的活很多人看到“Deepseek Codex 控制 Blender”以为三个东西合并成了一个新工具。实际上它们是三层关系。Deepseek 是模型层。它负责理解你的中文描述把它转换成可执行的 Python 代码。Deepseek 的 API 兼容 OpenAI 格式所以很多开源智能体工具可以直接切换过去。你可能会看到 deepseek harness 之类的词本质上也是把 Deepseek 接进不同智能体框架Codex CLI 只是其中一种选择。Codex CLI 是智能体层。它是运行在终端里的 AI 编程代理负责接住自然语言指令拆解任务调用模型生成代码然后执行代码、读取结果、根据报错自动修改。你可以把它理解成一个会用电脑的助手而不是一个对话框。Blender 是执行层。它自带完整的 Python API也就是 bpy可以用脚本建模、加材质、摆相机、渲染。AI 生成的脚本最终要拿到 Blender 里跑。正确的顺序是先告诉 Codex 要什么Codex 调用 Deepseek 生成 Blender 脚本再把脚本交给 Blender 执行最后把渲染图或报错信息反馈给 Codex让它继续迭代。这个闭环打通了才算真正“自动控制”。如果把顺序搞反比如先让 Blender 去调用 Deepseek或者让 Codex 直连 Blender 的图形界面都会绕远路。记住一点Codex 只负责生成和调试代码Blender 只负责执行代码中间靠 Python 脚本传递。1.2 为什么值得这么做手动建模一个天宫场景工作量集中在这几块浮空岛的地形调整、中式建筑的结构搭建、云海和粒子、灯光和雾气。这些在 Blender 里都可以用参数化方式生成但手工操作要反复切换菜单、调整数值非常琐碎。把参数化建模交给 AI 之后工作流会发生一个关键变化。以前是“我想做一个飞檐所以要选中面、挤出、旋转、合并顶点”现在是“我要一个带飞檐的屋顶模块高度 3 米瓦片材质偏青色生成 6 个按环形排列”。描述层级从“操作”变成了“意图”。但这个转变有前提AI 生成的脚本必须稳定可执行不能每次生成的风格都不一样。所以后面要专门给 Codex 做一个面向 Blender 的 skill把常用建模套路固定下来。2. 环境准备Codex CLI、Deepseek API、Blender 三件套2.1 安装 Codex CLICodex CLI 官方推荐用 npm 全局安装npm install -g openai/codex安装完成后先确认版本codex --version如果提示找不到 codex 命令先检查 npm 的全局 bin 目录是否在 PATH 里。Windows 上常见问题是 npm 全局路径和系统 PATH 不匹配macOS 和 Linux 上常见问题是用了 nvm 之后node 版本切换导致全局命令找不到。解决方法是把npm config get prefix拿到的目录手动加到 PATH。这里有一个高频报错值得单独说很多人在 Codex 的桌面端或编辑器插件里看到 “unable to locate the codex cli binary. set codex cli path or ensure the executable is available in your PATH”。意思是插件找不到 CLI 程序。这不是 Deepseek 的问题也不是 Blender 的问题单纯是 CLI 没装好或者插件不知道去哪找它。先在本机命令行里跑codex --version能通过再回插件里配置 CLI 路径。2.2 把 Deepseek API 接进来Codex CLI 默认使用 OpenAI 的模型但你可以在配置里指定自定义 provider。因为 Deepseek 的 API 兼容 OpenAI 格式所以只需要修改 base_url 和 api_key。先确认你已经在 Deepseek 开放平台创建了 API Key。配置方式以配置文件为主。Codex CLI 启动时读取用户目录下的 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 wire_api chat注意不同版本的 Codex CLI 对配置字段的兼容性不完全一样。实际落地时先跑codex --help看当前版本支持的字段。配置完成后用一条最简单的指令验证连通性比如让 Codex 写一句 Python 打印 hello。这里不要急着直接让它控制 Blender。先确认模型能响应、代码能生成再进入 Blender 环节。这个顺序可以帮你缩小问题范围如果前面的任务都通后面报错就大概率是 Blender 环境或脚本问题。2.3 准备 Blender 的 Python 执行环境Blender 建模控制通常有两种方式。第一种是后台模式blender -b -P script.py-b 表示 background mode不启动图形界面-P 指定要执行的 Python 脚本。这个模式适合 AI 生成脚本后自动执行也适合在服务器上跑。第二种是把 Blender 当作 Python 模块导入import bpy这要求 Blender 的 Python 和系统 Python 版本匹配配置起来更费劲不建议新手优先尝试。我推荐先用后台模式。理由很简单你只需要确认 blender 可执行文件在 PATH 里然后不管脚本怎么生成执行方式都是同一行命令不用为每个脚本单独开界面。安装 Blender 时要注意系统差异Windows 下安装完成后把 blender.exe 所在目录加到 PATH。macOS 下直接在官方包安装命令行工具路径通常是/Applications/Blender.app/Contents/MacOS/Blender。Linux 下可以用发行版包管理器也可以用官方压缩包看你的习惯。验证方式blender --version能输出版本号说明 CLI 正常。再跑一个最简单的脚本# hello.py import bpy print(hello from blender, bpy.app.version_string)执行blender -b -P hello.py如果能看到打印信息说明 Blender 的 Python API 正常。我建议在 Windows 上把输出重定向到日志文件因为后台模式下终端窗口容易丢输出blender -b -P hello.py hello.log 21把日志写清楚后面排查能省一半时间。3. Skill 机制AI 能稳定控制 Blender 的关键3.1 skill 到底是什么在 Codex 里skill 是一组预置指令作用是告诉 AI 在特定领域怎么做。你可以把 skill 理解成“行业规范”或“操作手册”。Codex 接到任务时如果发现任务和某个 skill 匹配就会加载这个 skill 里的规则再结合模型能力生成代码。直接让 AI 写 Blender 脚本它也能写但每次写的风格可能不一样有时用 bpy.ops有时用 bpy.data 直接操作命名规则不统一对场景清理、材质管理、渲染输出的处理也千差万别。这种不稳定会直接导致后续脚本改起来很痛苦。skill 就是用来解决稳定性的。3.2 一个 Blender skill 应该包含什么在用户目录或项目目录下建立技能目录~/.codex/skills/blender-modeling/ └── SKILL.mdSKILL.md 内容建议覆盖这几块基础约定使用 bpy 模块坐标系统是 Z 轴向上。物体创建方式默认用bpy.ops.mesh.primitive_*_add系列创建后立刻命名。场景清理每次建模前把场景里的物体清理干净。材质规则材质命名统一颜色使用线性 RGB。渲染输出使用 PNG 格式设置输出目录。安全边界引用对象前先检查是否存在。这里给一个简化版 SKILL.md 示例实际可以根据项目不断往里加# Blender 建模技能 ## 目标 根据用户描述生成可在 Blender 后台模式执行的 Python 脚本。 ## 规则 - 统一使用 import bpy - 创建物体后立即设置 name命名格式前缀 物体类型 序号 - 创建物体前清理场景避免上一轮物体残留 - 材质使用 bpy.data.materials命名带材质用途 - 渲染输出统一为 PNG - 对物体做删除或修改前先判断该物体是否存在避免 KeyError - 脚本全程不启动 UI只用后台模式skill 里还可以放少量示例代码。Codex 生成代码时参考这些示例会更接近你想要的结构。示例不要写太长重点是套路而不是具体参数。3.3 如何让 Codex 加载 skillCodex 会在任务上下文里自动匹配 skill。你可以直接用自然语言告诉它“使用 blender-modeling 技能创建一个浮空岛。”如果版本支持也可以把它写进项目的 AGENTS.md作为默认上下文的一部分。不同版本的 Codex 对 skill 的加载方式可能有差异。建议先跑一个简单测试创建技能后让 Codex 写一个“创建一个命名为 test_base 的立方体”的脚本。如果生成的脚本符合 SKILL.md 里约定的命名和清理规则说明 skill 生效了。4. 实操从最小样例到天宫仙境4.1 先跑单条任务一座浮空岛第一次尝试不要直接提“天宫仙境”这种大场景先让 AI 生成一座浮空岛。这个任务足够小能验证整条链路又包含地形、材质、渲染三个关键环节。给 Codex 的指令可以是这样使用 blender-modeling 技能生成一个浮空岛模型 - 主体是上下压扁的球体 - 底部稍微不平整像被挖过的岩石 - 顶部是平台 - 给岛体加一个岩石材质 - 保存到 /tmp/island_test.blend - 不需要渲染Codex 生成的脚本大概长这样import bpy # 清空场景 bpy.ops.wm.read_factory_settings(use_emptyTrue) # 创建浮空岛主体 bpy.ops.mesh.primitive_uv_sphere_add(radius2.0, location(0, 0, 0)) island bpy.context.active_object island.name island_body # 压扁球体 island.scale (1, 1, 0.45) bpy.ops.object.transform_apply(scaleTrue) # 细分修改器让表面更平滑 bpy.ops.object.modifier_add(typeSUBSURF) island.modifiers[Subdivision].levels 2把生成的脚本保存成 create_island.py然后执行blender -b -P create_island.py检查标准日志无报错脚本结束后生成了 .blend 文件。用bpy.data.objects.keys()打印场景里的物体名字确认 island_body 存在。4.2 把天宫拆成模块而不是一次生成天宫仙境听起来是整体场景但实际建模必须拆模块。原因很简单AI 一次生成的脚本越长越容易在中间某个环节出错而且出错后很难定位。单个模块出问题只需要重新生成那一段不影响整个项目。我建议把天宫拆成 6 个模块浮空岛基座地形、岩壁、边缘平台。主殿建筑主体、屋顶、飞檐、柱子。配殿和连廊沿主殿两侧扩展。云海大量平板云层铺在浮空岛下方。瀑布从主殿旁边倾泻而下。灯光和相机暖色霞光、雾气、渲染参数。每个模块一个脚本脚本之间用 Blender 的集合或命名前缀隔离。例如主殿建筑统一用 main_hall_ 前缀云海用 cloud_ 前缀。后面调整时只需要处理对应前缀的物体。4.3 让 Codex 生成中式建筑元素的思路中式古建筑在 Blender 里建模最难的部分是屋顶和飞檐。如果用复杂网格建模AI 生成的代码容易出错。更稳妥的做法是参数化拼装屋顶主体用圆柱或棱柱压扁飞檐用切削后的锥体拼接柱子用圆柱体底座用立方体。给 Codex 的指令要尽量具体使用 blender-modeling 技能创建一座中式主殿 - 底座长 8 米、宽 5 米、高 1 米的长方体 - 柱子6 根圆柱直径 0.3 米高 4 米红色材质 - 屋顶主体是一个宽 10 米、高 2 米的扁圆锥青色瓦片材质 - 飞檐屋顶四角向外向上翘起用旋转 45 度的锥体模拟 - 所有物体名字以 main_hall_ 开头Codex 生成时会把圆柱、立方体、锥体这些 primitive 组合起来。这个思路非常适合 AI 建模不追求一个物体做得很精细而是通过模块组合实现造型。对于飞檐这种复杂形态可以先让 Codex 生成基础版本再到 Blender 里手动微调。后台模式下脚本生成的物体进入 Blender 后随时可以用常规快捷键调整。顺便提一下 Blender 的常用快捷键因为 AI 生成的脚本往往只是搭了个架子最终效果还是需要手动修正Shift A添加物体G移动S缩放R旋转Tab编辑模式切换N打开右侧属性面板Z切换渲染视图这些快捷键和 AI 脚本不冲突。AI 负责快速生成主体结构你负责审美修正。4.4 云海、瀑布和光的处理云海是“仙境感”的核心。最常见的做法是创建大量带透明纹理的平面分布在浮空岛下方。Codex 生成代码时可以用循环创建平面。注意不要创建太多否则渲染速度和文件体积会急剧增加。我建议先创建 30 片左右的云层铺满主要视角范围就好。瀑布可以用流体模拟但流体会让脚本复杂度和渲染时间急剧上升。更快的做法是用一个半透明蓝色材质的长方体贴在浮岛侧面配合粒子系统飘落一些白色小点模拟水花坠落。视觉上够用生成速度快。灯光方面建议用一盏暖色太阳光做主光源再加几盏补光灯。渲染参数里开启雾效或体积光能大幅提升“仙气”感。Codex 生成时要注意Blender 的渲染引擎建议用 Cycles 或 Eevee两者对灯光的处理逻辑不同。如果只是看效果Eevee 快如果要高质量输出Cycles 更好。完整的天宫渲染脚本大概有 300 到 500 行。这个长度对 AI 来说完全可以生成但前提是前面几个模块都已经单独跑通。如果前面模块报错不要直接在大脚本里排查先回到那个模块的单脚本里去修。4.5 渲染输出和验收标准最终验收不是只看能不能出图。我建议用这几个标准判断启动无报错脚本执行完日志最后有完成提示。物体数量符合预期主殿、浮空岛、云海、瀑布都有对应物体。渲染输出正常拿到了 PNG 图不是黑屏。构图完整相机视角里能看到建筑主体云海在下方光从侧后方打过来。可重复性同一份脚本跑两次输出的场景一致没有随机错位。渲染命令示例blender -b island_hall.blend -E BLENDER_EEVEE_NEXT -o //render/frame_ -F PNG -f 1参数说明-b 后台模式-E 指定渲染引擎-o 输出路径-F 输出格式-f 1 渲染第 1 帧。如果你用 Cycles把引擎名称换成 CYCLES。5. 模型选择、参数设置和资源边界5.1 该用 deepseek-chat 还是 deepseek-reasonerDeepseek 提供对话模型和推理模型。在 Codex 控制 Blender 的场景里我的建议是日常建模任务用对话模型速度快、成本低语法错误通常也能修。复杂场景生成用推理模型它在拆解任务和生成长脚本时更稳。没有绝对标准因为具体模型命名和版本会变化。你可以把同一个浮空岛任务分别用两个模型跑一遍看谁生成的脚本错误更少、修改次数更少。这是最可靠的判断依据。5.2 上下文、并发和重试的取舍Codex 在运行时会维护会话上下文。脚本越长、修改轮次越多上下文消耗越快。长任务建议分段执行先让 Codex 生成单模块脚本确认通过后再生成下一个。不要在同一个会话里连续生成十几个模块上下文爆掉之后AI 会越来越容易“忘记”前面的约定。批量控制 Blender 脚本时如果有多个任务不要同时跑太多并发。Blender 是资源大户多个实例同时跑会争抢 CPU 和内存导致任务互相拖慢甚至内存不足直接崩溃。我一般先开 2 到 3 个实例测试确认机器扛得住再加并发。5.3 资源占用和场景规模天宫仙境这类场景涉及大量物体脚本生成的物体数量如果超过几千个文件加载和渲染都会变慢。建议保持一个原则能合并的物体就合并能减少面数就减少。比如云海用 30 个平面就够了不需要 500 个。如果你的机器配置不算高重点关注三样东西内存容量、渲染引擎类型、渲染分辨率。内存决定场景能不能跑完Eevee 决定能不能快速出图分辨率决定等待时间。低配置机器建议先用 720p 渲染验证构图最后再出 1080p 或更高分辨率。6. 高频报错排查链路6.1 Codex 相关错误先处理智能体层的问题。常见的是安装和网络两个方向。如果出现 unable to locate the codex cli binary按这个顺序排查在命令行跑codex --version确认 CLI 本身可用。如果命令行可用确认调用 Codex 的插件或桌面端是否配置了正确的 CLI 路径。检查 PATH确保 npm 全局 bin 目录在里面。如果插件有自定义路径设置手动指向 CLI 可执行文件。如果出现类似 cc switch local proxy failed while handling codex endpoint /responses 的报错说明 API 请求链路出了问题先看 base_url 是否正确Deepseek 的接口地址配置的是 v1 结尾还是非 v1。再确认 API Key 是否有效、是否有余额。检查系统代理环境变量有些代理配置会拦截本地请求。最后看网络到 API 服务是否连通可以用 curl 简单测试。6.2 Blender 脚本执行错误脚本层面最高频的三类错误第一bpy 模块找不到。这就是 Blender Python 环境问题。不要用系统 Python 直接跑脚本必须通过blender -b -P或 Blender 内置的 Python。第二物体引用失败。报错 KeyError 或 AttributeError通常是因为脚本里引用了一个之前不存在或已经被删除的物体。排查办法是在创建物体后打印所有场景物体名确认命名和引用一致。第三渲染输出黑屏。多数时候是相机或灯光没有设置好。先确认场景里有相机相机视锥对准主体再确认有光源否则渲染出来就是黑的。6.3 输出异常的排查顺序如果脚本能跑但模型歪了、比例不对、位置漂移不要急着让 AI 重写脚本。先做三件事看日志里有没有随机数或者未固定参数。打开 .blend 文件检查中心点、缩放是否被 Apply 过。检查坐标单位。Blender 默认单位是米AI 如果混用了英寸或其他单位尺寸会完全不对。把这些信息反馈给 Codex让它针对这一段修正。这样比让它凭空重写一版更精准。7. 从能跑到跑稳最后的经验清单7.1 模块化是唯一可靠的方式这次做天宫仙境最大的体会是AI 生成代码的能力很强但场景规划能力仍然有限。如果你让 AI 一次性生成整个天宫它会在中途搞混集合、重复创建物体、甚至把坐标算错。把场景拆成 6 个模块每个模块单独脚本、单独验证最后在 Blender 里合并这种方式可靠得多。7.2 日志和版本管理从一开始做后台模式跑 Blender 脚本日志很重要。我一般每个模块脚本都配一个同名 .log 文件把 stdout 和 stderr 都重定向进去。出问题时直接看日志不用重新跑一遍。脚本文件本身也要做版本管理用 git 或者其他版本管理工具都行。AI 每次生成的版本不一定更好有时候上一版反而更稳定。留一个回滚入口能省去很多重复生成的时间。7.3 学会用“审美修正”收尾AI 建模能做到“形似”但很难做到“神似”。天宫的飞檐翘角、云海的层次、霞光的颜色AI 生成的脚本不可能一次到位。这类内容建议分两步第一步让 Codex 快速搭出结构生成一个能被手动编辑的 .blend 文件。 第二步打开 Blender用快捷键手动微调重要物体的位置、旋转和材质。AI 负责效率你负责审美。这个搭配才是这套工具组合的正确打开方式。最后说一句实在话Deepseek Codex 控制 Blender 这套流程真正卡进度的从来不是“AI 会不会写代码”而是你有没有把环境、skill、模块拆解和日志规范提前做好。把这些基本功补齐别说天宫仙境后续任何复杂场景都可以用同一套流水线往下推。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门