dsh-blender-mc:Minecraft 存档转 Blender 封面与动画

前言

DeepSeek Harness(DSH)的核心理念是「一切皆插件」。当开发者需要在 Blender 中处理大量 3D 内容时,一个能自动化场景搭建、渲染与质量检查的插件会显著提升效率。dsh-blender-mc 正是这样一款工具:它基于 DSH 插件架构,将 Minecraft Java 版存档自动转换为 Blender 封面和动画,并引入 OpenCV 审图闭环,自动修正渲染问题。

是什么

dsh-blender-mc 是一个 DSH 插件(也可作为独立命令行工具使用),由维护者 TreeCodeTyper 开发,分类为工作流,目前星标 0。它接收 Minecraft Java 版存档目录,自动完成以下任务:

  • 扫描 .mca 区域文件,寻找开阔的平地作为机位候选
  • 导出机位附近的几何体(OBJ 格式),材质名与 MC 贴图名对应
  • 在 Blender 中搭建场景:导入世界、应用 MCprep 材质、添加角色集合与手持物品、配置物理天空与三点布光
  • 渲染封面或动画
  • 用 OpenCV 审图,检查朝向、接地、曝光、布光与构图,不达标时自动调整参数并重渲
  • 输出图片序列或动画(通过 ffmpeg 转 MP4/GIF)

你无需掌握 Blender 操作、Mineways 导出或手动摆布相机、灯光与材质。

核心功能

  • 自动机位扫描:读取 .mca 文件,按列最高方块找成片同高度平地,排除视线遮挡,按开阔度排序推荐机位
  • 几何导出:将存档区域导出为 OBJ,材质名与 MC 贴图名一致,供 MCprep 识别
  • 场景搭建:在 Blender 中导入世界、应用 MCprep 材质(含生物群系染色)、追加角色集合与手持物品、配置物理天空与三点布光
  • 自动审图闭环:每张图渲染后使用 OpenCV 检查朝向(头部皮肤色占比)、接地(脚底与地面色差)、曝光(死白/死黑像素比与动态范围)、布光(角色周围地面灰阶方差)、构图(主体高度与位置),不达标时自动调整参数并重渲
  • 动画生成:基于角色骨骼生成挥剑、旋转光环与斩击弧光等动画
  • 自带模型支持:可将资源包中的 Bedrock 几何提取为 OBJ,通过环境变量或描述文件摆入场景(插件不附带任何模型或贴图)

安装与启用

依赖

  • Python 3.10+
  • Node.js >= 20
  • Blender 4.2 LTS 或 5.2 LTS
  • Python 依赖:opencv-python、numpy
  • 可选:MCprep、BPS Rig、物品库、ffmpeg(缺了会提示,部分功能降级)

安装步骤

  1. 安装 Python 依赖:
pip install opencv-python numpy
  1. 安装插件:
  • 方式 A(推荐):在 DSH 中打开设置 → 插件市场,搜索 dsh-blender-mc 并安装,然后开新会话
  • 方式 B(源码):
git clone https://github.com/TreeCodeTyper/dsh-blender-mc.git
cd dsh-blender-mc
python py/cli.py doctor
  1. 装配外部资产:

第三方资产(MCprep、角色骨架、物品库)不随插件分发,需从本地已有资源目录装配:

python py/cli.py setup --dry-run    # 先预览会搬运什么,不动文件
python py/cli.py setup              # 实际装配

装配器会自动选择 BPS Rig V4.0.9(避免 4.0.10 BETA1 头部网格闪烁)、将 MCprep 解压到 Blender 的 addons 目录,跳过不用的工具(如 Mineways、MCSkin3D),仅记录 ffmpeg 路径。

典型用法

检查运行条件

python py/cli.py doctor

扫描存档找机位

python py/cli.py scan <存档目录> --area x0,x1,z0,z1

--area 指定搜索矩形范围(x0,x1,z0,z1),不指定则自动搜索。

出封面(含审图闭环)

python py/cli.py shoot <存档目录> --area x0,x1,z0,z1 --out <输出目录>

默认参数:--yaw 25(3/4 侧脸朝向)、--dist 11.2、--sky 0.03、--sink 0.06、--attempts 3、--target 85。不达标时自动调整并重渲。

出动画

python py/cli.py anim <封面工程.blend> --out <输出目录> [--preview 1,60,120]

默认生成 10 秒动画(挥剑两刀 + 旋转光环 + 斩击弧光)。--preview 可指定只渲染前几帧预览动作。

审图(不跑 Blender)

python py/cli.py check <图片路径...> [--json]

提取自带模型

python py/cli.py extract <资源目录> --out <输出目录> [--list] [--filter 关键词]

在 DSH 中使用自然语言

装好插件后开新会话,直接用自然语言描述需求,例如:

用 E:\存档\我的世界 出一张封面,背景要开阔点的

先 doctor 看看环境齐不齐

把出好的封面做成 10 秒动画

DSH 会自动调用对应的工具(mc_doctor、mc_scan、mc_shoot、mc_anim、mc_check 等)。

适用场景与注意

  • 适合需要批量生成 Minecraft 风格封面、宣传图或动画的场景
  • 适合希望减少 Blender 手工操作的开发者与创作者
  • 插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)
  • 基岩版不支持(本项目只读 Anvil 格式)
  • 插件不附带任何模型或贴图,自带模型功能需要用户自行提供资源包
  • 外部资产(MCprep、BPS Rig 等)需从本地装配,避免分发版权素材

总结

dsh-blender-mc 将 Minecraft Java 存档转换为 Blender 封面与动画的全流程自动化,并引入 OpenCV 审图闭环,自动修正渲染问题,显著降低手工调试成本。它既可作为 DSH 插件使用,也支持直接通过命令行调用,适合需要批量生成 3D 内容的工作流。

  • 插件目录页:https://www.skillhub.cn/plugins/TreeCodeTyper/dsh-blender-mc
  • GitHub:https://github.com/TreeCodeTyper/dsh-blender-mc
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye