Files
AIGame/Doc/Design/Scene/HomeCamp/Production.md
T

8.7 KiB
Raw Blame History

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,未做真机性能验收。长屏会裁掉部分边缘房屋/远景,正式首页接入时仍需按机型调整相机。