Ship the WeChat hot-update catalogs and the camp, TideWhale T2, UI atlas, and animation-lab work.
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -7,7 +7,7 @@
|
||||
| 流水线 | 产物 | 文档 |
|
||||
| --- | --- | --- |
|
||||
| **A. JSON → Prefab** | 业务 UI Prefab | `Doc/Rule/UIGenerationRules.md`、`UIGenerationPrompt.md` |
|
||||
| **B. UI 图集 / 切图** | Common 控件贴图 +(后续)SpriteAtlas | `Doc/UI_*_Set.md`、`Doc/UI_Atlas_Pipeline.md` |
|
||||
| **B. UI 图集 / 切图** | 各目录切图 → 自动 SpriteAtlas → YooAsset 同包 | `Doc/UI_*_Set.md`、`Doc/UI_Atlas_Pipeline.md` |
|
||||
|
||||
风格与控件视觉:`Doc/Design/UI_Design_Principles.md` + `Doc/Design/ui_design.jpg`。
|
||||
|
||||
@@ -47,6 +47,7 @@
|
||||
- `Tools/UI/Generate All Prefabs From JSON`
|
||||
- `Tools/UI/Convert Changed JSON Prefabs Now`
|
||||
- `Tools/UI/Auto Convert JSON On Focus`(默认开启)
|
||||
- `Tools/UI/Generate Sprite Atlases`(手动校验;图片变更及 Art 构建前也会自动更新)
|
||||
|
||||
Prefab / 导入设置须遵守 `UNITY-GUIDE.md`:Agent 不手改 `.prefab`,用本转换器或 Pipeline。
|
||||
|
||||
@@ -62,8 +63,17 @@ Prefab / 导入设置须遵守 `UNITY-GUIDE.md`:Agent 不手改 `.prefab`,
|
||||
|
||||
生成脚本与模型规则见 `ResourceCreate.md`。
|
||||
|
||||
## 6. 首期不做 / 后续
|
||||
## 6. 图集接入与剩余能力
|
||||
|
||||
- 首期:JSON→Prefab + Common 切图目录约定;Sprite 可先单图导入。
|
||||
- 后续:按目录自动打 `.spriteatlas`、AtlasEnum、YooAsset 原图绑定(见 `Doc/UI_Atlas_Pipeline.md`)。
|
||||
- JSON→Prefab 继续引用原图 Sprite;按原图所在目录自动生成 `Assets/Bundles/UI/Atlas/UI_*Atlas.spriteatlas`,原图与图集同包,通过 `atlasRequested` 异步绑定(见 `Doc/UI_Atlas_Pipeline.md`)。
|
||||
- 动态换图使用 `UiManager.Instance.Atlases.SetSpriteAsync(image, "Common", "btn_primary_normal")`;目录名作为索引,无需维护参考工程的业务 `AtlasEnum`。
|
||||
- 转换器未实现:`Toggle` / `Slider` / `Scrollbar` / `TMP_Dropdown`(可用 Image+Button 骨架)。
|
||||
|
||||
## 7. 移动端安全区与角色预览
|
||||
|
||||
- `UI_MainHUD.json` 在 Layout_Top、Panel_Top、Layout_Bottom 和 Panel_Reconnect 上声明 `AOT.UI.UiSafeArea`。组件结合 Unity Screen.safeArea 与微信 getWindowInfo.safeArea、getMenuButtonBoundingClientRect,下移顶部控件到胶囊底部加 8 逻辑像素处,并避开底部手势区;背景仍为全屏铺满。
|
||||
- `UiSafeArea.jslib` 使用微信逻辑像素归一化,与 Unity 物理像素/DPR 解耦;旧客户端回退 getSystemInfoSync 和胶囊行预留。AOT 组件独立保留在 `Assets/AOT/link.xml`,不会被 HybridCLR Gen All 覆盖。
|
||||
- JSON→Prefab 解析优先使用 `assets.sprites` 中的明确路径,声明的 Sprite 缺失即生成失败;支持 `Bg/` 等独立目录。当前营地背景为 `Assets/Bundles/UI/Bg/home_camp.png`,不属于图集输入目录。
|
||||
- `RawImage` 支持 `material`、`color`、`raycastTarget`。ExplorerStage 明确引用 `Assets/Bundles/UI/Material/HomeExplorerCutout.mat`,材质和 Shader 随 Prefab 依赖进入 Art;运行时不再通过 Shader.Find 查找抠底着色器。材质不可用时隐藏角色预览,避免显示相机底色。
|
||||
- 启动 GameplayBootstrap 只初始化 UI,不自动加载 TownSquare/CaoCao 预览世界;角色相关资源和按玩法加载的战斗场景保留。
|
||||
- 验证入口:`Tools/verify_ui_safe_area.js`;`AIClient/AgentScripts/VerifyHomeMobileUi.cs` 分步准备/启动/截图/恢复,避免长时间等待屏幕背缓冲。回执和普通屏、刘海屏、安卓长屏截图在 `Tools/output/home_mobile/`。
|
||||
|
||||
Reference in New Issue
Block a user