universe-st/dsh-game-material-master

dsh-game-material-master

基于 Seedream 生图与 MiniMax 图生视频,从参考图生成游戏素材,本地绿幕抠像后合成八方向精灵图、序列帧与骨骼动画。

Uncategorizedchroma-keycordisdeepseek-harness

English | 中文

游戏素材大师

从一张角色设定图出发,批量做出游戏里真正要用的素材。

火山方舟 Seedream 负责生图,MiniMax(或本机 ComfyUI)负责图生视频,抠像、抽帧、 像素量化、合图全部在本机用 ffmpeg 完成——不需要任何系统图像库,素材也不会被传到第三方服务。

🆕 0.10.0 更新:对话工具面收成一个 `game_material`(action 选 `guide / intake / call / status /
wait / review / approve / reviewMode / upload`),常驻上下文从 49 KB 降到约 4 KB,流程与方法表改成按需读手册;
模块⑤换成全本地的 45° 地图编辑器(2:1 等距、4×4 自动连接、多格 / 高处物件、动画地块、标记层、环绕、
一键生成;还能「AI 生成素材」:自动开对话生成,整理好回链到「新增素材」确认导入);
新增可选 ToAPIs 异步图片 / 视频后端(感谢 PR #7,
来自 @ToAPIs-2025)。
0.9.x 的 音效生成(Seed-Audio)与网络重试修复继续保留。
0.10.1 修复:45° 地图编辑器「一键生成 → 大陆」不再崩溃(高度场中点插值写到了不存在的格子上)。
0.10.2 更新:ToAPIs 生图可选原生透明背景(GPT Image,下载原图不再二次抠像),图生视频可选
画幅比例(方形角色用 1:1);透明首帧会先铺白再交给视频模型。感谢
PR #8(@YamiAnn)
与真机验收记录。
完整变更见 AGENTS.md 发布记录。
30 秒上手:dsh plugin --profile web add dsh-game-material-master → 重启 DSH →
侧栏点「游戏素材大师」→ 设置里填好要用的 API Key(生图 / 视频;音效另填语音 Key)→ 新建项目、上传设定图 → 点「生成转圈视频」
(默认路径:角色原地匀速转一圈,再自动截出八个方向;要逐方向生图就在阶段①切一下方式)。
侧栏那个入口上还有一个小折角菜单按钮:点它直接弹出八个功能,一步跳进要用的那个;
不用的功能可以在设置里关掉(见「功能管理」)。

八个模块共用同一套「生成 → 验收 → 重跑」工作台。每个阶段都能单独重做,每份产物都能 逐项打「通过」;「审核模式」可以选 agent 自动审完就往下走,也可以选每一步停下来等你点头。

模块 · 做什么 · 走完能拿到 ① 八方向图生成 · 一张设定图 → 8 方位 × 8 帧(默认「转圈截帧」:一段转圈视频截出八个方向;两处视频都能自己选本地文件顶替生成) · 可用 WASD 操控预览的行走精灵图(中间每一张图都能单独存或整包 zip) ② 图片生成 · 提示词(可带参考图)→ 出图 → 抠绿幕 · 干净透明的 PNG 立绘 / 道具 ③ 序列帧生成 · 首尾帧或参考视频 → 生成视频 → 抽帧 → 抠像 · 横向排布、可循环播放的序列帧 ⑤ 45°地图编辑器(全本地零计费) · 导入自己的 45° 菱形素材(或用内置素材)→ 2:1 等距画布上画地面 / 自动连接 / 多格物件 / 标记 → 导出。素材属性在导入时一次定死(物件大小可在「新增素材」里按地格实时预览并自己调),之后只能改名字 / 播放速度 / 循环方式;内置草地、泥土、石地、水面、水岸自动连接与树 / 石 / 灌木 / 木桶 / 石屋 · PNG + 存档 JSON(等距网格、自动连接、动画地块、多格物件、标记点、通行性);勾几项导几项,多个产物自动打成 ZIP ⑥ 俯视地图编辑器(全本地零计费) · 选一张素材图 → 直接画(参照 AsLib 的 RPG Map Maker 重做:一屏、纯图标、零术语;默认「地理层 / 装饰层 / 建筑层」三层且可改名换序;标记层:每格放一个可命名的标记,画成圆圈里的数字;素材窗口里还有 AI 生成素材:填提示词 / 名字 / 帧数 / 方式 / 用法,插件会自动开一个新对话去生成 —— 用哪种素材(普通 / 整格 / 拼块)由它按提示词自动判断,只让模型画一块无缝的砖,16 种接法 / 5 种形状与断口收口都由插件用代码拼出来(这样拼到地图上才不会有缝)。会动的素材走「拼块」(帧数 = 变体,会自动连接)或「普通」(翻页图),每张素材还能在「新增素材」里单独设自己的播放速度(不设就跟设置里的全局速度走)、清晰度(2K 大图缩到 32px 格子时用面积平均 / 最近邻 / 平均+锐化,细节差很多)、循环方式(正放 / 倒放 / 来回);另有整图(一张画一次占 N×M 格:雕像 / 壁画 / 地毯,右键转 90°、绿幕自动抠成透明、导入时逐格点通行区域);新建项目还能选一格多大(16 / 32 / 48 / 64,想让 AI 素材更清楚就用 48 / 64),模型在四周留的白框会被自动裁掉;整格只有 16 种接法、没有动画,界面里会把帧数与视频模型锁住,回来点链接这张图与用法就填在「新增素材」里) · PNG + 存档 JSON(地图四周环绕、自动连接、动画地块、标记点);勾几项就导几项,多个产物自动打成一个 ZIP 下载 ⑦ 音乐生成编辑(谱乐 AI) · 灵感提示词或完整歌词 → 自动开一个不挂靠项目的新对话;对话里的 agent 读内置创作指南、扩写提示词、选 Suno / Mureka / MiniMax / ACE-Step 与模式并生成 → 回界面裁剪 / 调音量 / 淡入淡出 / 标准化 → 保存版本与导出。另有谱曲模式:先分析想法、给出曲风/调性/段落/配器方案,再用 scoremill 写 MIDI、本地渲染试听、逐版修改,满意后可选交给 Suno 生成正式版 · MP3 / WAV / M4A(多产物可打 zip);谱曲模式另有 MIDI / 试听 / 方案 / compose.py 的乐谱包。原曲保留,编辑与谱曲结果都是新版本 ⑧ 音效生成(火山引擎 Seed-Audio) · 一句话描述声源 / 环境 / 强度 / 时长 → 生成音效、环境音、UI 声、生物吼叫或角色配音;可带 1 张参考图或最多 3 条参考音频(两者互斥);每次生成新增一条 take,旧 take 不覆盖 · WAV / MP3 / Ogg Opus;可单条导出或全部打 zip。单次最长 120 秒;每次生成真实计费 ~~④ 骨骼动画生成~~ · 拆件 → 装配 → 骨骼动画 → Spine / DragonBones 图集 · 实验性功能,本文不展示

💡 模块⑤「45°地图编辑器」的几何由代码保证,内容由你导入。
2:1 等距的步进、菱形位置、物件底面中心、遮挡顺序全部由宿主算好;
界面只执行绘制计划,所以预览与导出不会错位。自动连接是严格的 4×4 = 16 块
(N/E/S/W 位序),物件可以高出一格(树冠 / 屋顶),地面与标记四周环绕。
一次模型调用都没有,也就不花钱。
💡 模块⑥「俯视地图编辑器」借鉴了 AsPJT/AsLib 的 RPG Map Maker,按它重做为一屏、纯图标、零术语。
左边是素材调色板与 12 个图标按钮,右边就是画布。「素材」点开是一张素材列表 + 一个「新增素材」:
新增时弹窗口填素材图 / 名字 / 格子大小 / 用法 / 会动吗(鼠标移上去都有解释),一步填完
属性就定下来了,之后只能删掉重来;尺寸不用你算,留空就按图片尺寸自动识别。
内置素材默认就在列表里(自带 4 张自动连接图 + 1 张道具,水自带 2 帧动画),
同样可以删,删错了点「恢复默认素材」一键拿回来 —— 它的属性不允许改。
自己的图该怎么排?窗口右上角那颗「素材说明」点开是三页图文:普通图块 / 整格自动连接 /
拼块自动连接各一页,图上的网格会循环隐藏、显现,几列几行、第几块是哪一种接法一眼就能看出来。
想让自己的普通素材也动,新增时选「翻页图」—— 像手翻书,每一行是一页;
拼块自动连接素材不用设,它的变体本来就是帧,列表上直接标出「会动 N 帧」。
地图大小、格子大小都能随便填(宽高各填各的);
四周环绕在数据层:自动连接会把上下、左右两边接起来。画布拖不出地图 —— 拖到边就停,
地图左上角对齐后不会再乱动,图外那片空白也画不上;
还能一键生成随机地形 / 迷宫 / 大陆。
一次模型调用都没有,也就不花钱。
🏷️ 八个模块的新建都先问一个名字:输入框里已经填好默认名(直接回车就用默认值),点取消则不会创建;
地图项目还能随时「重命名」。
⚠️ 模块④「骨骼动画生成」仍是实验性功能,尚未完善:拆件质量取决于生图模型,自动装配与骨骼推导
对真实立绘经常需要人工校正(agent 视觉先验或手工拖放),导出的 Spine / DragonBones 产物也还没经过
足够的引擎侧验证。界面上该模块带「实验性」角标,并在每次进入时弹窗说明。本文只展示前三个模块。
如果你需要它、或者想一起把它做扎实,欢迎到
GitHub 仓库 参与开发,
或加入 QQ 群 `1126382236`(见文末「交流与反馈」)。

① 八方向图生成

一张正面设定图进去,八个方位一次做完:绿幕图 → 行走视频 → 序列帧 → 精灵整图 → 可操控预览。

flowchart LR
  S(["设定图"]) --> I["① 八方向绿幕图"] --> V["② 行走视频"] --> F["③ 提取序列帧"] --> P["④ 合成整图"] --> W(["⑤ WASD 预览"])

① 的两种生成方式:转圈截帧(默认)/ 逐方向生图

八张方向图有两条产法,产物完全一样(images/.png),所以后面四步不用换做法:

· 转圈截帧(默认) · 逐方向生图(备选) 做法 · 先生成一段「角色原地匀速转一整圈」的绿幕视频,再按时间轴截出八个方向的帧 · 八个方位各自生图,按依赖顺序 花费 · 一次视频调用 · 八次生图调用 一致性 · 八个方向同源:同一个角色、同一段光线、同一套画风 · 模型每次都要重新理解角色,脸型/发色/服装容易漂移 调位置 · 时间轴上有八个可拖动的圆圈,拖到哪一帧就切哪一帧(本机重切,免费、即时) · 逐张重新生成

界面上那一排圆圈就是八个方位的截帧位置,底下的缩略条带是整圈候选帧——对着画面拖, 松手就重切那一张(并自动作废这个方位的行走视频与序列帧,避免新旧朝向混在一起)。 默认位置是「从正面开始、匀速转满一圈」的等分假设;模型实际转的方向或快慢不一样时, 直接拖圆圈,或点一下「转圈方向」重排。改变候选帧数(8~512)会自动重抽,并把拖过的位置按比例换算。

也可以直接用自己电脑上的视频(阶段①、②都能)

两处「要生成视频」的地方都不只有「调模型生成」一条路:手上已经有一段合适的视频时, 点选择本地视频把它选进来即可,产物和生成出来的完全一样,后面几步照旧走。

  • 阶段①·转圈视频:选进来的是「角色原地匀速转一圈」的绿幕视频,导入后插件会立刻

自动抽候选帧并切出八个方向,接着拖圆圈调位置就行。

  • 阶段②·某个方位的行走视频:每一格都能单独选自己的一段(固定机位、原地走),

之后照旧在第 3 步「提取全部序列帧」。

  • 支持 MP4 / MOV / M4V / WebM / MKV / AVI(按文件头认,不看扩展名),单个 ≤100MB;

这一段只在本机用 ffmpeg 处理,不会上传到任何模型。

  • 换掉某一段视频时,它下游已经抽出来的帧与整图会自动作废,避免拿上一段视频的帧去合成。

中间图片都能存下来

一路生成下来的每一张图都能保存:八方向绿幕图、转圈候选帧与整圈条带、每段视频抽出来的 绿幕帧与手动选帧候选、抠完绿幕的帧、合成整图。界面里看得见的产物每张都有「保存」链接; 候选帧一抽就是 32~64 张,所以底部另有一个 保存全部图片(zip)——打成一个包,里面按项目 目录的结构摆好(images/…、turn/…、frames/…、keyed/…、out/sheet.png)。 生成出来的成片(转圈视频、八段行走视频)同样各自有一个「保存视频」链接。

怎么用

  1. 新建项目 → 上传设定图,写提示词(转圈截帧用的是一份转圈视频提示词;逐方向生图是每个方位一份,

另有「统一附加提示词」八个方向共用)。

  1. 生成转圈视频(默认路径):角色原地匀速转一整圈,绿幕背景。视频到手后插件会自动抽候选帧

并切出八个方向,一般不需要你动手。逐方向生图(备选)则是一键生成全部:八个方位按依赖顺序 出绿幕全身图。逐张能看到用时、落到哪个模型;不满意就重新生成这一张,或展开编辑提示词只改它。

  1. 生成全部视频:让角色在原方位原地走三步。这一步最贵、也最慢(单段 1~6 分钟)。
  2. 提取全部序列帧:每段视频按时长平均抽帧,这里同时完成统一裁剪、缩放与像素风量化。
  3. 合成整图:剔除绿幕,按行序拼成一张精灵图;行序可用 ↑↓ 拖动调整,合成前可存参数。
  4. 行走预览:用 WASD 或方向键操控角色,八方向接得顺不顺,一眼就能看出来。

① 八方向绿幕图

转圈截帧(默认):一段「原地匀速转一整圈」的绿幕视频,按时间轴截出八个方向; 轴上八个圆圈就是各自的截帧位置,拖着改,松手即时重切(本机、免费)。

逐方向生图(备选):八个方位各自生图,单张更清晰,适合只要几个方向或追求单张质量时。

② 行走动作视频