Ignore AIClient/Library and AIClient/HybridCLRData permanently; include HybridCLR/YooAsset project setup and UI tooling. Co-authored-by: Cursor <cursoragent@cursor.com>
2.3 KiB
2.3 KiB
Unity UI 工程约定(AIGame)
从 AIC#
UnityProject.md抽取 UI 相关条款,并按本仓库竖屏 / Bundles / YooAsset / HybridCLR 改写。
环境
- Unity:
2022.3.62f3(AIClient/ProjectSettings/ProjectVersion.txt) - 客户端:
AIClient/ - 屏幕:竖屏;UI 设计分辨率
1080×1920 - 资源包:YooAsset;业务代码:HybridCLR HotUpdate
目录
| 用途 | 路径 |
|---|---|
| 通用 UI 贴图 | Assets/Bundles/UI/Texture/Common |
| 业务 UI 贴图 | Assets/Bundles/UI/Texture/<Module> |
| UI Prefab | Assets/Bundles/UI/Prefab |
| UI 字体 | Assets/Bundles/UI/Font(源文件 siyuan_CN_Bold.otf,TMP:siyuan_CN_Bold SDF.asset) |
| JSON 描述 | 仓库根 Doc/UIPrefabCreater |
| 热更 UI 脚本 | Assets/HotUpdate/Scripts/UI |
| AOT 启动条 | Assets/AOT/Scripts/UI(仅补丁/启动,不放业务面板) |
UI 挂载层级
运行时挂到 UIRoot 子节点(待实现时保持约定):
- HUD → Normal → Dialog → Tips(越上越前)
UI 制作流程
- 设计竖屏界面;优先复用 Common 切图(
Doc/UI_Normal_Set.md/UI_Pic_Set.md)。 - 输出
Doc/UIPrefabCreater/{UIName}.json(契约见UIGenerationPrompt.md)。 - Unity 获焦自动生成 Prefab,或菜单
Tools/UI/...。 - HotUpdate C# 接管:按名找节点,异步加载资源。
- 新贴图走
ResourceCreate.md,登记Doc/ResDesc_Picture.md。
JSON → Prefab 要点
referenceResolution:[1080, 1920]- 文字:仅 TextMeshPro,默认字体
Assets/Bundles/UI/Font/siyuan_CN_Bold SDF.asset(由siyuan_CN_Bold.otf生成,动态图集);浅色字描边/阴影非纯黑。 - 九宫格:
imageType: Sliced - 按钮:SpriteSwap 优先
MonoBehaviour.typeName指向 HotUpdate 类型
资源加载
- 一律异步(YooAsset);禁止新写同步加载热更资源。
- Prefab/贴图路径建议带
Assets/Bundles/...。
与图集方案关系
- 现阶段允许 Common 下单图 Sprite 直接被 Prefab 引用。
- 目录级自动 SpriteAtlas / 打包绑定见
Doc/UI_Atlas_Pipeline.md(后续里程碑)。
Agent 边界
遵守 UNITY-GUIDE.md:可直接改 JSON/MD/C#;不手改 .prefab/.meta;Prefab 由转换器或 Pipeline 生成。