7.4 KiB
7.4 KiB
M77 · 战斗表现(权威战斗的呈现层)
Owner 指示(2026-09-14):"我没有说不想进战斗……最终真机验收(含音乐验收)放到最后; 中间你自己开发、自己验证、自己测试。" 本里程碑因此按授权推进,Owner 验收后置。
Player-visible stopping point
玩家在采纳的战场尺度方向(docs/prototype/generation/phase6_ui_direction_01/outputs/05_battle_ui_japanese_scale.png)
下看到完整战斗呈现:手绘战场、公司线(左)与敌线(右)及行军走廊、采纳尺度的演员、
行动/受击/击倒/撤退的事件节拍与地面预警、顶部计数与控制、单位血条与状态、
底部队伍条;战斗音效(合同 §8 的 BAT 60 条)与战斗音乐(区域/BOSS 套件)接上;
暂停/倍速/搜索、路线撤退通道、结算交接保持既有语义与回执。
Frozen scope
- 不改战斗规则、数值、经济、存档与回执语义(复用
runtime/entry/battle_service.gd与事件流)。 - 单尺寸 1280×720;文本/数值/图标仍为引擎渲染,美术只做背景与演员。
- 演员风格 = 已验收的 M69 软 Q(
q_pf_b01..12为同伴基准);敌人按区域 1 目录(EN-R1-01..12、BO-R1-01..02)同风格生成。 - 像素资产不复活。
Ordered steps
- M77-A(COMPLETE)战场构图:Windglass Verge 手绘战场底图(生成)+ 敌我演员落位(左公司线/右敌线/走廊)
- 顶部计数与控制簇 + 单位血条/状态 + 底部队伍条 + 计时/回合徽记;与采纳方向图做尺度实测对比。
- M77-B(COMPLETE)事件节拍:行动/命中/受击/格挡/技能/击倒/撤退的地面预警圈、位移、命中停顿与 VFX(VFX 语言见 phase6_vfx_language_05)。
- M77-C(COMPLETE)音频:BAT 60 条音效生成(ElevenLabs,常设授权)+ 区域 1 战斗音乐套件(MUS-R01-BATTLE/BOSS)+ 接线。
- M77-D(COMPLETE)控制与无障碍:暂停/1x/2x/4x/搜索、战斗日志/字幕、
reduced_motion/reduced_flashes/color_cues/hit_pause开关真实生效。 - M77-E 门:新战斗探针(1.0+1.3 × zh/en;墨迹门 + 尺度门 + 事件播放断言)+ 全流程 attempt(含战斗段)+ 实拍。
M77-A 产出(2026-09-14)
- 生成并入库:Windglass Verge 手绘战场底图(2048×1152)+ 区域 1 全部 12 名普通/精英敌人与 2 名 Boss
的软 Q 立绘(
tools/art/process_sticker.py:品红/角落取色抠图 + 去溢色 + 内容 90% 归一到 512²,与 M69 同配方)。 - 接线:战斗开场与实时战斗用战场底图;同伴演员 = 按职业取 M69 贴纸(进阶职业继承其 base 父职业); 敌人 = 按 EN-R1-xx/BO-R1-xx 取对应立绘(两处占用点:开场与实时战斗)。
- 实测(全流程驱动实拍):公司线 4 人四张不同立绘、敌线各自造型、顶部计数/控制簇、单位名牌与血条、 底部队伍条(头像 + 血条 + 计时 02/09)。
- 机器门:驱动脚本新增
ABG_M77_BATTLE_FIELD_OK allies=4 enemies=2 ally_art=4 corridor=0.53..0.60(人数、真实贴纸、尺寸带、走廊不被穿越、敌线不重复)。
M77-B 产出(2026-09-14)
- 战场美术节点新增节拍系统(自有时钟,无 Tween 生命周期):预警脉冲圈 + 落下箭头、格挡弧、 弹道飞行 + 命中爆闪、法术蓄能环 + 光束、治疗光点、伤害冲击波、击倒标记、恢复光环、开场走廊微光。
- 演员姿态(壳侧、随事件持久):击倒的同伴倒地旋转 + 半透明;出手方冲步位移;受击方染色;
reduced_motion时位移/旋转减半或取消。 - 无障碍:
reduced_motion(大位移抑制)、reduced_flashes(白闪改为描边圈)、hit_pause(命中冻结 0.1s) 由设置传入美术节点并真实生效。 - 机器门:驱动脚本新增
ABG_M77_BATTLE_BEATS_OK beats=32 kinds=damage,guard,guarded_recovery,healing,magic,ranged,result,telegraph(节拍 ≥3、种类覆盖、计数来自壳侧持久计数而非每帧新建的美术节点)。 - 便于人工查看:
ABG_PLAYTHROUGH_BEAT_CAPTURE=1+ABG_PLAYTHROUGH_BATTLE_SPEED=<n>可逐拍截图。
M77-C 产出(2026-09-14)
- BAT 60 条音效生成并校验(65 个文件,0 错误);两条被模型生成为静音(ranged_release / device_exit),
换措辞重生成后通过;命名统一
SFX-BAT-NNN.vNN.mp3。 - 区域 1 战斗/BOSS 音乐:
MUS-R01-BATTLE-base/pulse/threat、MUS-R01-BOSS-base/decisive(响度归一 -18 LUFS); 清单新增battle/boss两个音乐族与层文件记录。 - 运行时清单扩到合同全量 204 条(144 + BAT 60),修掉两个跨族同名事件(UI/BAT 的
inspect_open/close) 的键冲突(战斗族加battle_前缀)。 - 接线:战斗开场/实时按场上是否有
BO-敌人切battle/boss族;每个节拍派发对应 BAT 音效 (预警/格挡/弹道/法术/治疗/重击/击倒 + 恢复),暂停/恢复/倍速/撤退/开战各有控制音。 - 门:
ABG_M77_BATTLE_AUDIO_OK battle_family=true cues=84、ABG_M76_AUDIO_CYCLE_OK families=11 events=84; 音频服务门与全流程门同步到 204。 - 试听:
docs/audio/mixdowns/battle_exchange.mp3(战场音乐 + 交锋音效时序)。
M77-D 产出(2026-09-14)
- 字幕:
captions开关 +caption_detail(critical/full)真实控制战场事件图注与细节文本; 暂停面板的战斗日志(BAT-004)保留为诊断通道。 - 无障碍:
color_cues关闭时同形状、单墨色(色盲安全,不靠色相区分);reduced_motion(大位移/旋转抑制、 击倒姿态收敛)、reduced_flashes(白闪→描边圈)、hit_pause(命中冻结)此前已接。 - 战斗墨迹门:全流程驱动新增战斗屏扫描,支持字号变体(
ABG_PLAYTHROUGH_TEXT_SCALE=1.0|1.3):ABG_M77_BATTLE_INK_OK scale=1.0 violations=0与scale=1.3 violations=0(1.3 档同样干净)。 - 尺度门收紧:同伴/敌人立绘高度占屏比例在采纳带内(同伴 0.12–0.30、敌人 0.10–0.34), 走廊仍不被穿越(0.53–0.60)。
Acceptance checks
- 尺度:公司线可容纳 4 单位、敌线 3 单位,走廊不断裂;单位高度/间距与采纳方向图同比例(±10%)
- 事件:每个事件节拍有可见来源与目标、来源→目标关系可读、目标条有数值变化
- 机器门:战斗探针两档双语 0 违规;全流程 34+ 步 0 阻断;严格诊断 0 泄漏
- 音频:BAT 事件与音乐在战斗内派发(journal 断言),静音时语义仍入账
Issue register
| ID | 状态 | 说明 |
|---|---|---|
M77-I01 |
OPEN | 当前战斗表现为引擎程序化 chrome(BAT-002 重建),无手绘战场/演员 |
M77-I02 |
OPEN | BAT 60 条音效与区域/BOSS 音乐未生成(随 M77-C) |
M77-I03 |
OPEN(Owner 已指出,后置) | 战斗演员现在用的是 M69 头像贴纸(正面站立、无武器/动作姿态),不像战斗单位。Owner 2026-09-14:"先用这个人,后面再换"。替换路径:按采纳方向做战斗演员表——细线 cel 姿态(待机/出手/受击),每个基础职业一套 + 每个敌人一套,按采纳尺度(约屏高 10%)实拍校验 |
M77-I04 |
OPEN | 事件节拍(位移/命中停顿/地面预警/VFX)未做,随 M77-B |