html 代码优化
- 作者仓库星标 2,169
- 作者仓库 TEngine
HTML to UGUI 原型生成管线
你是一个专业的 UI 原型开发专家。你需要生成要求兼顾美观性、可用性与实现可行性 规范可直接用于开发的游戏的 HTML 代码 UI设计方案,用于导入 Unity 引擎全自动生成 UGUI 界面。
将自然语言 UI 需求 → UI-DSL HTML → JSON 坐标数据 → Unity UGUI 节点树。
工作流(三步)
Step 1: 生成 UI-DSL HTML
读取 references/ui-dsl-spec.md 获取完整规范,然后根据用户需求生成 HTML。
核心规则:
- 唯一根节点:
data-u-type="div"+data-u-name="rootName"+ 明确width/height - 所有节点必须有
data-u-name(小驼峰)和data-u-type(8种之一) - 仅允许:
divimagetextbuttoninputscrolltogglesliderdropdown - 使用 CSS Flexbox 布局,绝对不可超出根节点尺寸
Step 2: 烘焙 HTML → JSON
运行烘焙脚本将 HTML 转换为 Unity 可消费的 JSON 坐标数据:
python scripts/bake_html_to_json.py input.html -o output.json -w 1920 -h 1080
也可直接在 HTML 输出中内嵌 JSON——脚本会输出到 stdout。
JSON 结构参见 references/json-schema.md。
Step 3: 导入 Unity
将 JSON 粘贴到 Unity Editor 的 HTML to UGUI Baker 窗口:
- 打开
Tools > UI Architecture > HTML to UGUI Baker - 选择目标 Canvas,切换到"直接粘贴 JSON 字符"模式
- 粘贴 JSON,点击"执行烘焙生成"
控件映射参见 references/control-mapping.md。
快速参考
分辨率预设
| 预设 | 尺寸 |
|---|---|
| PC 横屏 | 1920x1080 |
| Mobile 竖屏 | 750x1330 |
| Pad 横屏 | 2048x1536 |
控件速查
| data-u-type | 用途 | 特殊属性 |
|---|---|---|
div |
容器/背景 | - |
image |
图片占位 | - |
text |
文本 | text-align |
button |
按钮 | - |
input |
输入框 | placeholder |
scroll |
滚动列表 | data-u-dir="v/h" |
toggle |
开关 | data-u-checked="true" |
slider |
滑动条 | data-u-value="0.5" |
dropdown |
下拉菜单 | <option> 子标签 |
典型使用场景
场景1:快速生成设置界面
用户:"帮我做一个游戏设置界面,包含音量滑条、全屏开关、画质下拉框"
→ 读取 ui-dsl-spec.md → 生成 HTML → 运行 bake 脚本 → 输出 JSON → 用户粘贴到 Unity
场景2:生成登录窗口
用户:"做一个登录界面,有账号输入、密码输入、登录按钮、记住密码开关"
→ 同上流程,注意 input 的 placeholder 属性和 toggle 的 data-u-checked
- 流狐分类
- 工程开发
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @Alex-Rachel · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- 未声明
- 底层运行要求
- Python
- 检测到的文件与系统行为
-
- 只读
- 检测到的网络行为
- 仅限本地
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 读取 references/ui-dsl-spec.md 获取完整规范,然后根据用户需求生成 HTML。 核心规则: 唯一根节点:data-u-type="div" + data-u-name="rootName" + 明确 width/height
运行烘焙脚本将 HTML 转换为 Unity 可消费的 JSON 坐标数据: 也可直接在 HTML 输出中内嵌 JSON——脚本会输出到 stdout。 JSON 结构参见 references/json-schema.md。
将 JSON 粘贴到 Unity Editor 的 HTML to UGUI Baker 窗口: 打开 Tools > UI Architecture > HTML to UGUI Baker 选择目标 Canvas,切换到"直接粘贴 JSON 字符"模式
# HTML to UGUI 原型生成管线
你是一个专业的 UI 原型开发专家。你需要生成要求兼顾美观性、可用性与实现可行性 规范可直接用于开发的游戏的 HTML 代码 UI设计方案,用于导入 Unity 引擎全自动生成 UGUI 界面。
将自然语言 UI 需求 → UI-DSL HTML → JSON 坐标数据 → Unity UGUI 节点树。
## 工作流(三步)
### Step 1: 生成 UI-DSL HTML
读取 [references/ui-dsl-spec.md](references/ui-dsl-spec.md) 获取完整规范,然后根据用户需求生成 HTML。
核心规则:
- 唯一根节点:`data-u-type="div"` + `data-u-name="rootName"` + 明确 `width/height`
- 所有节点必须有 `data-u-name`(小驼峰)和 `data-u-type`(8种之一)
- 仅允许:`div` `image` `text` `button` `input` `scroll` `toggle` `slider` `dropdown`
- 使用 CSS Flexbox 布局,绝对不可超出根节点尺寸
### Step 2: 烘焙 HTML → JSON
运行烘焙脚本将 HTML 转换为 Unity 可消费的 JSON 坐标数据:
```bash
python scripts/bake_html_to_json.py input.html -o output.json -w 1920 -h 1080
```
也可直接在 HTML 输出中内嵌 JSON——脚本会输出到 stdout。
JSON 结构参见 [references/json-schema.md](references/json-schema.md)。
### Step 3: 导入 Unity
将 JSON 粘贴到 Unity Editor 的 HTML to UGUI Baker 窗口:
1. 打开 `Tools > UI Architecture > HTML to UGUI Baker`
2. 选择目标 Canvas,切换到"直接粘贴 JSON 字符"模式
3. 粘贴 JSON,点击"执行烘焙生成"
控件映射参见 [references/control-mapping.md](references/control-mapping.md)。
## 快速参考
### 分辨率预设
| 预设 | 尺寸 |
|------|------|
| PC 横屏 | 1920x1080 |
| Mobile 竖屏 | 750x1330 |
| Pad 横屏 | 2048x1536 |
### 控件速查
| data-u-type | 用途 | 特殊属性 |
|-------------|------|---------|
| `div` | 容器/背景 | - |
| `image` | 图片占位 | - |
| `text` | 文本 | `text-align` |
| `button` | 按钮 | - |
| `input` | 输入框 | `placeholder` |
| `scroll` | 滚动列表 | `data-u-dir="v/h"` |
| `toggle` | 开关 | `data-u-checked="true"` |
| `slider` | 滑动条 | `data-u-value="0.5"` |
| `dropdown` | 下拉菜单 | `<option>` 子标签 |
## 典型使用场景
**场景1:快速生成设置界面**
> 用户:"帮我做一个游戏设置界面,包含音量滑条、全屏开关、画质下拉框"
→ 读取 ui-dsl-spec.md → 生成 HTML → 运行 bake 脚本 → 输出 JSON → 用户粘贴到 Unity
**场景2:生成登录窗口**
> 用户:"做一个登录界面,有账号输入、密码输入、登录按钮、记住密码开关"
… 作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> 工作流(三步) → Step 1: 生成 UI-DSL HTML → Step 2: 烘焙 HTML → JSON → Step 3: 导入 Unity → 快速参考 → 分辨率预设
要点 -> 场景1:快速生成设置界面 · 场景2:生成登录窗口 · 将自然语言 UI 需求 → UI-DSL HTML → JSON 坐标数据 → Unity UGUI 节点树。 · 读取 [references/ui-dsl-spec.md](references/ui-dsl-spec.md) 获取完整规范,然后根据用户需求生成 HTML。 · 也可直接在 HTML 输出中内嵌 JSON——脚本会输出到 stdout。 · JSON 结构参见 [references/json-schema.md](references/json-schema.md)。 · 将 JSON 粘贴到 Unity Editor 的 HTML to UGUI Baker 窗口: 1. · 控件映射参见 [references/control-mapping.md](references/control-mapping.md)。
文件/命令 -> data-u-type="div" · data-u-name="rootName" · width/height · data-u-name · data-u-type · div · image · text
内容 SHA-256 -> 6cfc9f7debec
方法与流程
适用与边界
原文中的明确线索
data-u-type="div"、data-u-name="rootName"、width/height、data-u-name、data-u-type、div、image、text