Replace TownSquare with HomeCamp art and land humanoid bots, LittleBear, and LmGirl review assets.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
udx
2026-11-03 20:33:08 +08:00
co-authored by Cursor
parent 45e62132c8
commit 9eec364f30
838 changed files with 57978 additions and 12225 deletions
+131 -14
View File
@@ -9,18 +9,6 @@
| 资源路径 | 简要说明 |
| --- | --- |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/TownSquare.prefab` | 小镇广场拼装体;Pipeline `BuildTownSquare.Run`;运行时地址 `TownSquare`;物件 Y 取地表碰撞高度 |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/TownSquare.unity` | 可进游戏的广场场景(相机约 28° 俯斜 + 方向光) |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/ground/` | 广场地表;减面 800;XPbr;Prefab 带非凸 MeshCollider |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/shop/` | 红顶店铺;减面 1797;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/tree/` | 树;减面 1498;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/lamp/` | 路灯;减面 500;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/board/` | 告示牌;减面 800;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/fountain/` | 两层喷泉;减面 1798;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/bench/` | 长椅;减面 699;XPbr |
| `AIClient/Assets/Bundles/Scenes/Town/TownSquare/bush/` | 灌木花箱;collapse 卡住后体素重网格,减面 436;XPbr |
| `Tools/output/townsquare_3d/` | TownSquare 混元高模 GLB(不进 Bundle) |
| `Tools/output/townsquare_game/` | TownSquare 减面/烘焙中间输出(不进 Bundle) |
| `Tools/output/caocao_3d/caocao.glb` | 曹操混元高模(约 5 万面,不进 Bundle) |
| `Tools/output/caocao_game/` | 曹操减面/烘焙/XPbr 中间输出(不进 Bundle) |
| `AIClient/Assets/Bundles/Characters/Human/CaoCao/` | 人物 CaoCao;Pipeline `SetupCharacter.SetupCaoCao`;运行时地址 `CaoCao` |
@@ -450,10 +438,45 @@ Kimodo 动作的休息姿势。从 Kimodo 行走 BVH 的 OFFSET 取出,单位
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/ground/` | 8303面Studio地表;预算调整后在130%容差内跳过末级减面,表面仍未通过目视,只保留审核,未用于交付场景。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/GroundSurface.asset` / `GroundSurface.prefab` | 五步后的编辑收尾:Pipeline制作并持久化2三角面连续地表,36×42m、非凸MeshCollider;正俯视地表贴图另绘,非原Studio UV。25/25地表射线通过。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/{backdrop,tree_card,flower_card}.{png,mat}` | 湖泊/瀑布/城堡远景与透明树木/花边图片面片,Pipeline导入和保存;Unlit、无碰撞、不投影。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp.prefab` / `HomeCamp.unity` | Pipeline持久化独立场景与总Prefab,31处布局;实际拼装9987三角面。复用旧TownSquare路灯/长椅;旧树/灌木因黑斑未使用。未加入Build Settings,尚未接入首页或真机性能验收。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp.prefab` / `HomeCamp.unity` | Pipeline持久化独立场景与总Prefab,31处布局;实际拼装9987三角面。复用Common路灯/长椅;旧树/灌木因黑斑未使用。未加入Build Settings,尚未接入首页或真机性能验收。 |
工具:`Tools/homecamp_model_pipeline.py`、`Tools/model_tools/bl_decimate_homecamp_uv.py`、`bl_repair_homecamp_surface.py`、`AIClient/AgentScripts/BuildHomeCamp.cs`。中间件 `Tools/output/homecamp_studio/{ground,mainhouse,cottage,fountain}/`;验证 `Tools/output/homecamp_review/verification.txt`。与源模型同名的`.meta`/材质由Unity生成,无手写Unity序列化资源。
### HomeCamp v2 美术精修(2026-10-28)
按 `Doc/Design/Scene/SceneReviewGeneration.md` 阶段 5 重做光照与材质,未新增模型分件。全部由 `BuildHomeCamp.BuildLookDev` → `Build` → `Bake` 经 Unity Pipeline 生成,参数见 manifest `lookDev`。技术验收 TECH PASS,美术六轴评分未达标(ART FAIL,见 `qa.artReview`)。
| 路径 | 用途、来源与状态 |
| --- | --- |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/ground_terrain.mat` | 地表材质,使用 XWorld/XTerrain,石板层和草地层由控制图混合,石板 3.2m 重复一次;接收阴影,不投影。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/GroundSurface.asset` / `GroundSurface.prefab` | 更新为 42×42m、2 三角面,加 uv2 供光照图使用;非凸 MeshCollider,地表射线 25/25 通过。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/{tree_card,flower_card}.mat` | 由 Unlit 改为 Simple Lit AlphaClip 0.55,投影并接收阴影。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCampVolume.asset` | 全局后处理:Neutral 色调映射、曝光 −0.05、对比度/饱和度 +12、色温 +6、Bloom 0.3、暗角 0.18。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCampLighting.lighting` | 光照烘焙设置:Subtractive、GPU 渐进烘焙、每米 10 texel、最大 1024、非方向性、AO。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp/` | 烘焙产物:LightingData、1 张光照图、反射探针;烘焙 25 秒。喷泉自动生成的第二 UV 有 436 texel 重叠,画面未见瑕疵,记为已知问题。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/review_scale.mat` | 1.6m 灰色比例胶囊用材质,只在审核场景中使用(默认隐藏,不在 Prefab 内)。 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp.prefab` / `HomeCamp.unity` | 58 处布局,拼装后 11236 三角面:右侧房屋改为镜像实例,新增 2 棵树、1 盏路灯、1 张长椅,24 处花丛;Mixed 主光、三色环境光、线性雾、全局 Volume,静态物体已烘焙。 |
| `AIClient/Assets/Bundles/Shaders/XShader/{XTerrain,HomeCampXPbr}.shader` | ForwardLit Pass 增加 `#pragma multi_compile_fog` 以支持场景雾;共享 XPbr 未改动。 |
`BuildHomeCamp.cs` 新增 `BuildLookDev`、`Bake`、`Capture`、`BuildProps`、`CaptureProps` 入口,审核图见 `Tools/output/homecamp_review/`。
### HomeCamp v2 B/C 道具(2026-10-28)
用户授权后经混元网页 50k → Studio 低模/UV → Blender 烘焙与条件减面;`BuildHomeCamp.BuildProps` 导入 XPbr Prefab。根节点绕 Y 180° 以适配场景 +Z 正面。三盆 `flowerpots` 组合因减面丢面积放弃,拆为单盆 `flowerpot` 多实例。
| 路径 | 用途与面数 |
| --- | --- |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/fence/` | 木栅栏段,1055 面 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/stall/` | 黄白遮阳水果摊,2500 面 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/flowerpot/` | 单盆陶盆绿植,799 面;场景内约 10 实例成簇 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/rocks/` | 苔藓石堆,600 面 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/steps/` | 石台阶,1198 面 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/cypress/` | 柏树,1500 面 |
| `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/bush/` | 圆灌木(v2 简化叶团),1800 面 |
| `HomeCamp.prefab` / `HomeCamp.unity` | 更新为 87 处布局、47489 三角面;TECH PASS,ART FAIL(材质 3) |
回执 `Tools/output/homecamp_studio/<part>/production.json`;四向审核 `Tools/output/homecamp_review/props_sheet_all.png`。
## Unity 角色动画对比观看场景(2026-10-23)
- 独立场景:`AIClient/Assets/Review/CharacterAnimationLab/CharacterAnimationLab.unity`;整套展示 Prefab:同目录 `Generated/CharacterAnimationLab.prefab`。通过 Unity Pipeline 制作并保存;菜单 `Tools/Characters/Open Animation Comparison` 打开后 Play。未接入首页或修改 Build Settings。
@@ -491,4 +514,98 @@ Kimodo 动作的休息姿势。从 Kimodo 行走 BVH 的 OFFSET 取出,单位
### 五步 Studio 流程的 FBX 收尾回归资源(2026-10-24)
- `Tools/output/lmgirl_tpose_studio/axis_pipeline_audit/production/`:隔离复制最终 `model_ex.glb` 与五通道图,经真实 `bl_prepare_studio_trial.py` → `bl_convert.py` 收尾,得到 `static/LmGirlTpose.fbx`、`xpbr/LmGirlTpose.fbx`。两者 4205 顶点/4999 三角面,完整场景默认重新导入均站立;FBX 节点旋转 0/缩放 1,UV 不变。用于修复验收,未覆盖历史原件及 Unity 已绑定模型。
- `Tools/output/lmgirl_tpose_studio/axis_pipeline_audit/regression/{boy_from_glb,girl_from_glb,girl_repeat_1,girl_repeat_2,girl_from_legacy}.fbx`:共用导出器的双角色、旧版输入和重复转换回归;男孩 3698 顶点、女孩 4205 顶点。原点均为脚底中心、UV 保留、位置往返误差小于 0.00000009m;同目录 results.json 记录验收。
- `Tools/output/lmgirl_tpose_studio/axis_pipeline_audit/regression/{boy_from_glb,girl_from_glb,girl_repeat_1,girl_repeat_2,girl_from_legacy}.fbx`:共用导出器的双角色、旧版输入和重复转换回归;男孩 3698 顶点、女孩 4205 顶点。原点均为脚底中心、UV 保留、位置往返误差小于 0.00000009m;同目录 results.json 记录验收。
### LmGirl 原路径静态 FBX 重新生成(2026-10-24)
- 按用户要求,使用修正后的 v2 导出器从最终 `model_ex.glb` 重新生成并覆盖 `Tools/output/lmgirl_tpose_studio/static/LmGirlTpose.fbx`。4205 顶点/4999 三角面,UV hash `6359447fc86be05dacaeab6661341633e97c5b84643681fcf5449b190668dff4` 不变;场景 Y-up、节点旋转 0/缩放 1。默认重新导入在 Blender Z-up 世界中竖直站立、脚底中心原点误差小于 0.000001m,身高 1.174174m。新 FBX SHA256 `f424d6121f03134272b77b4f1b161889cf7133e8f6e65e7861ba7e916e918193`。
- 旧错误 FBX 与旧导出回执已保存在 `Tools/output/lmgirl_tpose_studio/axis_pipeline_audit/legacy/{LmGirlTpose.fbx,static_export.json}`,供历史对照;先前“原件不覆盖”的记录现由本条用户授权的重新生成取代。现有 Unity 绑定模型和 XPbr 目录未修改。
### 小男孩静态 FBX 轴向修正并原路径重导(2026-10-24)
- `Tools/output/campguide_studio/static/CampGuideStudio.fbx`:按用户要求,从最终 model_ex.glb 经共用 v2 导出器重新生成并覆盖。3698 顶点/3000 三角面,UV hash `1556e0235295cd8822f0fc427d88066624efb4493c53c5a715fd2744fb6dc9b8` 保留;Y-up、FBX 节点旋转 0/缩放 1,完整场景默认重新导入为站立,身高 1.1348386m,脚底中心误差小于 0.00000008m。新 FBX SHA256 `3090095ba100ea2ce4bc20ea1cedb81acc7f0c0dd109a9637f09380feda67c6b`。
- 旧 FBX 与导出回执备份在 `Tools/output/campguide_studio/axis_pipeline_audit/legacy/{CampGuideStudio.fbx,static_export.json}`;旧文件被轴向验收拒绝,确认与女孩相同的额外节点旋转问题。此次仅重导静态输入,未修改 Unity 的网站绑定模型、骨架和动画。
### 朝向描述更正:腾讯原高模与当前静态 FBX(2026-10-24)
- 双侧带纹理渲染确认:CampGuideStudio 与 LmGirlTpose 的腾讯原始高模和当前 `Tools/output/{campguide_studio,lmgirl_tpose_studio}/static/*.fbx` 的解剖正面均为 Y-up 场景坐标的 **+Z**,不是此前登记中声称的 -Z。当前 FBX 保留高模朝向,v2 修复的是横躺与额外 X 旋转,没有进行水平 180° 正面校准;项目 -Z 正面验收尚未通过。此条更正此前相关 -Z 表述。
- 原始高模与各 Studio 目录 model.glb 的 SHA256 一致,结论来自高模/最终 FBX 同侧相机的正背面贴图渲染。本轮未旋转或重新写出 FBX。比较回执 `Tools/output/character_front_audit/comparison.json`;两角色 static_export/mesh_receipt 的 fbxAxes 已补 anatomicalFront=+Z、projectFrontConforms=false。
### +Z 项目标准生效(2026-10-24)
- 用户指定项目正面改为局部 +Z。CampGuideStudio 与 LmGirlTpose 当前静态 FBX 的实际 +Z 正面现已符合新约定,无需绕Y翻转;先前“未满足项目-Z”的结论仅适用于旧标准。两份 FBX 文件内容与哈希保持不变。
- 其它历史登记中的 -Z 描述是资产自身旧绑定空间,保留兼容;没有把旧网格、骨架、动作和已有场景批量迁移。当前规则入口 `Config/Art/ModelConvention.json`,验证回执见 `Tools/output/character_front_audit/project_convention_validation.json`。
### 女孩 TokenRig 局部约束版 FBX(2026-10-25)
- `Tools/output/lmgirl_tpose_studio/rig_mixamo41/fbx/LmGirlTokenRig.fbx`:由同目录上级 `lmgirl_local.glb` 导出,41骨、4999三角面、最多4骨影响;保留原GLB层级、网格、UV、局部约束版权重,不使用网站权重、不重新推理。源GLB没有材质,按原UV恢复静态角色color/normal/roughness/metallic并嵌入FBX。导出FBX SHA256为 `39efe941a530f706a3108873364e05f150ba3e0e06444188125d1a9cf2c19ce8`。
- Unity正式导入副本 `AIClient/Assets/Bundles/Characters/Human/test/girl_tokenrig/LmGirlTokenRig.fbx`:Humanoid/Create From This Model,有效LmGirlTokenRigAvatar;Y-up、底面中心、局部+Z正面、米制,导入根旋转0/缩放1。材质同目录 `LmGirlTokenRig.mat`,Test/XPbr,纹理引用本目录独立副本。未覆盖网站girl模型、历史评审资产或用户场景。
- Blender往返4207顶点,Unity因角点法线/UV拆分为4216顶点,三角面4999不变;几何误差<0.000000232m,骨头位置误差<0.000000368m,权重误差<0.000000299,UV和层级保持。实际Man.controller共享Walking、Foot IK开启,125点采样无脚踝交叉,间距9.65~13.30cm。FBX仅绑定静态姿势,不内置动作;角色Animator使用自己的Avatar,Walking仍使用其男孩源Avatar。
- 回执 `Tools/output/lmgirl_tpose_studio/rig_mixamo41/fbx/{export_verification,unity_validation}.json`;此处只验收当前Walking与脚踝排序,不承诺其他动作、鞋面碰撞、接地零滑步。
## 人形小熊 LittleBear 高模(2026-10-26)
- `Tools/output/littlebear_3d/littlebear.glb`:由 `Doc/Design/Character/LittleBear/littlebear_tpose.png` 经混元官网图生3D、50k档生成的原创人形小熊高模,中间件不入正式包。任务 `99750b85df0c4086a96a3fb93e06d81e`。后续走Studio低模/UV、1024²烘焙和固定Mixamo骨架+TokenRig只预测权重;本条只登记已生成高模,不表示蒙皮与Unity验收已完成。
## 人形小熊 LittleBear 完整资源(2026-10-26)
- `AIClient/Assets/Bundles/Characters/Human/LittleBear/`:原创棕色双足人形小熊,3000三角面、1024² XPbr,展示身高1.2m;Y-up、脚底中心原点、局部+Z正面,导入根旋转0/缩放1。`LittleBear.prefab` 为动画角色,`LittleBear_Static.prefab` 为T-pose静态版本;含静态/蒙皮FBX、材质、base/mix贴图、独立控制器与验收地面材质。
- 制作:标准正交T-pose图→混元官网50000面高模→Studio低模/UV 5813面→Blender1024五通道烘焙→保留UV减到3000面。按小熊体型拟合现有Mixamo41骨,TokenRig仅预测权重;恢复原骨名、层级、骨轴及休息矩阵,做头部/熊掌/四肢局部清理和裆部连续过渡。未使用参考模型网站权重。
- `Tools/output/littlebear_studio/rig_mixamo41/{prepared.blend,source.glb,rigged_raw.glb,LittleBear_Rigged.blend,LittleBear_Rigged.glb,LittleBear_Rigged.fbx}`:固定骨架输入、原始预测、收尾及导出中间件。1930顶点、41骨、最多4影响;FBX往返几何误差<0.00000024m、骨位置误差<0.00000028m、权重误差0,UV与父子层级保持。
- `AIClient/Assets/Bundles/Scenes/Review/LittleBearReview.unity`:独立验收场景。两个Prefab已追加到角色验收manifest;独立导入、Avatar、250点动作采样及Motion切换通过。总清单ValidateOnly遇到已有CaoCao.prefab缺失,未重建总览场景。当前仅验证Idle/Walk,未运行Play Mode或接入业务。
- 复现工具:`Tools/littlebear_character_pipeline.py`、`Tools/model_tools/bl_littlebear_rig.py`、`Tools/run_littlebear_tokenrig.py`、`AIClient/AgentScripts/BuildLittleBear.cs`。完整来源、哈希、验收和限制见 `Doc/Design/Character/LittleBear/production_receipt.json`。
## 公共场景组件与测试清理(2026-10-26)
| 路径 | 用途与来源 |
| --- | --- |
| `AIClient/Assets/Bundles/Scenes/Common/lamp/` | HomeCamp 在用路灯,500 三角面、XPbr;从已退役测试内容经 Unity Pipeline 整目录迁移,保留 FBX/贴图/材质/Prefab GUID 与依赖。原资源按旧模型流程生成,本次未重生成。 |
| `AIClient/Assets/Bundles/Scenes/Common/bench/` | HomeCamp 在用长椅,699 三角面、XPbr;同上迁移并保留引用。 |
TownSquare 的总场景、总 Prefab 和其余专用模型、设计图、生产中间件及工具已按要求删除;原测试场景不再作为可用资源登记。新场景组件默认流程见 `Doc/Design/Scene/SceneModelProduction.md`。
## Bot 共享动作测试资源(2026-10-26)
- `AIClient/Assets/Bundles/Characters/Human/Common/Prefabs/{XBot,YBot,XBot25,XBot41}.prefab`:Unity Pipeline基于现有同名FBX创建的可复用人形Prefab,各用自身有效Humanoid Avatar。XBot/XBot25/XBot41共用XBot.controller,YBot使用YBot.controller,Root Motion关闭。25/41骨源模型的单位差异由Prefab根约99.3倍均匀缩放适配,不改原模型与蒙皮。
- `AIClient/Assets/Review/BotAnimationLab/BotAnimationLab.unity`:独立四角色2×2动作测试场景,全部角色、机位、平台、灯光和UI均离线制作并保存;当前测试菜单与打开场景使用本入口,原LmGirl对比内容保留。场景统一展示高度1.6m,含单角色聚焦和手部放大。
- `AIClient/Assets/Review/BotAnimationLab/Generated/*.mat`:Pipeline创建的四角色彩色/关节深色、统一灰模和地面预览材质,仅供测试场景,不覆盖源模型材质。
- 配置、骨映射、动作验证与生成入口见 `Doc/ResDesc_Animation.md`「Bot 动作测试与25/41骨共享控制器」及 `Tools/output/bot_animation_lab/`。
### lm_bear 肩部黑影隔离烘焙试验(2026-10-27)
- `Tools/output/bake_quality_audit/{legacy,adaptive}/model_baked.glb`:同一LLM3D任务 `15c1acb655d14f2c876bf6fbfbd047b6` 的50000面高模、5177面Studio低模和原UV进行隔离重烘;两版均取消烘焙后法线偏置,cage分别约0.06014m/0.007156m。均为诊断中间件,不替换原任务或游戏模型。
- `Tools/output/bake_quality_audit/strength035_review/normal_strength_preview.glb`:原已烘焙低模仅将Normal Map Strength调为0.35后重新导出的临时预览,几何和UV不变。肩颈/腿间黑块明显减轻,但微表面细节也减弱;不是已修复投射问题的正式生产模型。
- 原高模、原任务产物、共享后端脚本保持不变。检查和受控试验入口 `Tools/model_tools/bl_audit_bake_quality.py`、`bl_trial_studio_bake.py`;完整证据、推荐方案和限制见 `Tools/output/bake_quality_audit/findings.json`。
### HomeCamp v2 草地打散(2026-10-28)
- AIClient/Assets/Bundles/Scenes/Town/HomeCamp/ground_tile_grass_dark.png 与更新后的 ground_control.png / ground_terrain.mat:XTerrain 第 2 层深绿斑块;房屋下沉、阴影柔化后重烘焙。ART PASS。
### HomeCamp cottage v2 遮阳棚侧屋(2026-10-28)
- `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/cottage/`:v2 重跑五步产物,3500 面 XPbr;场景内作为 `HouseLeft`,替代主屋左实例。旧 v1 中间件已归档。
### HomeCamp DGX 阔叶树与花丛(2026-11-03)
- `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/shadetree/`:糖果风阔叶树,1999 三角面、1024² XPbr。DGX Hunyuan3D 2.1 任务 `d3ab9669392d47b3920a8270fd18aaff`,本地减面烘焙;Y-up、底面中心、局部 +Z。首版导出横躺,已离线绕 X 扶正后再导入。竖屏水平视角约 29°,`|x|>=11` 的旧卡片位在画面外。现只留 `TreeBackLeft`(-5.6, 10.4,高 6.2)和 `TreeBackRight`(6.2, 9.6,高 5.7),朝向不同。屋后更远的两张树卡片仍在。
- `AIClient/Assets/Bundles/Scenes/Town/HomeCamp/flowercluster/`:贴地白花黄花丛,794 三角面、1024² XPbr。DGX 任务 `9f17c8eb580944e08d85038a843b70f8`。近景草地 `ClusterNearL`、`ClusterNearR`、`ClusterPathL`、`ClusterPlaza` 四处直立;喷泉环 `FountainCluster0`–`5` 六处把正面(+Z 花瓣)朝向镜头。花瓣是低模块面,侧面比正面更碎。广场其余花边仍是卡片。
- 中间件:`Tools/output/homecamp_dgx/`、`Tools/output/homecamp_studio/{shadetree,flowercluster}/`。回执 `production.json`。静物未绑骨。Unity `BuildHomeCamp.BuildProps` → `Build` → `Bake`(29 秒,1 张光照图)。
### 孤立残留资产清理与模型校验修复(2026-11-03)
- 孤立资产清理:通过 Unity Pipeline delete_asset 正式移除无任何引用的 9 月底测试残留目录 AIClient/Assets/Bundles/Characters/Animal/rhino/ 及其对应元数据。
- 基础角色 Prefab 恢复:通过 install_character_bundles.py 与 SetupCharacter.SetupCaoCao / SetupLmGirl 重新安装并生成 AIClient/Assets/Bundles/Characters/Human/CaoCao/CaoCao.prefab 与 AIClient/Assets/Bundles/Characters/Human/LmGirl/LmGirl.prefab,使 Doc/Design/Character/character_unit_review_manifest.json 覆盖的全部 27 个角色单元校验全部通过(PASS subjects=27)。
### HomeCamp 场景道具减面与 Shader 实例化优化(2026-11-03)
- AIClient/Assets/Bundles/Shaders/XShader/HomeCampXPbr.shader:ForwardLit Pass 补充 #pragma multi_compile_instancing,打通 URP 前向光照通道的 GPU 实例化变体。
- AIClient/Assets/Bundles/Scenes/Town/HomeCamp/{bush,flowerpot,cypress,fence}/:
- ush 减面至 648 面、 lowerpot 减面至 279 面、cypress 减面至 800 面、 ence 减面至 450 面,全部保留原始 UV 和烘焙纹理映射;
- 材质全面开启 enableInstancing = true;
- 贴图上限设为 512 且开启纹理压缩。
- AIClient/Assets/Bundles/Scenes/Town/HomeCamp/HomeCamp.prefab / HomeCamp.unity:
- 拼装三角面降至 44,381 面;光照贴图重新烘焙(28秒),TECH PASS。
### 通用 XPbr 着色器合批与雾效补全(2026-11-03)
- AIClient/Assets/Bundles/Shaders/XShader/XPbr.shader:ForwardLit Pass 补全 #pragma multi_compile_fog 与 #pragma multi_compile_instancing,打通 URP 前向通道的雾效变体与 GPU Instancing 变体支持,使全工程通用角色与静态资产支持场景雾融合与批量硬件合批。