Add formal enemies, remaining formal partners and synthesized UI SFX
- UI SFX v3: procedurally synthesized one-shots (Tools/synth_ui_sfx.py) wired to buttons, rewards, errors and red dots via UiSfx, gated by the SFX setting. - Five formal enemies (Hornlet, Dashlet, Shellhorn, HornCaptain, GreatHorn): Hunyuan 50k -> 2000-tri XPbr, DGXA TokenRig, Idle/Walk/Attack, nested per type in PrototypeArena; PrototypeBattle.Enemy gains presentation-only Moving/Strikes. - Formal partners for all ten pets in the arena and portraits, including new VineSprite, ThunderLeopard and TideWhale. - Pipeline fixes: reject local TokenRig fallback, drop loose mesh islands, configurable Unity run_script timeout, companion static stage. - Also includes concurrent work from another tool in this working tree (FlameLion, enemy combat FX, challenge mode, home explorer, server updates). - Resources registered in Doc/ResDesc_*.md; verified on isolated :18081. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -281,3 +281,51 @@ UI按双列/双行重排:伙伴、捕捉、背包材料、营地休息区为2
|
||||
### 主界面音乐选用与接入(2026-10-20)
|
||||
|
||||
用户确认《微风小镇》作为主界面BGM。84秒OGG通过独立 `MainMenuMusic.prefab` 接入,Prefab和AudioSource由Pipeline持久化制作、Art/Sound收集,运行时经YooAsset异步加载。菜单循环播放,设置中的音乐开关独立暂停/续播,音效关闭不影响已开启的音乐;战斗/弹珠页暂停、返回菜单续播,应用后台暂停。Boot实播验证循环、三轮开关、菜单往返不叠音、弹珠暂停和偏好恢复通过,编译及本轮新增错误检查通过。素材和回执见 `Doc/Design/Sound/MainMenuSoft/ProductionBrief.md` 与 `Doc/ResDesc_Sound.md`;未构建或发布,微信音频解锁待真机验收。
|
||||
|
||||
## 正式伙伴接入战斗(2026-10-20)
|
||||
|
||||
岩团团、火喵、芽芽三只已验收的正式伙伴替换了 `PrototypeArena` 的 Hero0~2 几何简模,肖像 `proto_pet_0~2` 也改为从正式模型渲染。正式模型嵌套在 `Visual` 子节点,统一缩放到 1.5 单位高,T2 仍沿用冠饰和 1.2 倍体型。`PrototypeFlow.RefreshBattle` 在伙伴普攻、治疗或施放技能时触发 Animator 的 `Attack`,暂停或结束时动画速度为 0,二倍速时为 2。正式模型不再做原型的上下弹跳和缩放脉冲;Hero3~9 仍是简模,表现不变。
|
||||
|
||||
顺带修复两处已提交的问题。一是十伙伴扩容后,`StartBattle` 仍按 `stages.Length == 5 ? 3 : 1` 构造战斗快照:10 只伙伴得到 schema1,`PrototypeGame` 校验抛出"服务端存档无效",所有关卡都无法开战。现改为 `PrototypeSave.BattleSnapshot`,按伙伴数量补齐各 schema 的必需字段,与 `VerifyProgression` 的回放快照规则一致;它只用于表现,不参与结算。二是十伙伴批次的 `BuildPrototype.Build` 全量重建冲掉了已嵌入的 Greenfield 战场。本次已重新执行 `AttachGreenfield.Build`,并让 `MakeArena` 在全量重建时自动嵌入 Greenfield。
|
||||
|
||||
验证:`VerifyFormalHeroes.Assets`、`VerifyBattlefield.Assets` 和 `AttachGreenfield.Verify` 通过。在独立的 18081 服务(`Tools/output/formal_heroes/test.db`)上用新账号实际点击,走通 1-1 开战:岩团团和火喵在绿野战场上显示并播放 Attack,切换二倍速后 Animator 速度为 2;截图为 `formal_heroes_idle/attack.png`。真实开发账号已还原,钱包、发射数、等级与快照一致;18081 服务已关闭,8080 开发服健康。Unity 已退出 Play 并恢复原 Game View,本轮无新增 Console 错误。芽芽的战斗表现只做了资产检查,新账号的 1-1 不会让它上场。未构建 Player 或上传 CDN。
|
||||
|
||||
UI 音效暂未接入:10 条 TangoFlux 音效中,9 条是持续 1.5~2.5 秒的声音,`Ui_Open` 前 1.36 秒为静音,不适合直接作为按钮音,需要先裁剪或重新生成。
|
||||
|
||||
### UI 音效接入(2026-10-21)
|
||||
|
||||
UI 音效换成 v2 一次性短音效(0.12~0.8 秒)并接入运行时。`UiSfx.prefab` 与主界面音乐一同加载,受设置里的音效开关控制。按钮按名称分类:返回/关闭→Close,取消类→Back,页签→Tab,开关→Toggle,其余→Click。首页入口播 Open,服务端确认后:领奖/捕捉/开箱/首通→Claim,训练/进化/购买/营地操作→Confirm,布阵→Toggle,被拒绝或断线→Deny,首页新出现红点→Notify。`VerifyUiSfx` 在隔离 18081 账号上实际点击验证通过,真实账号与偏好已还原。生成、选择与触发表详见 `Doc/Design/Sound/UiSfx/ProductionBrief.md`。听感待人工试听。
|
||||
|
||||
- 2026-10-21 UI 音效 v3:clip 换成 `Tools/synth_ui_sfx.py` 程序化合成的木琴、钟琴和气泡音,风格清脆轻松;播放代码和触发映射不变,Prefab 已重建。
|
||||
|
||||
- 2026-10-21 岩甲犀(pet 5)接入战斗与肖像,正式伙伴为 0/1/2/5;其余仍为简模。实战验收用隔离库种子账号(stages[5]=1、formation=[0,5]),见 `VerifyFormalHeroes.PlaySeeded`。
|
||||
|
||||
- 2026-10-21 闪闪雀(pet 3)、泡泡龟(pet 4)接入战斗与肖像。正式伙伴现为 0/1/2/3/4/5,Hero6~9 仍是简模。`VerifyFormalHeroes.Assets` 确认六只脚底 y=0.00、身高 1.50、第 30 层、带 Animator。隔离 18081 种子账号阵容为泡泡龟前排、闪闪雀后排(龟的普攻距离是 2,放后排打不到),1-1 中两只都播放 Attack 并跟随二倍速。真实账号已还原。截图 `formal_heroes_bird_turtle_idle.png`、`_attack.png`。
|
||||
|
||||
- 2026-10-21 主界面底图去掉绘制的探险者、猫咪和对话框,备份为 `Doc/Design/UI/Home/home_camp_with_cast.png`。简模 `ExplorerSimple` 在广场中央来回走,点击后才出现随机台词。常驻问候条默认关闭。`VerifyHomeExplorer.Play` 通过。截图 `home_explorer_walk.png`、`home_explorer_talk.png`。
|
||||
|
||||
## G3 经济样例、引导与失败建议(2026-10-21)
|
||||
|
||||
按 `GameDesign` 8.2 与 14.1,先做不依赖微信真机的三块。
|
||||
|
||||
`Tools/economy_sample.py` 读取 `greenfield.json`,写出 `Doc/Design/G3/EconomySample.md`。首日、七日和卡在 1-5 前三条轨迹都不计自然恢复。设计稿 8.2 已改成现行数字:前五关首通 17 枚,10 发金币均值 520,不计自然恢复的该项合计是 67 枚。训练到 Lv.5、进化金币都能靠弹珠台均值补上,碎片差 30,是卡关时更慢的一项。
|
||||
|
||||
首页教学目标按首日顺序提示:发射、用券捕捉芽芽、共享训练、布阵打 1-1、领取目标。弹珠不足时同时指向自然恢复、每日任务、签到和免费补给。战斗失败在原关卡提示下追加建议:克制伙伴是否上阵、训练等级是否低于建议、开放路线是否空着。胜利用原结算文案。
|
||||
|
||||
性能预算写在 `Doc/Design/G3/PerformanceBudget.md`。画质三档沿用现有设置。未构建 Player,未测微信帧率、内存和主包体积。
|
||||
|
||||
`VerifyG3.Domain` 核对首日引导五步文案。`VerifyG3.Play` 在隔离 18081 新账号上确认首页显示「发射第一枚弹珠」,1-1 放弃后结算含失败建议。流畅档 90 帧平均 55.3 FPS,同屏伙伴 2、敌人 1,最长帧 143.68 ms。这是编辑器诊断,不是微信验收。真实账号金币、糖果、发射数和等级已还原;18081 已关闭。回执 `Doc/Design/G3/editor_frame_sample.json`。
|
||||
|
||||
`VerifyG3.Loop` 用另一个隔离新账号走完教学循环:两发弹珠(糖果 40、金币 80)、捕捉芽芽、训练到 Lv.2、默认阵容通过 1-1、领取教学目标 +5 弹珠。结束钱包为弹珠 26、糖果 50、金币 160、券 0。未领邮件、签到、每日任务和后续关卡。回执 `Doc/Design/G3/first_day_loop.json`。
|
||||
|
||||
- 2026-10-21 5 类正式敌人接入战斗:小角怪/疾跑怪/硬壳怪/角怪队长/大角首领取代几何简模,按 type 显示,走路播 Walk、出手播 Attack(`PrototypeBattle.Enemy.Moving/Strikes` 仅供表现,不影响结算)。隔离 18081 种子账号 1-5 实战验收通过,详见 `Doc/Design/Character/EnemyCharacterProduction.md`。
|
||||
|
||||
## G4 属性挑战(2026-10-21)
|
||||
|
||||
首页「活动」在通过 1-1 后打开五场元素试炼。火、草、岩、电、水各一场,只自动上阵已拥有的对应元素伙伴,主线阵容不变,不消耗弹珠。首次胜利给该元素指定伙伴 10 碎片和一枚徽章;再次胜利只在用时更短时刷新纪录。没有对应伙伴时提示去捕捉,不要求付费。存档从 schema 9 迁到 10,只补空的徽章和纪录,不发奖励。好友和操作活动模板还没做。服务端 `game_tests` 覆盖锁定、缺伙伴、放弃、首次发奖和重复不发奖。
|
||||
|
||||
- 2026-10-21 10 个伙伴全部换成正式模型并接入战斗与肖像(新做藤蔓灵/雷鸣豹/潮汐鲸,烈焰狮等由另一工具完成)。隔离 18081 种子账号 1-5 实战验收通过。
|
||||
|
||||
## 排行榜(2026-10-21)
|
||||
|
||||
首页「排行」读取服务器已确认的主线通关数和五场试炼最短用时。同成绩先比达成时间,再比玩家编号;没有成绩不上榜,页面显示前 20 名。客户端不能提交分数。存档从 schema 10 迁到 11 时,只给已有成绩盖上本次进入的时间,不发奖励。没有时间的旧成绩排在同成绩之后。正在进行的弹珠或战斗也可以看榜,不会被榜单请求结算。当前 8080 仍是上一版程序,要重启后玩家才会看到榜;在那之前点击排行会提示服务正在更新。
|
||||
|
||||
Reference in New Issue
Block a user