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:
@@ -0,0 +1,88 @@
|
||||
# HomeCamp 主界面营地场景
|
||||
|
||||
## 范围与视觉基准
|
||||
|
||||
2026-10-23,用户确认按当前主界面背景还原近景广场、房屋和喷泉。视觉基准为 `AIClient/Assets/Bundles/UI/Bg/home_camp.png`,保留奶油墙、橙红屋瓦、黄白遮阳棚、浅色石路、蓝色喷泉和前景草地。沿用竖屏 1080×1920 的固定机位。
|
||||
|
||||
湖泊、瀑布、远山与城堡使用独立远景图片面片,不生成复杂远景模型。首版交付独立可编辑场景;首页 HUD 接入另行验收,保留现有首页。
|
||||
|
||||
分件图由内置 imagegen 参考当前背景生成,完整提示词见 `design_prompts.json`。主屋、侧屋、喷泉和地表均为白底独立分件;`backdrop.png` 是实际远景贴图,按用途全幅绘制景色,不是白底图生模型输入。
|
||||
|
||||
## 近景组件清单
|
||||
|
||||
| ID | 设计图 | 最终三角面 | 贴图 | 场景用途 |
|
||||
| --- | --- | ---: | --- | --- |
|
||||
| ground | `ground.png` | 8303 | 1024² XPbr | 五步产物保留供审核,表面质量不通过,未摆入交付场景 |
|
||||
| mainhouse | `mainhouse.png` | 1981 | 1024² XPbr | 中后方主屋;两侧缩小复用,三实例 |
|
||||
| cottage | `cottage.png` | 2995 | 1024² XPbr | 五步产物保留供审核,表面质量不通过,未摆入交付场景 |
|
||||
| fountain | `fountain.png` | 1795 | 1024² XPbr | 中央圆池与两层小碗喷泉 |
|
||||
|
||||
连续地表为五步流程后的编辑收尾资产 `GroundSurface.asset/.prefab`:Unity Pipeline 创建持久化的 2 三角面顶面和非凸 MeshCollider,覆盖 36×42m;`ground_surface.png` 是内置 imagegen 另绘的正俯视地表颜色贴图,提示词见 `ground_surface_prompt.txt`。它不是 Studio 地表 UV 的延续,未把失败的 Studio 地表称作通过验收。
|
||||
|
||||
路灯和长椅通过隔离四向检查后复用 TownSquare 资产。两套旧树木/灌木均有烘焙黑斑,未用于交付;树木与花边改为 `tree_card.png` / `flower_card.png` 透明图片面片,Unlit AlphaClip、无碰撞和投影,提示词见 `foliage_prompts.json`。首版不含告示牌、拱门和围栏。
|
||||
|
||||
## 用户指定的五步模型流程
|
||||
|
||||
1. **混元网页生成高模**:每张白底分件图生成一份 50k GLB,保留任务号、日志、原始高模与哈希。
|
||||
2. **3D Studio · 低模生成**:输入同一分件的高模,使用官网 Studio 低模功能,记录低模任务号和实际三角面数。
|
||||
3. **3D Studio · UV 展开**:对上一步 Studio 低模展开 UV,记录 UV 任务号并校验输出。不得用 Blender 自动 UV 替代此步骤。
|
||||
4. **Blender · 贴图烘焙**:先将 Studio 居中/归一化后的低模对齐到其确切来源高模,保留 Studio UV,烘焙颜色、法线、AO、金属度、粗糙度,再打包 XPbr base/mix。
|
||||
5. **超出目标 30% · Blender 保留 UV 减面**:仅当实际三角面数严格大于目标×1.30 时触发,减至目标附近;未超过阈值则明确登记为跳过。保留现有 UV 和已烘焙贴图,不重新展开 UV。
|
||||
|
||||
所有模型完成上述流程后统一导出 Y-up、底面中心原点、局部 -Z 正面的 FBX。在 Unity 四向检查正面;不能用运行时旋转修补源模型坐标。地表另验水平顶面、厚度和可行走区域,防止生成竖直薄板后未经检查直接摆入场景。
|
||||
|
||||
复用依据:`Tools/studio_accessory_pipeline.py` 与 `Tools/campguide_studio_mesh.py` 已有第 02~05 步实现;`Tools/studio_lowpoly_trial.py` 含同源对齐、Studio UV 与 30% 阈值逻辑。它们目前分别面向挂件和角色,后续应提取静态场景入口,不能直接把 HomeCamp 当角色或 T2 挂件发布。
|
||||
|
||||
## 初始布局(模型验收后微调)
|
||||
|
||||
坐标为 Unity 世界坐标,单位米;相机从 -Z 看向 +Z,建筑正面局部 -Z 朝向广场。物件实际 Y 由地表碰撞向下投射确定,清单 Y=0 只是布局参考。
|
||||
|
||||
| 对象 | 初始 X/Z | 尺寸参考 | 朝向 |
|
||||
| --- | --- | --- | --- |
|
||||
| Ground | 0 / 0 | 连续 36×42m,前侧为 -Z 草地 | 地表顶面朝 +Y |
|
||||
| MainHouse | 0 / 7.2 | 高约 6.5m | 门朝广场中央 |
|
||||
| HouseLeft | -7.5 / 4 | 主屋缩小至高约 4m | 门朝中央略内转 |
|
||||
| HouseRight | 7.5 / 4 | 同一主屋 Prefab 复用 | 门朝中央略内转 |
|
||||
| Fountain | 0 / 0.8 | 池直径约 4.5m、高约 2.3m | 旋转对称 |
|
||||
| Bench / Lamps / Trees | 广场边缘 | 复用既有组件 | 避让门口和中央活动区 |
|
||||
|
||||
相机初始位置 `(0, 15, -27)`,看向 `(0, 1.8, 3)`,透视 FOV 48°。最终以 1080×1920 对照背景调构图,保证中央喷泉、后方主屋、左右侧屋和前景草地可辨识;长屏额外检查上下裁切。
|
||||
|
||||
## 远景面片
|
||||
|
||||
`backdrop.png` 已绘制独立湖泊/瀑布/城堡远景,禁止把整张含广场背景直接贴在后面造成重复房屋和喷泉。
|
||||
|
||||
通过 Unity Pipeline 创建并保存 Quad + Unlit 材质,放在近景后方,调整面片位置、尺寸与 UV,使竖屏视锥内右侧城堡和瀑布均可见;不把横图直接居中裁掉右侧地标。不加碰撞、不投影、不受近景灯光二次照明。用两侧树冠及后排屋顶遮住底部衔接边,保持相机固定;首版不增加天空盒和复杂视差层。
|
||||
|
||||
## Unity 交付与验收
|
||||
|
||||
- 资产计划目录:`AIClient/Assets/Bundles/Scenes/Town/HomeCamp/`。
|
||||
- 中间件:`Tools/output/homecamp_3d/`、`Tools/output/homecamp_studio/`。
|
||||
- 目标:组件 Prefab、`HomeCamp.prefab`、独立 `HomeCamp.unity` 及竖屏验收截图。
|
||||
- 所有导入、材质、碰撞体、Prefab 和场景制作走 Unity Pipeline,不直接改 `.meta/.unity/.prefab/.mat`。
|
||||
- 地表使用非凸 MeshCollider,验证贴地、门口可达、模型穿插和喷泉池遮挡。
|
||||
- 场景和面片在编辑器持久化,不用运行时代码临时拼业务场景。
|
||||
- 图片登记到 `Doc/ResDesc_Picture.md`;模型实际产出后再登记 Model,不能提前声称模型完成。
|
||||
|
||||
## 当前状态
|
||||
|
||||
用户已明确回复“确认授权上传”,授权向 `https://3d.hunyuan.tencent.com/` 上传四张近景分件图及其衍生模型,执行网页高模、Studio 低模与 UV 处理。此前的审批拦截已因新增明确授权解除。
|
||||
|
||||
四个 50k 档高模及 Studio 低模/UV、Blender 烘焙、条件减面均已执行;任务号、哈希、实际面数和逐步回执记录到 `homecamp_scene_manifest.json` 及各组件 `production.json`。
|
||||
|
||||
Studio GLB 在法线和 UV 接缝处拆分顶点,直接减面会删除碎片。新增 `bl_decimate_homecamp_uv.py` 先焊接重合几何顶点、校验逐面 UV 仍保留,再减面;`bl_repair_homecamp_surface.py` 统一面朝向,不生成新 UV。最后对保留 UV 的最终低模补同源投射烘焙。主屋/喷泉最终 1981/1795 面;侧屋预算从1800改为3000,最终2995;地表保留8303面并以6500预算的130%容差跳过减面。旧预算尝试回执保留,不能把它们当最终通过结果。
|
||||
|
||||
侧屋和 Studio 地表仍有表面瑕疵,**仅保存制作/审核资产,没有摆入交付场景**。交付场景采用通过外观检查的主屋三实例和喷泉,地表用连续顶面编辑收尾。`Test/HomeCampXPbr` 是项目 XPbr 的独立双面版本,仅供 HomeCamp 材质使用,未修改原 XPbr Shader。
|
||||
|
||||
场景静态入口为 `Tools/homecamp_model_pipeline.py --part <ground|mainhouse|cottage|fountain>`,使用 `D:/UD/AI/XModel/LLM3DGraphics/.venv/Scripts/python.exe` 运行。每件资产的五步回执位于 `Tools/output/homecamp_studio/<part>/production.json`;重复执行校验来源与配置并复用已完成阶段。
|
||||
|
||||
Unity 入口为 `AIClient/AgentScripts/BuildHomeCamp.cs`:`BuildAssets` 导入和制作组件,`CaptureParts` 四向验收,`Build` 持久化拼装并渲染两种竖屏尺寸,`Verify` 验证面数、XPbr、地表碰撞与无碰撞的 Unlit 远景。通过 Pipeline 的 `run_script` 执行,构建用 Additive 临时场景并恢复原场景;初始 `Boot.unity` 没有未保存编辑。
|
||||
|
||||
## 首版交付与验证结果
|
||||
|
||||
- 场景:`AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp.unity`。
|
||||
- 总 Prefab:同目录 `HomeCamp.prefab`;31处布局记录见 `Tools/output/homecamp_review/assembly.txt`。
|
||||
- 标准竖屏与长屏截图:`Tools/output/homecamp_review/homecamp_portrait.png` / `homecamp_tall.png`。
|
||||
- 验证:`Tools/output/homecamp_review/verification.txt`,实际拼装 **9987 三角面**,连续地表 **25/25** 射线采样通过,远景 Unlit、无碰撞、不投影;独立场景未加入 Build Settings。
|
||||
- Pipeline 制作脚本编译无诊断;基于本轮起始 cursor=382 查询 Console,未新增 error。Boot 场景仍为 `dirty=False`。
|
||||
- 当前交付是固定相机静态场景,尚未替换首页背景或接入角色行走;未构建或发布 Art/Player,未做真机性能验收。长屏会裁掉部分边缘房屋/远景,正式首页接入时仍需按机型调整相机。
|
||||
Reference in New Issue
Block a user