Initial commit: AIGame Unity client with URP, HybridCLR, YooAsset and tooling.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-09-21 14:21:07 +08:00
co-authored by Cursor
commit f3f66ab063
931 changed files with 112366 additions and 0 deletions
+13
View File
@@ -0,0 +1,13 @@
# 资源说明索引
所有生成资源须按类型登记到对应文件。每条包含:路径、简要说明(用途、生成方式等)。未登记视为流程未完成。
| 类型 | 登记文件 | 典型内容 |
| --- | --- | --- |
| model | [ResDesc_Model.md](./ResDesc_Model.md) | 3D 模型(GLB/FBX 等)及配套贴图 |
| animation | [ResDesc_Animation.md](./ResDesc_Animation.md) | 动画剪辑、Animator、动作库 |
| picture | [ResDesc_Picture.md](./ResDesc_Picture.md) | 贴图、UI 图集、概念图、参考图 |
| sound | [ResDesc_Sound.md](./ResDesc_Sound.md) | 音效、BGM、语音 |
| effect | [ResDesc_Effect.md](./ResDesc_Effect.md) | 粒子、特效预制体、VFX |
新增资源类型时:在本表增加一行,并新建对应 `Doc/ResDesc_<Type>.md`。
+6
View File
@@ -0,0 +1,6 @@
# 资源说明 · Animation
动画与动作资源。每条包含:路径、简要说明。
| 资源路径 | 简要说明 |
| --- | --- |
+6
View File
@@ -0,0 +1,6 @@
# 资源说明 · Effect
特效资源(粒子、VFX、特效预制体等)。每条包含:路径、简要说明。
| 资源路径 | 简要说明 |
| --- | --- |
+6
View File
@@ -0,0 +1,6 @@
# 资源说明 · Model
3D 模型及相关烘焙贴图。每条包含:路径、简要说明。
| 资源路径 | 简要说明 |
| --- | --- |
+11
View File
@@ -0,0 +1,11 @@
# 资源说明 · Picture
图片类资源(贴图、UI 图集、概念图、参考图等)。每条包含:路径、简要说明。
| 资源路径 | 简要说明 |
| --- | --- |
| `Tools/output/ui_simple_atlas_gpt.png` | UI Simple Set 图集;gpt-image-2.5 + 参考 `Doc/ui_design.jpg`;约 1254×1254;对应 `Doc/UI_Simple_Set.md` |
| `Tools/output/ui_normal_atlas_gpt.png` | UI Normal Set 图集;gpt-image-2-vip、2048×2048、透明底 + 参考图;对应 `Doc/UI_Normal_Set.md` |
| `Tools/output/male_explorer_test.png` | 男性探险者角色试做;项目文生图脚本 |
| `Tools/output/male_explorer_cursor.png` | 男性探险者对照;Cursor GenerateImage |
| `Doc/ui_design.jpg` | UI 视觉基准图;糖果休闲风控件参考 |
+6
View File
@@ -0,0 +1,6 @@
# 资源说明 · Sound
音频资源(音效、BGM、语音等)。每条包含:路径、简要说明。
| 资源路径 | 简要说明 |
| --- | --- |
+140
View File
@@ -0,0 +1,140 @@
# Unity UI 常规图集(Normal Set)
## 1. 目标
在 `UI_Simple_Set.md` 最小集之上,补充**次常用**控件,覆盖设置页、带页签面板、Toast、开关、小按钮等常见界面,又不展开到 `UI_Pic_Set.md` 的完整常用集。
风格参考:`Doc\Design\ui_design.jpg`
三级图集定位:
| 文档 | 定位 | 切片数 |
| --- | --- | ---: |
| `UI_Simple_Set.md` | 登录 / 大厅 / 弹窗最小可用 | 24 |
| **`UI_Normal_Set.md`(本文)** | Simple + 次常用(页签、Toggle、小按钮、Toast 等) | 38 |
| `UI_Pic_Set.md` | 更完整常用集(含横向滚动条、扫码、清空图标等) | ~48 |
- 切片紧凑排布在图集上方,**不要求填满**;空白保持透明。
- 图集尺寸仍为 `2048x2048`,便于后续追加。
## 2. 坐标规则
- 图集尺寸:`2048x2048`。
- `X`、`Y(左上)` 以图片左上角为原点。
- `Unity Y(左下)` = `2048 - Y(左上) - H`。
- 切片间距至少 `8px`。
- `9-slice` 需设置 `Border`:`Left, Right, Top, Bottom`。
- `simple` 不设置九宫格。
## 3. 区域说明
| 行 | 大约 Y | 内容 |
| --- | ---: | --- |
| 1 | `8` | 面板、标题栏、遮罩、分割线 |
| 2 | `280` | 主/次/小按钮、关闭、返回、竖向滚动条 |
| 3 | `400` | 输入、列表、页签 |
| 4 | `504` | 进度、滑动、Toast |
| 5 | `616` | Toggle、Checkbox、常用图标 |
| 其余 | `720+` | 留白;不够用时升级到 `UI_Pic_Set.md` |
## 4. 相对 Simple 新增(次常用)
| 类别 | 新增切片 |
| --- | --- |
| 面板 | `ui_panel_header`、`ui_divider_h` |
| 按钮 | `btn_secondary_pressed`、`btn_small_normal`、`btn_small_pressed`、`btn_back` |
| 页签 | `tab_active`、`tab_inactive` |
| 反馈 | `toast_bg` |
| 开关 | `toggle_bg_off`、`toggle_bg_on`、`toggle_knob` |
| 图标 | `ico_search`、`ico_check` |
相对 Pic Set 仍省略:横向滚动条、`input_caret`、`ico_clear` / `ico_warning` / `ico_info` / `ico_scan`、Radio、加减号等。
## 5. 切片清单
| 名称 | X | Y(左上) | W | H | Unity Y(左下) | 类型 | Border L,R,T,B | 用途 |
| --- | ---: | ---: | ---: | ---: | ---: | --- | --- | --- |
| `ui_panel_main` | 8 | 8 | 480 | 256 | 1784 | 9-slice | `40,40,40,40` | 主面板底 |
| `ui_panel_popup` | 496 | 8 | 360 | 240 | 1800 | 9-slice | `36,36,36,36` | 弹窗底 |
| `ui_panel_content` | 864 | 8 | 320 | 200 | 1840 | 9-slice | `28,28,28,28` | 内容/卡片底 |
| `ui_panel_header` | 1192 | 8 | 400 | 80 | 1960 | 9-slice | `32,32,24,24` | 标题栏 |
| `ui_overlay_dim` | 1600 | 8 | 192 | 192 | 1848 | simple | `0,0,0,0` | 半透明遮罩 |
| `ui_divider_h` | 1192 | 96 | 400 | 16 | 1936 | simple | `0,0,0,0` | 横向分割线 |
| `btn_primary_normal` | 8 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮普通态 |
| `btn_primary_pressed` | 240 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮按下态 |
| `btn_primary_disabled` | 472 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮禁用态 |
| `btn_secondary_normal` | 704 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 次按钮普通态 |
| `btn_secondary_pressed` | 936 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 次按钮按下态 |
| `btn_small_normal` | 1168 | 280 | 160 | 64 | 1704 | 9-slice | `24,24,18,18` | 小按钮普通态 |
| `btn_small_pressed` | 1336 | 280 | 160 | 64 | 1704 | 9-slice | `24,24,18,18` | 小按钮按下态 |
| `btn_close` | 1504 | 280 | 72 | 72 | 1696 | simple | `0,0,0,0` | 关闭 |
| `btn_back` | 1584 | 280 | 72 | 72 | 1696 | simple | `0,0,0,0` | 返回 |
| `scrollbar_track_v` | 1664 | 280 | 28 | 160 | 1608 | 9-slice | `8,8,16,16` | 竖向滚动条轨道 |
| `scrollbar_thumb_v` | 1700 | 280 | 28 | 80 | 1688 | 9-slice | `8,8,16,16` | 竖向滚动条滑块 |
| `input_bg_normal` | 8 | 400 | 360 | 72 | 1576 | 9-slice | `28,28,20,20` | 输入框普通态 |
| `input_bg_focus` | 376 | 400 | 360 | 72 | 1576 | 9-slice | `28,28,20,20` | 输入框聚焦态 |
| `ui_list_item_normal` | 744 | 400 | 320 | 72 | 1576 | 9-slice | `20,20,16,16` | 列表项普通态 |
| `ui_list_item_selected` | 1072 | 400 | 320 | 72 | 1576 | 9-slice | `20,20,16,16` | 列表项选中态 |
| `tab_active` | 1400 | 400 | 200 | 72 | 1576 | 9-slice | `28,28,20,20` | 页签激活态 |
| `tab_inactive` | 1608 | 400 | 200 | 72 | 1576 | 9-slice | `28,28,20,20` | 页签未激活态 |
| `progress_bg` | 8 | 504 | 400 | 32 | 1512 | 9-slice | `16,16,10,10` | 进度条底 |
| `progress_fill` | 416 | 504 | 400 | 32 | 1512 | 9-slice | `16,16,10,10` | 进度条填充 |
| `slider_track` | 824 | 504 | 320 | 28 | 1516 | 9-slice | `14,14,8,8` | 滑动条轨道 |
| `slider_fill` | 1152 | 504 | 320 | 28 | 1516 | 9-slice | `14,14,8,8` | 滑动条填充 |
| `slider_handle` | 1480 | 496 | 56 | 56 | 1496 | simple | `0,0,0,0` | 滑动条手柄 |
| `toast_bg` | 1544 | 496 | 280 | 80 | 1472 | 9-slice | `28,28,20,20` | Toast 提示底 |
| `toggle_bg_off` | 8 | 616 | 112 | 56 | 1376 | 9-slice | `28,28,18,18` | 开关关闭底 |
| `toggle_bg_on` | 128 | 616 | 112 | 56 | 1376 | 9-slice | `28,28,18,18` | 开关开启底 |
| `toggle_knob` | 248 | 616 | 48 | 48 | 1384 | simple | `0,0,0,0` | 开关滑块 |
| `checkbox_off` | 304 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 复选未选 |
| `checkbox_on` | 368 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 复选已选 |
| `ico_search` | 432 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 搜索 |
| `ico_check` | 496 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 对勾 |
| `ico_settings` | 560 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 设置 |
| `ico_refresh` | 624 | 616 | 56 | 56 | 1376 | simple | `0,0,0,0` | 刷新 |
共 **38** 个切片。当前占用约 `1736 x 680` 包络范围,图集其余区域留白。
## 6. 控件映射
| Unity 控件 | 建议切片 |
| --- | --- |
| `Button` | `btn_primary_*`、`btn_secondary_*`、`btn_small_*`、`btn_close`、`btn_back` |
| `TMP_InputField` | `input_bg_normal`、`input_bg_focus`、`ico_search` |
| `Slider` | `slider_track`、`slider_fill`、`slider_handle` |
| `Scrollbar` / `ScrollRect` | `scrollbar_track_v`、`scrollbar_thumb_v`、`ui_list_item_*` |
| 面板 / 弹窗 | `ui_panel_main`、`ui_panel_popup`、`ui_panel_content`、`ui_panel_header`、`ui_overlay_dim` |
| 页签 | `tab_active`、`tab_inactive` |
| Toggle / Checkbox | `toggle_*`、`checkbox_*` |
| 进度 | `progress_bg`、`progress_fill` |
| Toast / 状态 | `toast_bg`、`ico_check` |
| 通用图标 | `ico_settings`、`ico_refresh`、`ico_search` |
## 7. Unity 使用规则
1. 文字相关控件统一使用 TextMeshPro(`TextMeshProUGUI`、`TMP_InputField` 等)。
2. 生成的节点名称使用英文。
3. 控件不够用时:先在空白区追加;仍不足再升级到 `UI_Pic_Set.md`。更轻量需求退回 `UI_Simple_Set.md`。
## 8. Unity 导入设置
1. Texture Type:`Sprite (2D and UI)`
2. Sprite Mode:`Multiple`
3. Mesh Type:`Full Rect`
4. Filter Mode:`Bilinear`(像素风可用 `Point`)
5. Compression:`None` 或 `High Quality`
6. 勾选 `Alpha Is Transparency`
## 9. 命名约定
- 面板:`ui_panel_*`
- 按钮:`btn_*`
- 页签:`tab_*`
- 图标:`ico_*`
- 输入:`input_*`
- 进度:`progress_*`
- 滑动条:`slider_*`
- 滚动条:`scrollbar_*`
- 开关:`toggle_*`
Sprite 名称与表中一致,供 Lua / C# 按名加载。
+124
View File
@@ -0,0 +1,124 @@
# Unity UI 2048x2048 图集切片规划
## 1. 目标
将一套常用 Unity UGUI 控件切图放入一张 `2048x2048` 贴图中,供 Sprite Editor 按坐标切片后复用。
风格参考:`Doc\Design\ui_design.jpg`
本图集只覆盖项目高频控件:`Button`、`InputField`、`Slider`、`Scrollbar`、面板/弹窗、列表项、进度条、开关/复选、以及少量通用图标。业务专用图标与活动预留不纳入本表。
## 2. 坐标规则
- 图集尺寸:`2048x2048`。
- 表中 `X`、`Y(左上)` 以图片左上角为原点,适合给美术和切图工具对齐。
- `Unity Y(左下)` 以 Unity Sprite Editor 的左下角为原点,计算公式为:`2048 - Y(左上) - H`。
- 所有切片之间保留至少 `8px` 间隔,降低双线性采样和 mipmap 边缘串色风险。
- `9-slice` 切片需要在 Unity Sprite Editor 中设置 `Border`,格式为 `Left, Right, Top, Bottom`。
- `simple` 切片不设置九宫格,按原始比例或等比缩放使用。
- 未占用区域留白即可,不必填满整张图集。
## 3. 图集分区
| 区域 | Y 范围 | 内容 |
| --- | ---: | --- |
| 面板与列表 | `0-400` | 主面板、弹窗、内容底、标题栏、列表项、遮罩、分割线 |
| 按钮 | `408-560` | 主/次/小按钮、关闭与返回 |
| 输入 | `568-648` | 输入框、光标、搜索/清空 |
| 进度 / 滑动 / 滚动 | `656-816` | 进度条、滑动条、滚动条 |
| 开关与通用图标 | `824-920` | Toggle、Checkbox、Toast、常用图标 |
| 预留 | `928-2040` | 空白,后续按需追加 |
## 4. 切片清单
| 名称 | X | Y(左上) | W | H | Unity Y(左下) | 类型 | Border L,R,T,B | 用途 |
| --- | ---: | ---: | ---: | ---: | ---: | --- | --- | --- |
| `ui_panel_main` | 8 | 8 | 512 | 384 | 1656 | 9-slice | `48,48,48,48` | 主窗口/全屏面板底 |
| `ui_panel_popup` | 528 | 8 | 384 | 256 | 1784 | 9-slice | `40,40,40,40` | 弹窗底 |
| `ui_panel_content` | 920 | 8 | 384 | 256 | 1784 | 9-slice | `32,32,32,32` | 内容区/卡片底 |
| `ui_panel_header` | 1312 | 8 | 512 | 96 | 1944 | 9-slice | `32,32,24,24` | 标题栏 |
| `ui_list_item_normal` | 1312 | 112 | 384 | 96 | 1840 | 9-slice | `24,24,20,20` | 列表项普通态 |
| `ui_list_item_selected` | 1312 | 216 | 384 | 96 | 1736 | 9-slice | `24,24,20,20` | 列表项选中态 |
| `ui_overlay_dim` | 1704 | 112 | 256 | 256 | 1680 | simple | `0,0,0,0` | 半透明遮罩,可拉伸 |
| `ui_divider_h` | 528 | 272 | 512 | 16 | 1760 | simple | `0,0,0,0` | 横向分割线 |
| `btn_primary_normal` | 8 | 408 | 256 | 96 | 1544 | 9-slice | `36,36,28,28` | 主按钮普通态 |
| `btn_primary_pressed` | 272 | 408 | 256 | 96 | 1544 | 9-slice | `36,36,28,28` | 主按钮按下态 |
| `btn_primary_disabled` | 536 | 408 | 256 | 96 | 1544 | 9-slice | `36,36,28,28` | 主按钮禁用态 |
| `btn_secondary_normal` | 800 | 408 | 256 | 96 | 1544 | 9-slice | `36,36,28,28` | 次按钮普通态 |
| `btn_secondary_pressed` | 1064 | 408 | 256 | 96 | 1544 | 9-slice | `36,36,28,28` | 次按钮按下态 |
| `btn_small_normal` | 1328 | 408 | 192 | 72 | 1568 | 9-slice | `28,28,22,22` | 小按钮普通态 |
| `btn_small_pressed` | 1528 | 408 | 192 | 72 | 1568 | 9-slice | `28,28,22,22` | 小按钮按下态 |
| `btn_small_disabled` | 1728 | 408 | 192 | 72 | 1568 | 9-slice | `28,28,22,22` | 小按钮禁用态 |
| `btn_close` | 8 | 512 | 80 | 80 | 1456 | simple | `0,0,0,0` | 关闭按钮 |
| `btn_back` | 96 | 512 | 80 | 80 | 1456 | simple | `0,0,0,0` | 返回按钮 |
| `input_bg_normal` | 8 | 568 | 384 | 80 | 1400 | 9-slice | `32,32,24,24` | 输入框普通态 |
| `input_bg_focus` | 400 | 568 | 384 | 80 | 1400 | 9-slice | `32,32,24,24` | 输入框聚焦态 |
| `input_caret` | 792 | 568 | 8 | 64 | 1416 | simple | `0,0,0,0` | 输入光标 |
| `ico_search` | 816 | 568 | 64 | 64 | 1416 | simple | `0,0,0,0` | 搜索 |
| `ico_clear` | 888 | 568 | 64 | 64 | 1416 | simple | `0,0,0,0` | 清空 |
| `progress_bg` | 8 | 656 | 512 | 40 | 1352 | 9-slice | `20,20,12,12` | 进度条底 |
| `progress_fill` | 528 | 656 | 512 | 40 | 1352 | 9-slice | `20,20,12,12` | 进度条填充 |
| `slider_track` | 8 | 704 | 512 | 32 | 1312 | 9-slice | `16,16,10,10` | 滑动条轨道 |
| `slider_fill` | 528 | 704 | 512 | 32 | 1312 | 9-slice | `16,16,10,10` | 滑动条填充 |
| `slider_handle` | 1048 | 704 | 64 | 64 | 1280 | simple | `0,0,0,0` | 滑动条手柄 |
| `scrollbar_track_v` | 1120 | 656 | 32 | 160 | 1232 | 9-slice | `10,10,20,20` | 竖向滚动条轨道 |
| `scrollbar_thumb_v` | 1160 | 656 | 32 | 96 | 1296 | 9-slice | `10,10,20,20` | 竖向滚动条滑块 |
| `scrollbar_track_h` | 1200 | 656 | 512 | 32 | 1360 | 9-slice | `20,20,10,10` | 横向滚动条轨道 |
| `scrollbar_thumb_h` | 1720 | 656 | 128 | 32 | 1360 | 9-slice | `20,20,10,10` | 横向滚动条滑块 |
| `toggle_bg_off` | 8 | 824 | 112 | 56 | 1168 | 9-slice | `28,28,18,18` | 开关关闭底 |
| `toggle_bg_on` | 128 | 824 | 112 | 56 | 1168 | 9-slice | `28,28,18,18` | 开关开启底 |
| `toggle_knob` | 248 | 824 | 48 | 48 | 1176 | simple | `0,0,0,0` | 开关滑块 |
| `checkbox_off` | 304 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 复选框未选 |
| `checkbox_on` | 376 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 复选框已选 |
| `toast_bg` | 448 | 824 | 320 | 96 | 1128 | 9-slice | `32,32,24,24` | Toast 提示底 |
| `ico_check` | 776 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 对勾 |
| `ico_warning` | 848 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 警告 |
| `ico_info` | 920 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 信息 |
| `ico_settings` | 992 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 设置 |
| `ico_refresh` | 1064 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 刷新 |
| `ico_scan` | 1136 | 824 | 64 | 64 | 1160 | simple | `0,0,0,0` | 扫码 |
## 5. 控件映射建议
| Unity 控件 | 建议切片 |
| --- | --- |
| `Button` | `btn_primary_*`、`btn_secondary_*`、`btn_small_*`、`btn_close`、`btn_back` |
| `InputField` / `TMP_InputField` | `input_bg_normal`、`input_bg_focus`、`input_caret`、`ico_search`、`ico_clear` |
| `Slider` | `slider_track`、`slider_fill`、`slider_handle` |
| `Scrollbar` | `scrollbar_track_v`、`scrollbar_thumb_v`、`scrollbar_track_h`、`scrollbar_thumb_h` |
| `ScrollRect` 列表项 | `ui_list_item_normal`、`ui_list_item_selected` |
| 弹窗/面板 | `ui_panel_main`、`ui_panel_popup`、`ui_panel_content`、`ui_panel_header`、`ui_overlay_dim` |
| Toggle / Checkbox | `toggle_*`、`checkbox_*` |
| 进度显示 | `progress_bg`、`progress_fill` |
| Toast / 状态提示 | `toast_bg`、`ico_check`、`ico_warning`、`ico_info` |
| 扫码入口 | `ico_scan` |
## 6. Unity UI 使用规则
1. 与文字相关的 UI 控件统一使用 TextMeshPro 版本,例如 `TextMeshProUGUI`、`TMP_InputField`、`TMP_Dropdown`。
2. 不再新增 Unity Legacy `Text`、`InputField`、`Dropdown` 控件,已有旧控件后续维护时应逐步替换为 TextMeshPro 对应控件。
3. 动态文本、按钮文字、输入框占位符、列表项文字、弹窗正文、Toast 提示等均按 TextMeshPro 字体资源和材质配置。
4. 生成的节点都用英文。
## 7. Unity 导入设置
1. Texture Type 设为 `Sprite (2D and UI)`。
2. Sprite Mode 设为 `Multiple`。
3. Mesh Type 设为 `Full Rect`,避免九宫格边缘被裁切。
4. Filter Mode 建议 `Bilinear`;像素风 UI 可改为 `Point`。
5. Compression 建议 `None` 或 `High Quality`,避免 UI 边缘和文字图标出现压缩噪点。
6. 勾选 `Alpha Is Transparency`,保持透明边缘正确。
7. 移动端若对内存敏感,可在图集最终稳定后再评估 ASTC/ETC2 压缩。
## 8. 命名约定
- 面板:`ui_panel_*`
- 按钮:`btn_*`
- 图标:`ico_*`
- 输入:`input_*`
- 进度:`progress_*`
- 滑动条:`slider_*`
- 滚动条:`scrollbar_*`
Sprite 名称应与表中名称保持一致,Lua 或 C# 侧需要动态加载时直接使用该名称。
更轻量的控件集见:`Doc\UI_Simple_Set.md`(最小)与 `Doc\UI_Normal_Set.md`(常规)。
+105
View File
@@ -0,0 +1,105 @@
# Unity UI 精简图集(Simple Set)
## 1. 目标
提供一套**最小可用**的 UGUI 控件切图规划,覆盖登录/大厅/弹窗/列表等基础界面所需素材。
风格参考:`Doc\Design\ui_design.jpg`
与 `UI_Pic_Set.md` / `UI_Normal_Set.md` 的区别:
- 只保留真正高频的控件态,去掉次要状态、业务图标和预留格。
- 切片集中排布在图集上方,**不要求填满整张贴图**;空白区域保持透明即可。
- 图集仍建议使用 `2048x2048`,方便后续直接追加切片,而不必重排已有坐标。
- 需要页签 / Toggle / Toast / 小按钮时,改用 `Doc\UI_Normal_Set.md`。
## 2. 坐标规则
- 图集尺寸:`2048x2048`(实际占用大约上半偏左区域)。
- `X`、`Y(左上)` 以图片左上角为原点。
- `Unity Y(左下)` = `2048 - Y(左上) - H`。
- 切片间距至少 `8px`。
- `9-slice` 需在 Sprite Editor 设置 `Border`:`Left, Right, Top, Bottom`。
- `simple` 不设置九宫格。
## 3. 区域说明
本精简集不强制分区填满,建议按行紧凑排列:
| 行 | 大约 Y | 内容 |
| --- | ---: | --- |
| 1 | `8` | 面板、弹窗、遮罩 |
| 2 | `280` | 按钮、关闭 |
| 3 | `400` | 输入框、列表项 |
| 4 | `504` | 进度、滑动、滚动、开关 |
| 其余 | `600+` | 全部留白,按需追加 |
## 4. 切片清单
| 名称 | X | Y(左上) | W | H | Unity Y(左下) | 类型 | Border L,R,T,B | 用途 |
| --- | ---: | ---: | ---: | ---: | ---: | --- | --- | --- |
| `ui_panel_main` | 8 | 8 | 480 | 256 | 1784 | 9-slice | `40,40,40,40` | 主面板底 |
| `ui_panel_popup` | 496 | 8 | 360 | 240 | 1800 | 9-slice | `36,36,36,36` | 弹窗底 |
| `ui_panel_content` | 864 | 8 | 320 | 200 | 1840 | 9-slice | `28,28,28,28` | 内容/卡片底 |
| `ui_overlay_dim` | 1192 | 8 | 192 | 192 | 1848 | simple | `0,0,0,0` | 半透明遮罩 |
| `btn_primary_normal` | 8 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮普通态 |
| `btn_primary_pressed` | 240 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮按下态 |
| `btn_primary_disabled` | 472 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 主按钮禁用态 |
| `btn_secondary_normal` | 704 | 280 | 224 | 88 | 1680 | 9-slice | `32,32,24,24` | 次按钮普通态 |
| `btn_close` | 936 | 280 | 72 | 72 | 1696 | simple | `0,0,0,0` | 关闭 |
| `input_bg_normal` | 8 | 400 | 360 | 72 | 1576 | 9-slice | `28,28,20,20` | 输入框普通态 |
| `input_bg_focus` | 376 | 400 | 360 | 72 | 1576 | 9-slice | `28,28,20,20` | 输入框聚焦态 |
| `ui_list_item_normal` | 744 | 400 | 320 | 72 | 1576 | 9-slice | `20,20,16,16` | 列表项普通态 |
| `ui_list_item_selected` | 1072 | 400 | 320 | 72 | 1576 | 9-slice | `20,20,16,16` | 列表项选中态 |
| `progress_bg` | 8 | 504 | 400 | 32 | 1512 | 9-slice | `16,16,10,10` | 进度条底 |
| `progress_fill` | 416 | 504 | 400 | 32 | 1512 | 9-slice | `16,16,10,10` | 进度条填充 |
| `slider_track` | 824 | 504 | 320 | 28 | 1516 | 9-slice | `14,14,8,8` | 滑动条轨道 |
| `slider_fill` | 1152 | 504 | 320 | 28 | 1516 | 9-slice | `14,14,8,8` | 滑动条填充 |
| `slider_handle` | 1480 | 496 | 56 | 56 | 1496 | simple | `0,0,0,0` | 滑动条手柄 |
| `scrollbar_track_v` | 1544 | 280 | 28 | 160 | 1608 | 9-slice | `8,8,16,16` | 竖向滚动条轨道 |
| `scrollbar_thumb_v` | 1580 | 280 | 28 | 80 | 1688 | 9-slice | `8,8,16,16` | 竖向滚动条滑块 |
| `checkbox_off` | 8 | 560 | 56 | 56 | 1432 | simple | `0,0,0,0` | 复选未选 |
| `checkbox_on` | 72 | 560 | 56 | 56 | 1432 | simple | `0,0,0,0` | 复选已选 |
| `ico_settings` | 136 | 560 | 56 | 56 | 1432 | simple | `0,0,0,0` | 设置 |
| `ico_refresh` | 200 | 560 | 56 | 56 | 1432 | simple | `0,0,0,0` | 刷新 |
共 **24** 个切片。当前占用约 `1636 x 616` 包络范围,图集其余区域留白。
## 5. 控件映射
| Unity 控件 | 建议切片 |
| --- | --- |
| `Button` | `btn_primary_*`、`btn_secondary_normal`、`btn_close` |
| `TMP_InputField` | `input_bg_normal`、`input_bg_focus` |
| `Slider` | `slider_track`、`slider_fill`、`slider_handle` |
| `Scrollbar` / `ScrollRect` | `scrollbar_track_v`、`scrollbar_thumb_v`、`ui_list_item_*` |
| 面板 / 弹窗 | `ui_panel_main`、`ui_panel_popup`、`ui_panel_content`、`ui_overlay_dim` |
| 进度 | `progress_bg`、`progress_fill` |
| Checkbox | `checkbox_off`、`checkbox_on` |
| 通用图标 | `ico_settings`、`ico_refresh` |
## 6. Unity 使用规则
1. 文字相关控件统一使用 TextMeshPro(`TextMeshProUGUI`、`TMP_InputField` 等)。
2. 生成的节点名称使用英文。
3. 若后续控件不够用,优先追加到空白区域;次常用控件见 `UI_Normal_Set.md`,完整常用集见 `UI_Pic_Set.md`。
## 7. Unity 导入设置
1. Texture Type:`Sprite (2D and UI)`
2. Sprite Mode:`Multiple`
3. Mesh Type:`Full Rect`
4. Filter Mode:`Bilinear`(像素风可用 `Point`)
5. Compression:`None` 或 `High Quality`
6. 勾选 `Alpha Is Transparency`
## 8. 命名约定
- 面板:`ui_panel_*`
- 按钮:`btn_*`
- 图标:`ico_*`
- 输入:`input_*`
- 进度:`progress_*`
- 滑动条:`slider_*`
- 滚动条:`scrollbar_*`
Sprite 名称与表中一致,供 Lua / C# 按名加载。
+298
View File
@@ -0,0 +1,298 @@
# gpt-image-2/gpt-image-2.5接口
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/v1/api/generate:
post:
summary: gpt-image-2/gpt-image-2.5接口
deprecated: false
description: |-
基础节点:
https://grsaiapi.com (全球节点)
https://grsai.dakka.com.cn (国内节点)
例子:
https://grsaiapi.com/v1/api/generate
https://grsai.dakka.com.cn/v1/api/generate
tags:
- Grsai图片/视频生成接口
parameters:
- name: base_url
in: path
description: ''
required: true
schema:
type: string
- name: Authorization
in: header
description: 请前往以下页面获取APIKEY:https://grsai.ai/zh/dashboard/api-keys
required: false
example: Bearer sk-xxxxxxxxxxx
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
model:
type: string
title: 模型名称
description: |-
支持以下模型
gpt-image-2
gpt-image-2-vip
gpt-image-2.5
gpt-image-2.5-flare
gpt-image-2.5-sunburst
prompt:
type: string
title: 提示词
images:
type: array
items:
type: string
title: 参考图
description: 支持base64与url链接
aspectRatio:
type: string
title: 比例
description: |-
分辨率参数说明
gpt-image-2/gpt-image-2.5:支持比例(如 "16:9")或1K像素值(如 "1024x1024")
gpt-image-2-vip/gpt-image-2.5-flare/gpt-image-2.5-sunburst:支持1-4K像素值(如 "1024x1024"、"2048x2048"),不支持比例
自定义像素值约束(仅限 vip 模型)
最大边长必须小于或等于3840px
两条边都必须是16的倍数
长边与短边之比不得超过 3:1
总像素数必须至少为 655,360且不得超过 8,294,400
gpt-image-2-vip/gpt-image-2.5-flare/gpt-image-2.5-sunburst比例参考(1K、2K、4K):
auto
1:1:1024x1024、2048x2048、2880x2880
16:9:1280x720、2048x1152、3840x2160
9:16:720x1280、1152x2048、2160x3840
4:3:1152x864、2304x1728、3264x2448
3:4:864x1152、1728x2304、2448x3264
3:2:1536x1024、2048x1360、3504x2336
2:3:1024x1536、1360x2048、2336x3504
5:4:1120x896、2240x1792、3200x2560
4:5:896x1120、1792x2240、2560x3200
21:9:1456x624、2912x1248、3840x1648
9:21:624x1456、1248x2912、1648x3840
1:3:688x2048、1280x3840
3:1:2048x688、3840x1280
2:1:1536x768、3072x1536、3840x1920
1:2:768x1536、1536x3072、1920x3840
gpt-image-2比例参考:
auto
1:1:1024x1024
16:9:1672 x941
9:16:941x1672 
4:3:1443x1090
3:4:1090x1443
3:2:1536x1024
2:3:1024x1536
5:4:1408x1120
4:5:1120x1408
21:9:1920x832
9:21:832x1920
1:2:896x1792
2:1:1792x896
replyType:
type: string
title: 回复类型
description: |-
支持参数
json(返回json)
stream(返回stream)
async(异步轮询)
异步生成结果查询接口:https://qmy27nhsd9.apifox.cn/452409577e0
quality:
type: string
title: 质量
description: |-
支持以下质量选项:
"auto"
"low"
"medium"
"high"
"xhigh"
"max"
(请根据模型支持情况进行选择)
gpt-image-2: auto
gpt-image-2.5: auto
gpt-image-2-vip: medium
gpt-image-2.5-flare: low、medium、high
gpt-image-2.5-sunburst: low、medium、high、xhigh、max
background:
type: string
title: 背景参数
description: |-
可选参数:transparent
以下模型支持该参数:
gpt-image-2-vip
gpt-image-2.5-flare
gpt-image-2.5-sunburst
mask:
type: string
title: mask
description: https://xxxx.png
required:
- model
- prompt
x-apifox-orders:
- model
- prompt
- images
- aspectRatio
- quality
- background
- mask
- replyType
example:
model: gpt-image-2
prompt: 生成一张边牧与古牧正在抖音直播间直播带货截图
images: []
aspectRatio: 1024x1024
quality: auto
replyType: json
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
title: 任务id
status:
type: string
title: 状态
description: |
任务状态
running (进行中)
violation (违规)
succeeded (生成成功)
failed (任务失败)
results:
type: array
items:
type: object
properties:
url:
type: string
title: 图片/视频链接
x-apifox-orders:
- url
progress:
type: integer
title: 进度
description: 0~100
error:
type: string
title: 报错信息
required:
- id
- status
x-apifox-orders:
- id
- status
- progress
- results
- error
example:
id: 14-5f3cf761-a4bb-486a-8016-77f490998f80
status: succeeded
results:
- url: >-
https://file1.aitohumanize.com/file/fcdd2d07449d438d9d69d450f5626976.png
headers: {}
x-apifox-name: 成功
'400':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
status:
type: string
title: 状态
description: |-
状态
violation(违规)
failed(失败)
error:
type: string
title: 报错信息
required:
- id
- status
- error
x-apifox-orders:
- id
- status
- error
example:
id: 12-1f771fbf-f23a-4b89-a7d0-a98ba9862edb
status: failed
error: generate failed
headers: {}
x-apifox-name: 报错
x-200:异步生成返回结果:
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
title: 任务id
description: |-
通过该id调用异步结果查询接口
接口文档:https://qmy27nhsd9.apifox.cn/452409577e0
status:
type: string
title: 状态
01KQS7HP0FA36FTFVEPEF2D10R:
type: string
required:
- id
- status
x-apifox-orders:
- id
- status
- 01KQS7HP0FA36FTFVEPEF2D10R
example:
id: 6-f671fc51-d5d7-4eff-a1c7-26e612fe08ab
status: running
headers: {}
x-apifox-name: 异步生成返回结果
security: []
x-apifox-folder: Grsai图片/视频生成接口
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/8212034/apis/api-452409160-run
components:
schemas: {}
securitySchemes: {}
servers: []
security: []
```
+268
View File
@@ -0,0 +1,268 @@
# minimax-h3接口
## OpenAPI Specification
```yaml
openapi: 3.0.1
info:
title: ''
description: ''
version: 1.0.0
paths:
/v1/api/generate:
post:
summary: minimax-h3接口
deprecated: false
description: |-
基础节点:
https://grsaiapi.com (全球节点)
https://grsai.dakka.com.cn (国内节点)
例子:
https://grsaiapi.com/v1/api/generate
https://grsai.dakka.com.cn/v1/api/generate
注意:minimax-h3模型需要专业的提示词来精确控制视频,门槛较高
tags:
- Grsai图片/视频生成接口
parameters:
- name: base_url
in: path
description: ''
required: true
schema:
type: string
- name: Authorization
in: header
description: 请前往以下页面获取APIKEY:https://grsai.ai/zh/dashboard/api-keys
required: false
example: Bearer sk-xxxxxxxxxxx
schema:
type: string
requestBody:
content:
application/json:
schema:
type: object
properties:
prompt:
type: string
title: 提示词
aspectRatio:
type: string
title: 比例
description: |-
图像比例支持的参数:
portrait (竖屏)
landscape (横屏)
images:
type: array
items:
type: string
title: 参考图
description: 支持base64与url链接,最大支持9张图
audios:
type: array
items:
type: string
description: 支持base64与url,最大支持3个音频
title: 参考音频
resolution:
type: string
title: 分辨率
description: 480p/768p/1080p
model:
type: string
title: 模型名称
description: |-
支持以下模型
minimax-h3
duration:
type: integer
title: 视频时长
description: 支持1~15秒,1080p最多支持10秒
replyType:
type: string
title: 回复类型
description: |-
支持参数
json(返回json)
stream(返回stream)
async(异步轮询)
异步生成结果查询接口:https://qmy27nhsd9.apifox.cn/452409577e0
seed:
type: integer
title: 随机种子
required:
- prompt
- aspectRatio
- resolution
- model
- duration
- replyType
x-apifox-orders:
- model
- prompt
- aspectRatio
- images
- audios
- seed
- resolution
- duration
- replyType
example:
prompt: >-
视频时长:10秒|电影级写实风格|科幻悬疑短片
场景:深夜的未来都市街头,暴雨倾盆,霓虹灯映照在湿漉漉的街道上。一名年轻男子穿着黑色风衣,独自站在十字路口,手中握着一个正在闪烁蓝光的神秘金属球。
0-3秒:镜头从远景快速推进到男子中景,男子低头看着手中的金属球,神情紧张,雨水顺着脸颊流下。他低声说:“你终于醒了……”
3-6秒:金属球突然发出强烈蓝光,周围的雨滴全部悬浮在空中,街上的灯光开始闪烁。男子震惊地抬起头,说:“不可能……现在还不是时候。”
6-10秒:男子身后的街道尽头突然打开一道巨大的蓝色传送门,传送门中传来一个低沉神秘的声音:“我等你,已经三百年了。”男子猛然回头,瞳孔放大,镜头快速推近他的脸,随后画面瞬间切黑。
对白要求:中文普通话,人物口型与台词同步,男声自然、低沉、具有电影感,神秘声音更加低沉有空间感。台词清晰,不抢环境音。
声音设计:暴雨声、远处雷声、城市环境低鸣、金属球启动的低频嗡鸣声、传送门开启的巨大能量声,最后一句声音带有轻微回响。
视觉要求:真实电影质感、真实人物皮肤、自然面部表情、逼真暴雨、水滴、霓虹反射、体积光、浅景深、自然运动模糊、冷色科幻氛围、镜头运动稳定流畅、人物外观前后一致、场景连续。
负面提示词:人物变形、多余手指、多余肢体、脸部崩坏、口型不同步、台词乱码、声音失真、多人突然出现、人物外观变化、场景跳变、画面闪烁、低清晰度、卡顿、文字、水印、Logo。
aspectRatio: portrait
images:
- https://xxxxxx.png
- https://xxxxxx.png
audios:
- https://xxxxxx.mp3
- https://xxxxxx.mp3
seed: 1000
resolution: 480p
model: minimax-h3
duration: 10
replyType: json
responses:
'200':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
title: 任务id
status:
type: string
title: 状态
description: |
任务状态
running (进行中)
violation (违规)
succeeded (生成成功)
failed (任务失败)
results:
type: array
items:
type: object
properties:
url:
type: string
title: 图片/视频链接
x-apifox-orders:
- url
progress:
type: integer
title: 进度
description: 0~100
error:
type: string
title: 报错信息
required:
- id
- status
x-apifox-orders:
- id
- status
- progress
- results
- error
example:
id: 14-5f3cf761-a4bb-486a-8016-77f490998f80
status: succeeded
results:
- url: >-
https://file1.aitohumanize.com/file/fcdd2d07449d438d9d69d450f5626976.mp4
headers: {}
x-apifox-name: 成功
'400':
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
status:
type: string
title: 状态
description: |-
状态
violation(违规)
failed(失败)
error:
type: string
title: 报错信息
required:
- id
- status
- error
x-apifox-orders:
- id
- status
- error
example:
id: 12-1f771fbf-f23a-4b89-a7d0-a98ba9862edb
status: failed
error: generate failed
headers: {}
x-apifox-name: 报错
x-200:异步生成返回结果:
description: ''
content:
application/json:
schema:
type: object
properties:
id:
type: string
title: 任务id
description: |-
通过该id调用异步结果查询接口
接口文档:https://qmy27nhsd9.apifox.cn/452409577e0
status:
type: string
title: 状态
required:
- id
- status
x-apifox-orders:
- id
- status
example:
id: 6-f671fc51-d5d7-4eff-a1c7-26e612fe08ab
status: running
headers: {}
x-apifox-name: 异步生成返回结果
security: []
x-apifox-folder: Grsai图片/视频生成接口
x-apifox-status: released
x-run-in-apifox: https://app.apifox.com/web/project/8212034/apis/api-514679297-run
components:
schemas: {}
securitySchemes: {}
servers: []
security: []
```
BIN
View File
Binary file not shown.

After

Width:  |  Height:  |  Size: 188 KiB