面向千星奇域创作的非官方工具箱,提供图片、线稿、模型 JSON 到 GIA 的转换,以及 GIL 结构体提取、元件构建和静态转换。通过本地 Streamlit 网页操作。
| 功能 | 简要介绍 |
|---|---|
| 图片生成 GIA | 将图片转换为彩色白模元件;支持像素预算、重采样、调色板量化、透明度过滤、边缘连通背景移除和相近颜色矩形合并。可调整尺寸、厚度、基础体、碰撞及装饰物包装,并下载 GIA、预览和算法结果。 |
| 线稿转 GIA | 从图片边缘或指定颜色提取线稿,支持清理、局部删除、保护分支、宽线骨架、曲线简化与拟合;提供分步预览、基元预算和实验性矩形带拉升,可添加白色叠底并导出普通实体或装饰物包装 GIA。 |
| 导出元件 | 从 GIL / GIA 提取结构体 JSON;将 components JSON 写入输入地图并构建 GIL,支持上传或直接输入 JSON、内置或自定义模板。 |
| 自动元件转静态 | 上传 GIL,按可选 GIA 或算法筛选并预览候选列表;可将指定元件移入不转换列表或恢复,确认后仅转换保留条目,再下载 GIL。 |
| GPT2Gia | 将 Y-UP 模型 JSON 转为 GIA,支持材质配色、整体旋转、基础体选择、碰撞与攀爬、超范围运行与显示,以及三种装饰物父实体模式。缩小空模型支持独立父级配置 JSON,按名称分组、指定动画锚点;未配置的元件统一进入默认父级,超限拆分共享变换。可下载 GIA、转换摘要和归一化 JSON。 |
GPT2Gia 只转换已有 JSON,不调用 AI 服务;共面重叠优化目前在页面中禁用。
Windows:使用项目自带运行时
项目需已有 runtime/cpython-3.11.*-windows-x86_64-none/python.exe:
- 首次使用或更新依赖时,双击
update.bat。 - 双击
Star.bat启动网页。 - 按终端显示的地址打开浏览器,阅读并同意使用须知,再从左侧选择功能。
update.bat 只安装 / 更新依赖,不下载 Python 运行时,也不更新项目代码。如果没有自带运行时,使用下面的方式。
使用已安装的 Python 3.11(PowerShell)
在项目根目录执行:
py -3.11 -m venv .venv
.\.venv\Scripts\python.exe -m pip install -r requirements.txt
.\.venv\Scripts\python.exe -m streamlit run .\streamlit_app.py默认本地同步计算,无需另行启动 Redis / RQ Worker。
- 选择 图片生成 GIA,上传 PNG、JPG、JPEG、WebP 或 BMP 图片。
- 设置像素预算,查看预览;需要减少元件数时开启调色板量化或矩形合并,需要去背景时启用背景移除。
- 设置生成尺寸、厚度、基础体和碰撞,按需启用装饰物包装。
- 点击 生成 GIA,下载生成文件。
- 选择 线稿转 GIA,上传图片。
- 按页签依次调整 图片缩放 → 线稿识别与清理 → 宽线中心骨架 → 曲线拟合,生成并检查各阶段预览。
- 设置目标尺寸、线边厚度和基元预算;需要时使用保护分支、局部删除或 矩形带拉升(实验)。
- 在 导出 GIA 中选择导出来源,设置叠底、碰撞与装饰物包装,点击 生成线稿 GIA 并下载。
- 提取结构体:选择 导出元件 → 导出结构体 JSON,上传
.gil或.gia,点击 导出结构体,下载structs.json。 - 构建地图:切换到 components JSON 构建 GIL,下载页面提供的 JSON 示例,填写后上传或直接输入;上传地图
.gil,按需提供模板,点击 生成 GIL 并下载结果。
- 选择 自动元件转静态,上传地图
.gil。 - 如需按元件列表匹配,再上传
.gia;否则使用默认算法筛选。 - 点击 预览转换结果,检查待转换、不转换及未匹配信息,此时不会修改 GIL。
- 选择不需要转换的元件,点击 移入不转换列表;选错时可在 恢复移除的元件 中恢复。
- 确认列表后点击 确认转换并生成 GIL,下载修改后的 GIL。更换上传文件或调整列表后需重新确认,避免下载旧结果。
- 选择 GPT2Gia,下载模型 JSON 示例,或选择 直接粘贴 使用页面示例。
- 使用GPT2Gia.SKILL, 给与agent生成模型JSON。
- 上传或粘贴模型 JSON,使用 Y-UP(Y 轴向上) 坐标,按需上传
materials.json覆盖配色。 - 选择普通实体或装饰物包装,设置默认基础体及转换参数;包装模式可选择缩小空模型、空模型包围盒或随机组内父实体。
- 需要门轴等动画原点时,选择缩小空模型,在 父级配置 JSON(可选) 上传或粘贴配置,如
{"左门":{"children":["门板","把手"],"anchor":[0,0.5,0.5]}}。父级旋转固定为零,三轴缩放统一使用“父实体缩放”;未配置的元件进入默认父级,不提供配置时沿用原打包逻辑。 - 点击 生成 GIA,下载 GIA 和转换结果。
感谢 teyvat-printer 提供参考。